QEMU虚拟化加速方案 - KVM
QEMU执行引擎除了缺省TCG即时翻译外,还支持硬件加速方案kvm[1]及HAXM[2]。硬件加速方案对操作系统、硬件体系结构的要求总结:
* Linux + [Intel VT-d | AMD-V | Cortex-A15]
可采用KVM
* Windows 7及以后 + [Intel VT-d]
可采用HAXM
* 其他Windows
未找到开源可控硬件加速方案
## KVM的性能接近本机
* 公司VirtualOpenSystems曾以双核Cortex-A15(1.2GHz)、1GB RAM为硬件环境测试某SDL图形化动画程序[3]。该程序以Native方式启动,启动时间瞬时完成,在之后运行过程中FPS稳定在43。该程序以QEMU-KVM方式启动后,9.02秒后完成渲染,FPS开始时为35,之后逐渐上升并稳定在42。在性能上,QEMU-KVM与Native相差不大。
* 根据16年某非专业测试,KVM x86能达到95%-98%的HOST性能[4]。
需要留意,以上两项实验的目标分别是KVM-ARM方案和KVM-x86方案。KVM-ARM与KVM-x86之间的性能差异各有优势[5]。
## KVM比TCG快很多
* 根据VirtualOpenSystems的测试结果[3],QEMU-TCG需55秒完成应用启动,启动完成后FPS稳定在3;QEMU-KVM 9秒完成应用启动,启动完成后FPS最终稳定在42。
## LLVM与QEMU
有工作将QEMU执行引擎由TCG替换成LLVM[6]。性能上LLVM比TCG慢很多,TCG方案启动MS-DOS需4s,而LLVM方案需80s(20倍差距);TCG方案启动Windows XP消耗75s,而LLVMf方案消耗45min。LLVM方案绝大多数时间消耗在代码翻译上。
不过采用LLVM作为执行引擎后端的优势在于,可与基于LLVM的程序分析工具对接,如KLEE symbolic execution工具[7]等。
[1. KVM wiki]: https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
[2. Intel HAXM]: https://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager-intel-haxm
[3. kvm-vs-tcg]: http://www.virtualopensystems.com/en/solutions/demos/kvm-vs-tcg-virtualized-guests/
[4. How fast is KVM]: https://forum.level1techs.com/t/how-fast-is-kvm-host-vs-virtual-machine-performance/110192
[5. ARM virtualization: performance and architectural implications]: http://www.cs.columbia.edu/~cdall/pubs/isca2016-dall.pdf
[6. Dynamically Translating x86 to LLVM using QEMU]: https://infoscience.epfl.ch/record/149975/files/x86-llvm-translator-chipounov_2.pdf
[7. KLEE LLVM Execution Engine]: https://klee.github.io/
QEMU虚拟化加速方案 - KVM相关推荐
- 云计算运营—03 KVM虚拟化技术方案介绍
KVM虚拟化技术方案介绍 1.背景介绍 KVM(Kernel-based Virtual Machine) 开源全虚拟化方案 支持体系结构 x86(32位,64位).IA64.PowerPC.S390 ...
- 2020全球开源基础设施技术峰会分享 | 自研软硬一体化加速方案
2020年全球开源基础设施技术峰会及PTG讨论,以线上的形式于10月19-30日举行. 本次线上峰会议程包括100多个主题演讲和讨论环节,参会人员来自100多个国家的30多个开源社区.涉及的开源项目包 ...
- 【重识云原生】计算第2.4节——主流虚拟化技术之KVM
<重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...
- 虚拟化技术:KVM介绍及试用
KVM介绍及试用 服务器虚拟化是云计算最核心的技术,而KVM是当前最主流的开源的服务器虚拟化技术.从Linux2.6.20起,KVM作为内核的一个模块 集成到Linux主要发行版本中.从技术架构(代码 ...
- Qemu虚拟化PowerPc
由于工作需要,需要需要虚拟出一个PowerPc64的系统,在介绍之前,先Qemu.Kvm.vmWare.之前对这三者虚拟化特点并没有特别关注. 是否基于硬件平台 是否全虚拟化 与宿主主机CPU一致 性 ...
- 【虚拟化qemu】(一)--- qemu 虚拟化软件介绍与安装
[虚拟化qemu](一)- qemu 虚拟化软件介绍与安装 本文主要用于记录关于 qemu 虚拟化软件的介绍和安装. 关于 qemu qemu(quick emulator)是一款可执行硬件虚拟化的( ...
- 带你走进虚拟化世界之kvm(转载)
http://chuck.blog.51cto.com/10232880/1720953 带你走进虚拟化世界之kvm 2015-12-08 23:10:46 标签:云计算 虚拟化 kvm 原创作品,允 ...
- Linux 虚拟化网络技术 — KVM + Linux Bridge 的网络虚拟化解决方案
目录 文章目录 目录 KVM 虚拟机应用 Linux Bridge + VLAN 实现网络隔离 TSG: Failed to restart network KVM 虚拟机应用 Linux Bridg ...
- 虚拟化概念和KVM简述
文章目录 一: 虚拟化概念 1.1 虚拟化简述 1.2 虚拟化技术分类 1.3 虚拟化的优势 1.4 虚拟化的三种通用模型 1.5 虚拟机的特征 二:KVM概述 2.1. KVM 的简述 2.2KVM ...
最新文章
- [MOSS 译]如何:在WEB内容查询部件中使用自定义的字段
- windows 下 安装mysql 出现 “ ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password
- 在MyEclipse(2015)中上传项目到github的步骤(很详细)
- enum class
- 电脑基本快捷键,你知道多少?
- linq 根据指定条件返回集合中不重复的元素
- 金蝶云星空python二开根据物料旧编码链接物料编码做单据
- 基于SSM的校园二手交易平台
- 树莓派能学linux吗,用树莓派能高效学习Linux和Python吗?
- microsoft store 微软应用商店打不开?所有教程都尝试了一遍,居然是因为这个
- UE4_UE5制作3DUI-跟随相机朝向(附工程)
- 鸿蒙之初彩蛋攻略,鸿蒙圣女 热血精灵派鸿蒙灵帝解析
- 美团2023届笔试题解
- ajax excel导出问题,AJAX导出excel问题
- 一年三 季 醋 泡 姜
- [转载]Buffon投针实验:究竟为什么是pi?
- 2021年六级翻译:海南岛
- 基于 Gin 的会议室预约 API 设计 (二)
- 山外调试助手虚拟示波器串口通信协议
- 条码标签剥离机是什么