从利用多核加速QEMU的CPU模拟谈起

Kvm、VMware、Virtualbox、Xen、Qemu 等
回复
felonwan
帖子: 261
注册时间: 2008-09-12 12:32
送出感谢: 2 次
接收感谢: 13 次

从利用多核加速QEMU的CPU模拟谈起

#1

帖子 felonwan » 2014-10-30 23:07

说一说自己对于QEMU的理解,八卦八卦多核加速CPU模拟的现状。
目前,QEMU不开虚拟化,默认是双线程的,一个线程模拟CPU,一个负责IO。不论-smp设置的是多少,都由这一个线程负责。对于非同种CPU的模拟,比如X86模拟ARM或者ARM模拟X86,多核的优势基本无用。

QEMU的优势在于CPU模拟,各种CPU都能模拟,效率当然比虚拟化要低很多。比如X86模拟ARM,现在安卓SDK里的模拟器基于QEM,模拟ARM的兼容性要好,但却慢得很,用来测试应用都嫌慢。而在安卓ARM上模拟X86更是慢到家。

所以有的人就考虑用多核加速QEMU的CPU模拟。
也看到10、11年就有IBM和Redhat的人提这个,网上可以查到他们作报告的ppt,但是这方面似乎一直没有热起来,不知道为什么。


查了查,看到的有三个项目,似乎都是中国人弄的,前两个反正都能在IEEE上下到论文。
COREMU,最近的论文和更新在2013年,复旦大学开发的,官方网址:
http://sourceforge.net/p/coremu/home/Home/
这个我尝试编译而且成功了:http://blog.sina.com.cn/s/blog_59cf67260102v1ys.html
原理似乎是这样的:一个线程模拟一个CPU然后绑定到一个物理CPU,如果模拟的核太多,就开始新一轮的绑定。

PQEMU,台湾人的项目,国立中正大学,最近的更新在2年多前了,似乎中间还有很多人贡献了源码。
源码地址:
https://github.com/podinx/PQEMU
编译一直不成功:
http://blog.sina.com.cn/s/blog_59cf67260102v28m.html

HQEMU,连源码都不见了:
http://sourceforge.net/projects/hqemu/?source=navbar
老外好像有人说他们这违反GPL协议。或能这玩意儿也不太重要,也没人认真追究。

为什么人们对多核的模拟不感兴趣呢,因为虚拟化的技术很好用,很成熟。服务器领域更是用不到低效的全模拟。而且硬件在不断变强,
今天单核不强,明天说不定就够用了。
不过只怕CPU工艺的物理极限就快到了,到时只怕还是要依靠多核来提升性能的。

另外CPU核数的增多,以及异种CPU的组合,使得CPU的设计越来越复杂,似乎在向更智能的方向发展,可能会通往仿生人脑结构的方向,人工智能会不会从这诞生呢?
felonwan
帖子: 261
注册时间: 2008-09-12 12:32
送出感谢: 2 次
接收感谢: 13 次

Re: 从利用多核加速QEMU的CPU模拟谈起

#2

帖子 felonwan » 2014-10-30 23:43

好吧,之前看得还不够认真,补充一些资料:
这个现在还活跃着的项目QSim,最近的更新在今年9月:
http://manifold.gatech.edu/projects/qsi ... -emulator/

另外一些项目或研究的论文:
MARSS:http://www.cse.psu.edu/~xydong/files/pr ... 11/201.pdf
qemu-tower: https://upcommons.upc.edu/pfc/bitstream ... arcelo.pdf
GPU?更高大上了:http://infoscience.epfl.ch/record/17578 ... roc-sp.pdf
姑且叫做JackQEMU:http://www-users.cs.umn.edu/~hsu/pub/JackQEMU.pdf

好吧。废话那么多,反正好像现在就是没有真正能应用的多核加速QEMU模拟的技术(注意不是虚拟化哦,我们是要模拟异种CPU的)。
liumere
帖子: 1
注册时间: 2017-03-31 9:48
系统: windows
送出感谢: 0
接收感谢: 0

Re: 从利用多核加速QEMU的CPU模拟谈起

#3

帖子 liumere » 2017-03-31 10:21

前辈您好,看到了您关于PQEMU和COREMU的两篇文章,感触良多。我最近也在研究关于QEMU的多核加速问

题,虽然尝试过Qsim、COREMU等开源研究项目,但是并没有发现好的效果,自己本身也在做QEMU的开发。
不知道前辈最近还在继续吗,有没有好的经验或者想法?
联系方式:410009012@qq.com
回复

回到 “虚拟机和虚拟化”