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相关推荐

  1. 云计算运营—03 KVM虚拟化技术方案介绍

    KVM虚拟化技术方案介绍 1.背景介绍 KVM(Kernel-based Virtual Machine) 开源全虚拟化方案 支持体系结构 x86(32位,64位).IA64.PowerPC.S390 ...

  2. 2020全球开源基础设施技术峰会分享 | 自研软硬一体化加速方案

    2020年全球开源基础设施技术峰会及PTG讨论,以线上的形式于10月19-30日举行. 本次线上峰会议程包括100多个主题演讲和讨论环节,参会人员来自100多个国家的30多个开源社区.涉及的开源项目包 ...

  3. 【重识云原生】计算第2.4节——主流虚拟化技术之KVM

    <重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...

  4. 虚拟化技术:KVM介绍及试用

    KVM介绍及试用 服务器虚拟化是云计算最核心的技术,而KVM是当前最主流的开源的服务器虚拟化技术.从Linux2.6.20起,KVM作为内核的一个模块 集成到Linux主要发行版本中.从技术架构(代码 ...

  5. Qemu虚拟化PowerPc

    由于工作需要,需要需要虚拟出一个PowerPc64的系统,在介绍之前,先Qemu.Kvm.vmWare.之前对这三者虚拟化特点并没有特别关注. 是否基于硬件平台 是否全虚拟化 与宿主主机CPU一致 性 ...

  6. 【虚拟化qemu】(一)--- qemu 虚拟化软件介绍与安装

    [虚拟化qemu](一)- qemu 虚拟化软件介绍与安装 本文主要用于记录关于 qemu 虚拟化软件的介绍和安装. 关于 qemu qemu(quick emulator)是一款可执行硬件虚拟化的( ...

  7. 带你走进虚拟化世界之kvm(转载)

    http://chuck.blog.51cto.com/10232880/1720953 带你走进虚拟化世界之kvm 2015-12-08 23:10:46 标签:云计算 虚拟化 kvm 原创作品,允 ...

  8. Linux 虚拟化网络技术 — KVM + Linux Bridge 的网络虚拟化解决方案

    目录 文章目录 目录 KVM 虚拟机应用 Linux Bridge + VLAN 实现网络隔离 TSG: Failed to restart network KVM 虚拟机应用 Linux Bridg ...

  9. 虚拟化概念和KVM简述

    文章目录 一: 虚拟化概念 1.1 虚拟化简述 1.2 虚拟化技术分类 1.3 虚拟化的优势 1.4 虚拟化的三种通用模型 1.5 虚拟机的特征 二:KVM概述 2.1. KVM 的简述 2.2KVM ...

最新文章

  1. [MOSS 译]如何:在WEB内容查询部件中使用自定义的字段
  2. windows 下 安装mysql 出现 “ ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password
  3. 在MyEclipse(2015)中上传项目到github的步骤(很详细)
  4. enum class
  5. 电脑基本快捷键,你知道多少?
  6. linq 根据指定条件返回集合中不重复的元素
  7. 金蝶云星空python二开根据物料旧编码链接物料编码做单据
  8. 基于SSM的校园二手交易平台
  9. 树莓派能学linux吗,用树莓派能高效学习Linux和Python吗?
  10. microsoft store 微软应用商店打不开?所有教程都尝试了一遍,居然是因为这个
  11. UE4_UE5制作3DUI-跟随相机朝向(附工程)
  12. 鸿蒙之初彩蛋攻略,鸿蒙圣女 热血精灵派鸿蒙灵帝解析
  13. 美团2023届笔试题解
  14. ajax excel导出问题,AJAX导出excel问题
  15. 一年三 季 醋 泡 姜
  16. [转载]Buffon投针实验:究竟为什么是pi?
  17. 2021年六级翻译:海南岛
  18. 基于 Gin 的会议室预约 API 设计 (二)
  19. 山外调试助手虚拟示波器串口通信协议
  20. 条码标签剥离机是什么

热门文章

  1. pip命令安装pygeme后 IDLE import pygame报错
  2. SpringBoot 阶段总结
  3. axios的拦截器(Interceptors)
  4. 关于quick-cocos2d-x
  5. python 第13天作业
  6. 随便讲讲自己了解的ajax在JQ中的应用
  7. 后缀自动机概念的温习
  8. HDU4472_Count
  9. 大型网站技术架构(二)--架构模式(转)
  10. ApacheCN 捐赠名单 2019