论文部分内容阅读
虚拟机技术能够将硬件资源进行虚拟化,从而可以实现在一台物理主机上运行许多不同的虚拟机。这些虚拟机运行在相互隔离的虚拟硬件环境中,它们可以有不同的操作系统,提供与真实物理主机相同的服务。虚拟机技术提高了主机硬件的利用率,实现了负载的均衡,并且能够简化管理工作。虚拟机的实时迁移是虚拟机技术的一个重要特征。实时迁移能够将一个虚拟机从当前运行的主机中,完整的、不间断的迁移到另外一个主机中运行。评价实时迁移好坏的两个重要指标是总迁移时间和停机时间。目前,dark等人提出的基于预拷贝的动态带宽迁移算法是动态迁移中最常用的算法。该算法被开源虚拟机监视器Xen所采用,其停机时间可缩短到毫秒级。但是,clark算法不能很好地避免传输迁移过程中变化频率较高的内存,也不能减少内存变脏的速度。这将会降低虚拟机迁移的整体效率。本文介绍了虚拟机技术的背景和发展现状,简要介绍了Xen虚拟机以及其实现,并重点介绍了虚拟机动态迁移的原理和实现。然后,结合阅读Xen关于虚拟机迁移部分的源代码,指出了主流的clark算法中关于工作集(Writable Working Set, WWS)判断方面的足之处,本文还通过仿真观察了这些缺陷对内存迁移的影响,并针对这些不足之处提出了一种延时优化算法,详细介绍了延时优化算法的主要设计思想和实现方式。本文还分析了Xen原有CPU调度算法Credit算法,并从减少脏页产生的角度对Credit算法进行了改进,提出了一种减速调度算法。最后,本文通过仿真和搭建实验环境,对比了在不同的脏页率和内存大小下,使用两种优化算法和原算法进行迁移的停机时间和总迁移时间。通过对比可以看出,延时优化算法比原算法在中、高脏页率下的总迁移时间和停机时间有了一定的缩短,延时优化算法结合减速调度算法能够进一步提升迁移性能。