论文部分内容阅读
随着计算领域资源规模不断扩展、处理能力日益增强,资源种类丰富多样,寻求新型的计算机理与模式成为一大热点研究课题,而虚拟化技术为此提供了良好的契机。随着x86服务器市场的快速增长,x86虚拟机也广受关注与流行。根据是否修改客户操作系统,虚拟机技术分为泛虚拟化和完全虚拟化。完全虚拟化以VMware代表,不需要修改就可以运行各种主流操作系统,但虚拟机性能损耗较大;泛虚拟化以Xen为代表,虚拟机操作系统需要修改少量平台相关代码,与虚拟机监控程序配合工作,性能出色,但受到兼容性和维护性方面的限制。
同时,x86传统架构本身对虚拟化应用存在局限,顺应市场需求,Intel VT技术从芯片级提供了硬件虚拟化辅助,以求达到虚拟机更高效管理和更小开销。利用Xen性能优异和开源特点,Intel Linux VMM小组在其基础上加入了对VT技术的支持,提出了VMX虚拟机模型,目标是实现高性能的完全虚拟化,并支持包括windows的主流系统,弥补Xen泛虚拟化的弊端。
作者在Intel实习期间有幸参与了该项目,主要侧重VMX虚拟机内存虚拟化的研究和性能测试与调优。在VMX内存虚拟化中,论文借鉴了Xen泛虚拟化的内存管理方式,把其中使用Xen hypercall并对客户OS进行修改的内存管理方式,更改为借助VT硬件层的辅助来完成客户OS与监控程序的交互及访存操作,不再需要修改客户OS内核。进而提出了VMX MMU虚拟化模型,灵活实现了虚拟机内存管理,并将内存虚拟化分为与处理器相关层和无关层,提高了可移植性。该模块对系统整体性能有很大影响,我们对其软件级实现影子页表进行了优化,并探讨了硬件内存虚拟化的新机制EPT。
论文对VMX虚拟机进行了性能测试分析,以业界较权威的测试基准为主,对内存虚拟化优化方案进行了基准性能测试,结果证明满足预期目标。通过VMX底层性能调试工具Xentrace,我们对负载客户机进行了跟踪和数据收集、分析,发现一些性能瓶颈和问题,相应的改进或解决了这些问题,提升了系统性能。