预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN107832119A(43)申请公布日2018.03.23(21)申请号201711153677.9(22)申请日2017.11.20(71)申请人浙江网新恒天软件有限公司地址310012浙江省杭州市教工路23号百脑汇科技大厦18楼(72)发明人李传云杨朝晖(74)专利代理机构杭州求是专利事务所有限公司33200代理人刘静邱启旺(51)Int.Cl.G06F9/455(2006.01)权利要求书1页说明书4页附图1页(54)发明名称一种降低内存重复拷贝的KVM虚拟机热迁移优化方法(57)摘要本发明公开了一种降低内存重复拷贝的KVM虚拟机热迁移优化方法。在热迁移的迭代拷贝阶段,需要重复拷贝内存脏页,而程序的运行都具有局部性原理,本轮被修改的内存页下一轮很可能再被修改,因此很多脏页的拷贝其实是无意义的;本发明基于局部性原理的内存拷贝策略优化,根据前两轮的脏页信息,为本轮脏页拷贝提供参考,对于连续两轮写脏的内存页不予以拷贝,从而有效减少了拷贝数据量;改进后,当虚拟机修改内存频繁时,该优化可以显著提高热迁移效率。CN107832119ACN107832119A权利要求书1/1页1.一种降低内存重复拷贝的KVM虚拟机热迁移优化方法,其特征在于,该方法包括:在热迁移的迭代拷贝阶段,在原有的脏页位图migration_bitmap基础上,增加两个新的脏页位图:cur_bitmap和pre_bitmap,对于第n轮拷贝,migration_bitmap存储迁移开始后所有的剩余脏页信息;cur_bitmap存放本轮获取的脏页信息,即第n-1轮拷贝中新产生的脏页;pre_bitmap存放第n-1轮获取的脏页信息,即第n-2轮拷贝中新产生的脏页;每一轮迭代拷贝将根据这三种脏页位图的信息决定本轮需要被拷贝的内存页,具体策略见表1:表1优化后内存拷贝策略migration_bitmap01111cur_bitmap‐0011pre_bitmap‐0101拷贝与否否否是是否具体内存拷贝策略如下:(1)当migration_bitmap[n]为0时,表示该内存页没有被修改,不是脏页,因此不拷贝;(2)当migration_bitmap[n]为1,而cur_bitmap[n]和pre_bitmap[n]同时为0的情况不可能出现;(3)当migration_bitmap[n]为1,cur_bitmap[n]为0,pre_bitmap[n]为1时,说明该脏页下一轮很可能不会再修改,因此拷贝;(4)当migration_bitmap[n]为1,cur_bitmap[n]为1,pre_bitmap[n]为0时,说明该脏页是新产生的,这里给予拷贝;(5)当migration_bitmap[n]为1,cur_bitmap[n]为1,pre_bitmap[n]为1时,说明该内存页在前两轮中均被修改,很可能再次被修改,因此不拷贝;迁移刚开始后,初始化migration_bitmap和cur_bitmap为1,pre_bitmap为0,根据表1描述的策略进行内存拷贝,将决定拷贝的内存页相应的migration_bitmap位修改为0,cur_bitmap、pre_bitmap不修改;之后的每一轮迭代,首先将pre_bitmap清空,cur_bitmap信息拷贝给pre_bitmap;然后清空cur_bitmap,进行脏页信息同步,将上一轮迭代修改的脏页信息存入cur_bitmap;migration_bitmap并不清空,将上一轮迭代修改的脏页信息同时存入migration_bitmap;根据表1描述的策略进行内存拷贝;当剩余的脏页数据小于阀值时,则进入停机拷贝阶段,系统会进行最后一次脏页同步,将所有migration_bitmap脏页位为1的内存页,以及虚拟机的CPU、外设状态都拷贝至目的宿主机,迁移工作完成。2CN107832119A说明书1/4页一种降低内存重复拷贝的KVM虚拟机热迁移优化方法技术领域[0001]本发明涉及KVM虚拟化系统,尤其涉及一种降低内存重复拷贝的KVM虚拟机热迁移优化方法。背景技术[0002]KVM虚拟机热迁移主要包括内存迁移、设备状态迁移、关闭虚拟机、恢复虚拟机几个阶段,根据这几个阶段的不同顺序,热迁移算法主要可以分为两类,即预拷贝(pre-copy)迁移算法和后拷贝(post-copy)迁移算法。KVM热迁移通过预拷贝(pre-copy)迁移算法实现,通常情况下,在迭代拷贝阶段,脏页会越来越少,但在虚拟机高负载情况下,迭代拷贝阶段内存被频繁访问,或是网络带宽较低、网络拥堵,脏页达不到停止拷贝的阀值,这将导致迁移时间过长,造成热迁移不能有效完成问题。发明内容[0003