基于Intel+VTx技术的VMX虚拟机性能调优

基于Intel+VTx技术的VMX虚拟机性能调优

ID:26863153

大小:2.03 MB

页数:52页

时间:2018-11-29

基于Intel+VTx技术的VMX虚拟机性能调优_第1页
基于Intel+VTx技术的VMX虚拟机性能调优_第2页
基于Intel+VTx技术的VMX虚拟机性能调优_第3页
基于Intel+VTx技术的VMX虚拟机性能调优_第4页
基于Intel+VTx技术的VMX虚拟机性能调优_第5页
资源描述:

《基于Intel+VTx技术的VMX虚拟机性能调优》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、-上海交通大学工学硕士学位论文第一章引言1.1虚拟机的经典模型从IBM在其S360大型机上第一次实现了虚拟机模型算起,虚拟机的发展已经有近40年的历史了[1]。互联网发展起来以后,随着新兴的虚拟机应用不断出现[2,3],虚拟机相关技术得到不断发展,可以说虚拟机正在经历一次复兴。虽然目前虚拟机基于的硬件平台和实现细节多种多样,但基本上都是基于图1-1这个经典的虚拟机模型。虚拟机管理器(VirtualMachineMonitor,VMM)介于物理硬件和虚拟机之间,运行在特权模式,隔离并且管理上层运行的多个虚拟机。它为每个虚拟机虚拟

2、出一套独立于实际硬件的虚拟硬件环境(包括处理器,内存,IO设备)。一个时间片内,一个逻辑处理器上有且只有一台虚拟机在连续运行,直到时间片用完VMM收回控制,调度下一个虚拟机继续运行。虚拟机1虚拟机2虚拟机n应用程序应用程序⋯内核内核内核虚拟机管理器(VMM)物理硬件(处理器,内存,I/O设备)图1-1虚拟机经典模型Figure1-1VM’sclassicmodel与Bochs[21]和SkyEye[22]等仿真器不同的是,虚拟机中的二进制程序绝大多数指令可以不作任何修改直接在物理处理器上运行,而不象在仿真器中那样需要对每条指令

3、翻译,所以虚拟机有很好的潜在性能。实际上,随着硬件性能按照摩尔定律的速度不断提高,在一台物理的机器上运行多个高性能的虚拟机已经成为越来越切实、第1页---上海交通大学工学硕士学位论文有效的方案。此外,虚拟机还有很多其他有用的使用场景:z一个独立的虚拟机上单独运行一个服务。这样可以隔离每个服务配置环境之间的相互影响;把功能紧密结合的服务(比如Apache,WebService与MySQL)放在一个物理机器的不同虚拟机上,既方便了管理员配置服务器,又可实现服务之间的高速通讯。z在不同的虚拟机上运行不同的操作系统。由于历史或人为的原

4、因,很多应用程序只能运行在特定的操作系统上,为了尽可能灵活的选择应用,很可能需要同时运行不同的操作系统。z虚拟机可以隔离不可信任和质量不可靠的代码。一个不正常运行的进程很可能占用过多的硬件资源,以致其他进程不能正常运行。一个有问题的内核模块甚至可以造成整个系统瘫痪。可靠的VMM可以保证虚拟机之间相互不受影响。z虚拟机为调试操作系统和应用程序提供方便。虽然不像仿真器那样可以严格模拟各个时钟周期的硬件行为并且记录下其状态,但相对物理机器,虚拟机的状态更易获得和修改。1.1x86虚拟机的最近进展x86作为一个从面向PC市场发展起来的

5、体系结构,并没有考虑对虚拟机的支持,这确实带来一些问题[4]。虽然运行在非特权模式的虚拟机在执行特权指令的时候处理器能够保证发生陷入把控制权交给VMM,但虚拟机中的程序还是可以通过CPUID,SGDT,SIDT,PUSHCS等一系列指令得到真实的硬件环境[5],而这很可能与VMM为其模拟的虚拟硬件环境是不一致的。另外,x86的内存管理单元(MMU)对虚拟机也没有提供更多灵活的支持,比如软件管理(Software-managed)TLB或标签(Tagged)TLB[6]。当VMM需要在虚拟机之间调度时,那时就意味着刷新整个TLB

6、,然后重建,如果虚拟机调度频繁,这对其性能影响是相当大的[7]。1.2.1VMware为了绕开这些问题,VMware[8]、VirtualPC[9]等x86下的纯虚拟(Fullvirtualization)实现采用实时的机器指令翻译的方法,动态修改虚拟机中编译好的二进制内核。该第2页---上海交通大学工学硕士学位论文作法的好处是它对操作系统的开发是透明的,但它引入了新的复杂性和实时的的开销。主世界虚拟机世界应用程序应用程序内核VMApp内核VMDriver虚拟机管理器物理硬件(处理器,内存,I/O设备)图1-2VMware虚拟

7、机模型Figure1-2VMwareModel如图1-2所示,VMware的结构跟经典虚拟机模型差别很大[10],它是以一个应用程序的形式在主操作系统(HostOS)中安装,运行时由3部分组成:z直接运行在硬件上的VMM,负责在主世界(HostWorld)和虚拟机世界(VMMWorld)之间切换;z以驱动形式加载在HostOS中的VMDriver,负责两个世界之间的通讯;z作为HostOS的应用程序运行的VMApp。两个世界之间的切换需要保存和恢复所有应用程序和操作系统所见的处理器状态,所以这比进程切换代价要大。如果虚拟机中运

8、行的是一个处理器密集型任务(比如一个科学计算程序),这种切换不会频繁发生,虚拟机中的一般指令可以直接高速运行在CPU上,不被打断。虚拟机中的运行的操作系统,我们在这里称为GuestOS。当GuestOS执行特权指令时,处理器产生的陷入使VMM获得控制权。VMware虚拟MMU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。