论文部分内容阅读
虚拟机不仅提供高效和安全的计算资源容器,而且可以在多个物理主机之间平滑迁移。虚拟机的动态迁移是基于多个虚拟机的环境中的一个强大的管理工具,它已成为促进系统维护、负载平衡、容错和节能的强大工具,特别是在群集或数据中心中。在基于虚拟机的集群中,多个虚拟机共享一个物理资源池,由于动态变化的工作负载,一些节点通常没有得到充分利用,而其他节点可能变得负载过重。为了平衡节点之间的负载,基于定期收集的资源使用状态,一些虚拟机将从过载机器迁移到轻负载机器。同时也会因为节点的健康状态、电源预算等诸多问题,需要进行虚拟机的动态迁移。目前预拷贝算法被Xen、VMware等虚拟化平台的虚拟机动态迁移广泛应用。论文将当前主流的Xen虚拟化平台选作实验平台来对虚拟机的动态迁移进行研究,主要针对高负载和负载波动的情况。在高负载和负载波动的情况下,预拷贝算法在迭代拷贝阶段会出现大量内存重复传输的情况,将导致迭代拷贝传输过程中由于传输时间过长造成下次传输产生更多的重复内存,造成恶性循环,影响迁移效率,甚至有可能造成迁移失败。所以在高负载和负载波动的情况下,影响传输效率的重要因素是在迭代拷贝阶段的每轮迭代传输的时间。当前优化传输效率的方法有对“赃”内存出现的概率进行预测来避免重复发送、对有限的带宽进行合理分配来平衡传输速度和对每轮传输内存进行压缩后传输来提高传输速度等。论文通过改进的带宽动态分配算法,来对每轮传输的带宽进行动态分配,平衡每轮传输时间,防止因为某次传输时间过长导致下一次“脏”内存变得很大,形成恶性循环的情况。同时综合改进的自适应压缩内存算法,对每轮迭代传输的内存分配适合它的压缩算法,减少迭代传输时间,缩短总迁移时间。论文最后通过实验对改进后两种的算法与预拷贝算法进行性能测试。实验结果表明,改进后的算法的传输时间和停机时间在高负载和负载波动的情况下相比原预拷贝算法有不同程度的优化,能够提升虚拟机动态迁移的性能。