首页 文章

qemu性能相同,有多线程和不一致的行为

提问于
浏览
0

我是qemu模拟器的新手 . 我想在 ubuntu 12.04 中使用qemu在arm平台( cortex-a9 )中模拟我们现有的纯c h264(视频解码器)代码,并且我已经从互联网上的链接成功完成了它 . 我们在应用程序中也有 multithreading(pthreads) 代码来加速进程 . 如果我们启用多线程,我们将获得相同的性能(即单线程)(没有多线程) . Eg. single thread 9.75sec Multithread 9.76sec 由于qemu将支持并行处理,我们无法获得性能 .

完成

步骤如下

1.使用arm-linux-gnueabi-toolchain编译代码2.执行代码qemu-arm -L可执行文件3.qemu版本1.6.1

如果我们想要在多线程中测量性能,是否有任何选项或设置必须在qemu中完成,因为我们希望使用qemu获得单线程和多线程之间的区别,因为我们没有任何arm板 . 此外,如果我们第三次或第四次运行,多线程应用程序挂起,即 inconsistent behaviour in qemu.

我们是否可以依赖这个qemu模拟器,因为它不是周期精确的 .

1 回答

  • 1

    您将无法使用QEMU来估计实际硬件速度 .

    此外,QEMU目前支持在单个线程中运行SMP ...这意味着您的客户操作系统将看到多个CPU,但由于所有仿真都发生在单个线程中,因此不会收到adicional周期 .

    请注意,IO被委托给单独的线程...因此,如果您的VM正在执行cpu和IO工作,您将看到正在使用的主机上至少有1.5个核心 .

    已经有很多关于在qemu中并行化cpu仿真但没有太多成功的研究 . 我建议你购买一些真正的硬件并在那里运行它,特别是那些coretex-a9硬件现在很便宜 .

相关问题