[发明专利]一种降低内存重复拷贝的KVM虚拟机热迁移优化方法在审
申请号: | 201711153677.9 | 申请日: | 2017-11-20 |
公开(公告)号: | CN107832119A | 公开(公告)日: | 2018-03-23 |
发明(设计)人: | 李传云;杨朝晖 | 申请(专利权)人: | 浙江网新恒天软件有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 杭州求是专利事务所有限公司33200 | 代理人: | 刘静,邱启旺 |
地址: | 310012 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种降低内存重复拷贝的KVM虚拟机热迁移优化方法。在热迁移的迭代拷贝阶段,需要重复拷贝内存脏页,而程序的运行都具有局部性原理,本轮被修改的内存页下一轮很可能再被修改,因此很多脏页的拷贝其实是无意义的;本发明基于局部性原理的内存拷贝策略优化,根据前两轮的脏页信息,为本轮脏页拷贝提供参考,对于连续两轮写脏的内存页不予以拷贝,从而有效减少了拷贝数据量;改进后,当虚拟机修改内存频繁时,该优化可以显著提高热迁移效率。 | ||
搜索关键词: | 一种 降低 内存 重复 拷贝 kvm 虚拟机 迁移 优化 方法 | ||
【主权项】:
一种降低内存重复拷贝的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、外设状态都拷贝至目的宿主机,迁移工作完成。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江网新恒天软件有限公司,未经浙江网新恒天软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711153677.9/,转载请声明来源钻瓜专利网。