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 ...
最新文章
- mysql 相关命令
- 我们是否正在进入第四代人工智能?
- ES6笔记(4)-- Symbol类型
- mybatis 批量查询参数语句
- spring beans源码解读之--BeanFactory的注册
- Java 编程的动态性,第 5 部分: 动态转换类--转载
- SpringBoot入门教程(十)应用监控Actuator
- Android 项目框架
- Javascript、Dom、JQuery
- 设计资源类网站|日常必逛设计导航
- Asp.net主题(theme)和皮肤(skin)的使用
- 二叉树 的建立及遍历 过程
- java运用jsp_JSP:JAVA Bean在JSP中的运用
- linux磁盘空间满如何清理,linux磁盘空间不足怎么办,磁盘清理方法
- TypeScript瞎看看
- Centos服务器巡检报告
- 隐藏和isa :进化返祖以及白马非马(c++)
- 生物信息学习--nr/nt 数据库(总+子)构建
- 寒武纪上半年营收1.7亿扣非后亏7.6亿 招银减持套现超3亿
- 安全漏洞-报错页面泄露文件路径
热门文章
- 学习Scala: 初学者应该了解的知识
- Linux more和less
- JavaScript tab页
- HP LasterJet 3050驱动安装技巧,面向win7,8,8.1,10
- 训练caffe:registry.count(type) == 0 (1 vs. 0) Solver type Nesterov already registered
- [BZOJ1635][Usaco2007 Jan]Tallest Cow 最高的牛
- logback 配置详解
- HDU 4255	 A Famous Grid 素数+BFS
- sharepoint 域认证的时候给用户一个友好的登陆界面
- spring boot 2.x 系列 —— spring boot 整合 kafka