虚拟机动态迁移策略优化研究
2016-01-18庞峰顾炜江
庞峰++顾炜江
摘要: Pre-Copy算法策略采用仅仅比较相邻两轮传递页位图和跳过页位图的方式来判断内存页是否需要复制传递。优化之后的Pre-Copy算法策略是根据所有记录的内存页修改次数来判定脏页,当达到某个定义的脏页的阈值时,即进行复制重传。实验结果表明,在高CPU负载、高内存负载和高网络负载的情况下,Pre-Copy算法的优化策略,缩短了虚拟机动态迁移的停机时间和总迁移时间,提高了虚拟机动态迁移的效率。
关键词:虚拟机;动态迁移;策略;优化
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2015)33-0149-03
Optimization of Live Migration Strategy for Virtual Machine
PANG Feng,GU Wei-jiang
(Nanjing Forestry University, Information Centre, Nanjing 210037, China;)
Abstract: Pre-Copy algorithm only two rounds of adjacent transfer bitmap and skip pages bitmap way to judge whether memory pages need to be copied. After optimization of the Pre - Copy algorithm based on all the records to judge dirty pages, the number of pages to modify when reach a certain threshold of dirty pages defined, namely to reproduce the retransmission. The experimental results show that the high CPU load, memory load and high network load conditions, the adaptive optimization algorithm of the Pre - Copy, shortens the virtual machine live migration of downtime and total migration time, improve the efficiency of the virtual machine live migration.
Key words: virtualization; live migration; strategy; optimization
1 概述
虚拟化技术作为云计算的核心技术,为满足用户按需访问云上数据和服务提供了可能。通过虚拟化技术部署的虚拟机与传统计算机相比,虚拟机具有良好的灵活性,它能够在不间断服务运行的情景下完成服务实时动态迁移。主流虚拟化平台,如VMware、KVM及Xen等,都提供虚拟机动态迁移功能,已经被应用于局域网环境中跨物理主机的虚拟机迁移 [1][2],但是高CPU负载、高内存负载和高网络负载等条件下的虚拟机进行迁移的效果并不是很理想。本研究对Pre-Copy算法策略进行了优化,并进行了实验验证。
2 Pre-Copy算法迁移策略
Pre-Copy算法是Push和Stop-and-Copy相结合的一种内存迁移方案 [3]。该算法复制传递策略如图1所示。
Pre-Copy算法的局限性在于高负载情况下,Pre-Copy算法会造成很大的服务器系统开销,甚至会导致延长停机时间和总迁移时间,这主要是由于处在高负载运行状态下需要不断进行被修改内存页的复制传递,达到虚拟机系统运行能力的上限才会停止内存页的复制传递过程进入停机复制阶段。
从Pre-Copy算法的拷贝策略可以看出,在内存页的修改过程中,有可能出现上一轮被修改而本轮没有修改,而下一轮又被修改的交替修改现象,此现象被称为乒乓重传[4]。在此种情况下,需要对内存页每轮都要进行复制传递,造成虚拟机动态迁移的效率大大降低。
3 Pre-Copy算法迁移策略的优化
Pre-Copy算法策略的脏页判定方式存在一定局限性和片面性。[5]同时,进入停机复制阶段的判定条件,不够全面与准确,这都降低了虚拟机动态迁移的效率。[6]本研究对Pre-Copy算法策略进行了优化。通过扩大脏页判断的周期,提高判断内存脏页准确度,整体上使Pre-Copy得到更好的优化效果。
Pre-Copy算法策略优化后的具体流程如图2所示:
图2 Pre-Copy算法策略优化之后的流程图
Pre-Copy优化算法策略:一是尽快迁移需要迁移的页面,二是有效地控制了不必要的迁移,防止“乒乓重传”问题。优化后的Pre-Copy算法策略性能将通过具体的实验数据加以说明。
4 Pre-Copy算法优化策略评测
为了验证Pre-Copy优化算法策略的所具有的优越性,在实验环境下,测试并记录了在不同负载情况下Pre-Copy优化算法策略前后,虚拟机动态迁移的实验数据,并将数据结果进行统计分析。
4.1评测环境创建
虚拟机动态迁移实验将在Xen虚拟化的两台同样配置的物理机上进行,根据不同的实验目的,在虚拟机上安装相应的实验软件。这样不仅能够满足相互迁移的需要,而且还能够进行多次实验以保证实验数据的客观和准确。
4.2评测方案设计
实验主要对停机时间和总迁移时间进行测定与统计分析。为了方便对比出Pre-Copy算法优化前后在不同高负载情况下所表现出的迁移效率,分别从高CPU负载、高内存负载和高网络负载三个方面对Pre-Copy算法策略优化前后的数据进行测试。
高CPU负载下虚拟机动态迁移的实验数据及相关检验结果,如表1、表2、表3和表4所示:
如表3所示,停机时间t检验结果显示Sign(双侧)>0.05,所以停机时间不具有显著性差异,即优化前后在缩短停机时间方面没有优越性。但总迁移时间t检验结果显示Sign(双侧)<0.05,所以优化前后总迁移时间具有显著性差异,即优化后在缩短总迁移时间方面具有显著优越性。
高内存负载下虚拟机动态迁移的实验数据及相关检验结果,如表5、表6、表7和表8所示:
如表7所示,停机时间t检验结果显示Sign(双侧)<0.05,所以Pre-Copy优化前后停机时间具有显著性差异,即优化后在缩短停机时间方面具有显著优越性,同时,总迁移时间t检验结果显示Sign(双侧)<0.05,所以优化前后总迁移时间具有显著性差异,即优化后在缩短总迁移时间方面也具有显著优越性。
高网络负载下虚拟机动态迁移的实验数据及相关检验结果,如表9、表10、表11和表12所示:
如表11所示,停机时间t检验结果显示Sign(双侧)<0.05,所以优化前后具有显著性差异,即优化后在缩短停机时间方面具有显著优越性,但是,总迁移时间t检验结果显示Sign(双侧)>0.05,所以优化前后总迁移时间具有显著性差异,即优化后在缩短总迁移时间方面没有优越性。
4.3评测结果分析
实验结果表明,在高负载环境下,Pre-Copy算法策略优化之后都取得了很好效果,尤其在高内存负载下,停机时间和总迁移时间具有显著的优越性,不过优化之后算法策略也存在不足之处,如高CPU负载下,优化的算法策略没有缩短停机时间。这说明Per-Copy优化算法策略仍然需要进一步优化。
5结束语
本研究对虚拟机动态迁移Pre-Copy算法策略进行了优化设计,并对优化后算法策略分别在高CPU负载、高内存负载和高网络负载情况下进行实验测试并取得较好效果。对Pre-Copy算法进一步优化是我们今后的研究目标。
参考文献:
[1] 姜明,吴春明,胡大民.网络流量预测中的时间序列模型比较研究[J].电子学报,2009,37(11): 2353-2358.
[2]GUPTA A, KAL? L V, MILOJICIC D, et al. HPC-aware VM placement in infrastructure clouds[C]// IEEE Intl Conf on CloudEngineering. San Francisco,California,USA, 2013. 11-20.
[3] 廖剑伟, 陈善雄, 李莉. 基于内存分块相异数据的虚拟机同步机制 [J].通讯学报,2012,33(7): 157-164.
[4] 高翔.基于Xen的虚拟机动态迁移算法优化[D].黑龙江:哈尔滨工业大学,2010.
[5] 胡嘉蛮.虚拟智慧:VMware vSphere运维实录[M].北京:清华大学出版社,2011:393-405.
[6] 程红霞,程红军.云计算技术研究[J].中国新技术新产品,2011(18):32-33.