论文部分内容阅读
虚拟化技术的实质是为上层提供特定的和多样的执行环境。虚拟化技术能够对各种计算服务资源进行灵活、高效且安全的应用与管理。随着虚拟化技术的逐渐发展成熟与及企业大众对多种功能的需求,虚拟化技术被应用于各种各样的领域,不仅为企业用户提供了极大的便利而且减少了应用成本并提高了收益。目前虚拟化技术已经应用到越来越多的领域,其中就包括服务整合。服务整合是将不同的服务架设在同一物理机的不同虚拟机之上。由于不同服务之间需要通信交互,因此,同一物理机上不同虚拟域之间的通信将会变得十分复杂和频繁,虚拟域之间的通信性能变得十分重要。然而由于通信路径的增加,内核参与的频繁,页映射机制等多方面原因,虚拟机之间的通信性能受到很大的影响。因此对同一物理机上不同虚拟机的域间通信性能优化进行研究具有极大的科研与应用价值。在研究国内外对于虚拟机域间通信的相关工作的基础上,本文在Xen虚拟机环境下进行了域间通信优化的研究,主要研究工作与贡献如下:(1)本文首先对Xen虚拟化环境下同一物理机上不同虚拟机之间的通信过程进行了全面的阐述,并在此基础上对域间通信性能开销做出了详细的分析。Xen虚拟化环境中同一物理机上的不同虚拟域进行域间通信的过程中,传输的消息需要经由TCP/IP协议进行封装,并且需要通过特权虚拟域Dom0的转发和大量的系统调用,还需要采用握手机制来确保信息的传递,这将导致多次上下文切换。这不仅延长了域间通信路径,增加了系统的消耗并且严重影响了虚拟机之间的通信性能。(2)本文首先提出了一个基于Xen虚拟化环境的域间通信优化模型,用来提升同一物理机上不同虚拟机之间的通信性能。本优化模型是基于共享内存所实现的,在两个虚拟机之间的通信过程中数据将使用共享内存的方式直接将共享页面映射到用户空间,绕过了原有的通信机制,缩短了通信路径并且减少无用的系统调用。然后详细地介绍了本优化模型的总体架构并且阐述了本优化模型域间通信的流程。本优化模型大幅增加了通信带宽和吞吐量,减少了通信往返延时,有效的改善并提高了虚拟机之间的通信性能。(3)为证明本文所提出的优化模型具有良好的通信性能,设计并进行一系列的实验。实验从吞吐量、通信往返延时、虚拟域CPU利用率、Hypercall调用次数、上下文切换次数等多方面给出了优化模型与原始TCP/IP通信模式之间的性能对比。实验结果表明,本文所提出的优化模型能够有效得提升同一物理机上不同虚拟机之间的通信性能。