虚拟化技术性能分析与比较_第1页
虚拟化技术性能分析与比较_第2页
虚拟化技术性能分析与比较_第3页
虚拟化技术性能分析与比较_第4页
虚拟化技术性能分析与比较_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、现代计算机(总第三七期虚拟化技术性能分析与比较周斌1,张莹2(1.中南民族大学计算机学院,武汉430074;2.华中科学技术大学外国语学院,武汉430074摘要:关键词:虚拟化;Xen;VMmare;虚拟机性能分析收稿日期:2009-02-24修稿日期:2009-04-25作者简介:周斌,博士,讲师,研究方向为虚拟化性能评测与优化介绍全虚拟化和半虚拟化实现机制的不同原理,并设计一组实验,利用lmbench,在不同虚拟化实现方式下,对虚拟机性能分析指标中具有代表性的一组指标进行了测试和分析。并得出结论:虚拟化的实现方法上,半虚拟化的性能相对全虚拟化有明显优势。0引言虚拟化可以在计算机系统的以下几

2、个不同层次上实现1:指令集层的虚拟化、硬件层的虚拟化、操作系统层的虚拟化和程序语言层的虚拟化。以上4中实现方式中,前三种方式的目的都是在同一台物理机上并行运行多个操作系统,而其中的硬件级虚拟化技术比较适合且已经广泛用于X86体系架构。对于基数庞大的X86体系架构用户群体来说,他们更关心的当然是硬件级虚拟化技术的性能了。对于几种不同方式实现的硬件级虚拟机,它们各方面的细节性能与物理机的差距有多大?实现方式的不同对各方面性能有着怎样的影响?它们在哪些方面表现出了自己的优势所在?它们在哪些方面仍需要开发者们的优化?1虚拟化技术性能评测工具简介虚拟化性能评测工具(Benchmark可以分为两大类:(1

3、微观评测工具(Micro-benchmark:在明确定义的环境下测量相互独立的基本操作性能。评测操作系统的micro-benchmark有lmbench6和hbench:OS8等。(2宏观评测工具(Macro-benchmark:在宽松定义的环境下测量一个实际应用程序的整体性能,专门反映这个应用程序代表的系统某些方面的性能。Macro-benchmark测试的方式灵活多变:可以测量一个特定程序运行完成所花费的时间,例如kernel com-pilation;也可以对这个程序进行剖析(Profiling,即记录这个程序运行时的行为,例如gprof,Xenoprof、ATOM等;还可以是测量几种应

4、用同时混合作用时的性能(Consodidation。近几年来,人们对虚拟机性能评测工作取得了一些研究成果5:有人研究了怎样用一个统一的标准来评定多个不同VM的性能;有人比较了有无硬件辅助技术对VMware中VMM的性能影响;还有人专门针对Xen的VMM做了两个性能评定工具包。另一个专门用来评测虚拟机的BenchmarkVMmark9,使用宏观的方法测量几个不同的应用程序,最后根据这几个结果结合它的评分机制给虚拟机打上一个整体的分数。然而,这些研究大都是用宏观的方法评测和分析虚拟机性能的。虽然Xen项目的文章2中有部分微观测试结果,但测试的指标数目较少,涵盖面窄,很难给序言中提到的几个问题提供一

5、个令人满意的答案。另外,我们在测量涵盖面更广的微观指标的同时,也很有必要对虚拟机的实现方式做更加细致和深入的分类,比方说:I/O在虚拟化中是一个难题,而Xen的虚拟块设备(VBD有多种不同的实现方式,并且全虚拟化和半虚拟化的VBD实现原理也有很大的差别,对于那些对磁盘I/O要求较高的(如需要架设文件服务器虚拟机用户,他们需要了解不同VBD实现方式的微观性能差异来做出适当的选择。所以,对Xen的各种VBD实现方式之间进行分析比较就是一件十分有意义的事情了。本文在接下来的部分将描述使用微观评测工具lmbench来对几种不同方式实现的虚拟机现代计算机(总第三七期 来进行性能评测和如下几个方面的分析:

6、(1各虚拟机相对物理机的性能差异;(2半虚拟化与全虚拟化之间的对比;(3在Xen 上,VM 的VBD 的不同大小和实现方式对性能的影响。2虚拟机性能测试与分析2.1lmbench 简介lmbench 是一款针对类Unix 系统的操作系统微观评测工具,它从1996年推出第一个版本以来,都在不断地经历着改进和完善6,7,现在的3.x 版已经是一个比较完善的微观评测工具了。lmbench 测量系统的微观指标涵盖面广,包括:CPU 主频,多种整型运算和浮点运算指令执行时间,多种进程操作和上下文切换时间,多种文件系统操作和通信时间,以及Cache 和主存的访问延迟等。硬件描述:CPU :Intel Xe

7、on CPU ,E53101.60GHz ,8核,支持VT 技术。内存:4GB 。硬盘:Seagate ST3160815A5,160G ,SATA-II 。系统配置:为了进行1.2小节中提到的几个方面的分析,测试工作将在表1中描述的8个平台上运行的VM 中进行,其中Phy 为物理机平台,其他均为虚拟机平台。虽然VMware Workstation 5.5.1提供对Intel VT 的支持,但不提供对8个虚拟CPU 的VM 的支持,这里在VMware 上VM 的虚拟CPU 个数为1。VBD 选择了物理设备(Physical Device和文件镜像(File-backed两种实现方式已经不同容量

8、大小之间作对比。在表1中的8个平台下分别用lmbench 重复测5组数据,这样lmbench 的每个测试指标就对应有5个结果。对每个测试指标中的这5个结果按大小排序,取中间值,作为该指标的最终测试结果。由于lmbench 的测试指标种类繁多,本文对同类指标中选择了一些具有代表性的进行了分析。CPUlmbench 的CPU 主频测试技术已经非常成熟了。它的理论依据是CPU 完成任何操作所花费的时间都为CPU 时钟周期数的倍数。lmbench 巧妙地设计了多个不同类型的微操作,使得它们中间至少有两个微操作完成所花费的时钟周期数互质,然后求得这些动作所花费时间的最大公约数(GCD就得到了CPU 的单

9、个时钟周期长度7。由于测试的是CPU ,VBD 的大小和实现方式对结果没有影响,我们可以简单地在物理机,Xen 的半虚拟化,Xen 和VMware 的全虚拟化之间作比较。如图1所示,各种虚拟机的CPU 频率都比较接近物理CPU 频率,特别是半虚拟化下CPU 的性能开销几乎为0,而全虚拟化则有比较明显的开销。这是因为,半虚拟化和全虚拟化的CPU 状态机制是不同的:在半虚拟化下,VM 的操作系统内核是经过修改的,CPU 不需要知道正在执行的是VM 的程序或者是VMM 的程序;在硬件辅助的全虚拟化下,Intel 的VT 技术把CPU 拓展成两种模式(forms来对应两种不同环境的操作4:VMM 执行

10、的根虚拟化操作(VMX root operation和VM 执行的非根虚拟化操作(VMX non-root operation,CPU 通过虚拟机进入(VM entry和虚拟机退出(VM ex -it在这两种模式之间切换,切换过程中CPU 的状态信息被保存在虚拟机控制结构(VMCS中。可见,由这种切换操作所带来的开销还是相当可观的。因此,半虚拟化的VMM 对VMs 的调度就像是操作系统对进程的调度一样,开销非常小;全虚拟化的VMM 对VMs 的调度则是一个能引起CPU 在两种模式之间的切换的复杂过程,从而虚拟CPU 的主频就低于物理CPU 主频了。表1虚拟机配置表现代计算机(总第三七期另外,全

11、虚拟化下,Xen的开销要小于VMware。虽然可以怀疑是因为VMware的VM只有一个虚拟CPU,这在一定程度上影响了VM的性能;但实践表明,lmbench的CPU频率测试模块在物理单核的机器上依然能够准确测试其CPU主频。所以,Xen与VMware在全虚拟化下的性能差异并不是因为虚拟CPU的个数引起的,它反映的正是两种不同VMM的调度差异。如图2和图3分别显示了L1Cache、L2Cache,和主存的访问延迟,三组数据的走势保持了非常好的一致性,并且和图1的结果相呼应。产生这种结果的解释和CPU的测试结果类似。文件系统lmbench分别测试了文件系统上0K和10K文件的创建删除操作时间,如图

12、4。Linux文件的创建过程是将文件名和索引结点入口写入目录,在索引节点写入文件的相关信息,并分配空闲磁盘块写入文件数据。文件删除过程并不要清除该文件占用的磁盘块内的数据,而只需要删除索引节点对应文件的相关信息。结果中可以看出,相对非虚拟机,Xen的半虚拟化性能终于有了比较明显的差距,而全虚拟化的开销则是非常巨大的。由于是磁盘I/O操作测试,所以不同的VBD实现方式对性能的影响已经可以比较清楚地体现出来了:(1半虚拟化比全虚拟化的磁盘I/O性能好很多。因为半虚拟化修改了操作系统内核,用一个虚拟分区就可以当作domU的虚拟磁盘,所以只需要把物理卷或文件虚拟成一个分区就够了。而全虚拟化的操作系统内

13、核是未修改的,domU必须要一块完整的虚拟磁盘而不是虚拟分区,这就必须把物理卷或文件虚拟成一个磁盘包括虚拟MBR、分区表,以及各个分区等。这样一来,半虚拟化的虚拟分区就比全虚拟化的虚拟磁盘结构要简单很多,并且内核经过了修改优化,因此磁盘操作的开销就小了很多。(2半虚拟化中,VBD的实现方式对磁盘I/O性能有微弱影响:同样50G物理卷地dom0就比domU性能好。因为domU的I/O操作要经过dom0来调度才能完成,这样产生了开销;同样是物理卷VBD的domU,8G比50G的性图4虚拟机文件系统延迟图3虚拟机主存访问延迟图2虚拟机L1和L2缓存访问延迟图1虚拟机CPU频率 现代计算机(总第三七期

14、Analysis and Comparison of VirtualizationTechnologies PerformanceZHOU Bin 1,ZHANG Yin 2(1.College of Computer,South-Central University for Nationality ,Wuhan 430074;2.College of Foreign Languages,Huazhong University of Science &Technology ,Wuhan 430074Abstract :Keywords :Virtualization ;Xen ;VMm

15、are ;Virtual Machine Performance AnalysisIntroduces different principles of virtualization and para-virtualization and a series of testsare designed to analyze the representative metrics in the virtual machine performance.Thus a conclusion is drawn that para-virtualization has the marked advantage i

16、n the realization of virtualization.能好。因为虚拟磁盘越小,寻址越快,而且物理磁臂移臂幅度相对越小,所以性能越优越;同样是8G VBD 的domU ,物理卷方式和文件方式性能几乎没有差别。(3全虚拟化中,VBD 的实现方式对磁盘I/O 性能有很大的影响:Xen 的两个8G VBD 的domU 中,文件方式比物理卷方式在文件创建操作上的用时多了一倍。因为操作系统内核未经过修改,对文件的定位和操作都要多次访问结构复杂的虚拟磁盘,而文件方式实现的虚拟磁盘比物理卷方式实现的更为复杂,因此开销就明显增加了;VMware 的VBD 实现方式也是文件方式,它的性能大致与X

17、en 的文件实现方式相当,而在10K 文件的删除操作上,VMware 性能比Xen 要差很多。3结语从以上测试实验来看,可以得到明确的结论:虚拟化的实现方法上,半虚拟化的性能相对全虚拟化有明显优势。下面从两个角度加以诠释:(1硬件角度如果把虚拟机的硬件部分分为虚拟主机和虚拟外设,那么虚拟主机的性能已经非常接近于非虚拟机,开销主要在虚拟外设上,Xen 的全虚拟化开销稍小于VMware :CPU 和内存访问开销都非常小,半虚拟化几乎和非虚拟机相当,全虚拟化开销稍大。文件系统和本地通信方面,半虚拟化开销较小,全虚拟化开销较大。其中Xen 的半虚拟化中VBD 的实现方式对性能影响不明显,全虚拟化中VB

18、D 实现方式对性能影响明显,物理卷比文件方式开销小。(2操作系统角度虚拟机的操作系统的调度工作普遍都较非虚拟机有明显差距,特别是全虚拟化。Xen 的半虚拟化中VBD 的实现方式对性能影响不明显,全虚拟化中VBD 实现方式对性能影响非常明显;全虚拟化中,VMware 和Xen 的表现各有千秋,在进程操作以及切换上,VMware 性能要好;在内存映射上,Xen 的性能要好。参考文献1Susanta Nanda Tzi-cker Chiueh.A Survey on VirtualizationTechnologies2Paul Barham,Boris Dragovic,Keir Fraser,Steven Hand,Tim Harris,Alex Ho,Rolf Neugebauer,Ian Pratt,An-drew Warfield.Xen and the A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论