user3534632
user3534632

Reputation: 1

qemu performance same with and without multi-threading and inconsistent behaviour

I am new to qemu simulator.I want to emulate our existing pure c h264(video decoder)code in arm platform(cortex-a9) using qemu in ubuntu 12.04 and I had done it successfully from the links available in the internet. Also we are having multithreading(pthreads) code in our application to speed up the process.If we enable multithreading we are getting the same performance (i.e)single thread(without multithreading). Eg. single thread 9.75sec Multithread 9.76sec Since qemu will support parallel processing we are not able to get the performance.

steps done are as follows

1.compile the code using arm-linux-gnueabi-toolchain 2.Execute the code qemu-arm -L executable 3.qemu version 1.6.1

Is there any option or settings has to be done in qemu if we want measure the performance in multi threading because we want to get the difference between single thread and multithread using qemu since we are not having any arm board with us. Moreover,multithreading application hangs if we run for third time or fourth time i.e inconsistent behaviour in qemu.

whether we can rely on this qemu simulator or not since it is not cycle accurate.

Upvotes: 0

Views: 3181

Answers (1)

cb88
cb88

Reputation: 456

You will not be able to use QEMU to estimate real hardware speed.

Also QEMU currently supports SMP running in a single thread... this means your guest OS will see multiple CPUs but will not recieve adicional cycles since all the emulation is occuring in a single thread.

Note that IO is delegated to separate threads... so usually if your VM is doing cpu and IO work you will see at least 1.5+ cores on the host being used.

There has been alot of research into parallelizing the cpu emulation in qemu but without much sucess. I suggest you buy some real hardware and run it there especially consiering that coretex-a9 hardware is cheap these days.

Upvotes: 1

Related Questions