论文部分内容阅读
作为云计算的核心技术之一,虚拟化是计算机系统技术领域当前的研究热点。虚拟化技术的资源共享、对异构平台的抽象性、隔离性和在线迁移等特性,使之广泛应用于各个数据中心。然而,虚拟机的性能开销一直都是无法回避的问题,制约着虚拟化技术的进一步发展和推广。同时,作为虚拟化的一个重要应用,虚拟机在线迁移拷贝了大量无效和冗余的数据,增加了迁移的时间开销,其消耗的I/O带宽对应用程序的性能也产生了较大影响,使得虚拟化平台的资源管理不能取得最优的效果。
本文针对虚拟机各个子系统虚拟化以及迁移本身的性能问题展开研究,主要贡献包括:
(1)提出了通用接收组包机制和授权页面共享机制以优化虚拟化的网络接收性能。网络虚拟化中接收网络包的性能较差且CPU开销过大,本文提出的两个优化方法,使得无论接收的网络包采用什么协议都能组包,并使尽可能多的网络包共享同一授权页面,有效降低了软件网桥、链路层防火墙和授权页面等操作所消耗的CPU资源,并且不引入任何网络延迟,对虚拟机在线迁移透明。用Iperf进行的网络性能评测表明,与Xen相比,优化后每接收一个网络包所需的CPU开销减少了31.20%,UDP和TCP带宽分别平均提高了37.73%和25.62%。
(2)提出了基于数据去冗余的虚拟机在线迁移方法。在有共享存储的虚拟机在线迁移过程中,发现了初始内存映像以及不同迁移轮次中同步的内存页面之间的自相似性,利用基于哈希的数据指纹技术和RLE编码,快速发现并去除迁移过程中冗余的内存映像数据。典型负载的虚拟机迁移实验表明,同Xen默认迁移算法相比,该方法平均减少了56.60%的迁移数据量、34.93%的迁移时间和26.16%的停机时间。
(3)提出了文件系统感知的快速全系统在线迁移方法。在没有共享存储的虚拟化平台上,针对虚拟机全系统在线迁移中大量空闲磁盘块被同步的问题,利用文件系统磁盘块分配位图,只迁移实际使用的磁盘块,在特权虚拟机的块设备层中消除了对非特权虚拟机文件系统部分信息的语义缺失,与传统的黑盒迁移方式相比,在常见的磁盘利用率下减少了近50%的迁移数据量和迁移时间,同时使用流水压缩方法进一步提高了广域网等网络受限环境中虚拟机全系统在线迁移的性能。
(4)提出了轻量级虚拟化方法。针对特权指令虚拟化必须陷入虚拟机监控器而导致性能开销过大的问题,探讨一种新的轻量级虚拟机架构,利用空间维度的资源复用代替时间维度的资源共享以简化虚拟机监控器的设计,同时采用基于租赁的内存共享协议和基于分区的隔离策略,保证内存资源的动态流动和虚拟机之间的性能隔离。实验表明,该方法消除了CPU和内存子系统虚拟化的性能开销,显著提高了整个虚拟化系统的性能。