[发明专利]一种降低VCPU热度的KVM虚拟机热迁移优化方法在审

专利信息
申请号: 201711153352.0 申请日: 2017-11-18
公开(公告)号: CN107832118A 公开(公告)日: 2018-03-23
发明(设计)人: 李传云;杨朝晖 申请(专利权)人: 浙江网新恒天软件有限公司
主分类号: G06F9/455 分类号: G06F9/455;G06F9/48
代理公司: 杭州求是专利事务所有限公司33200 代理人: 刘静,邱启旺
地址: 310012 浙江省杭*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 降低 vcpu 热度 kvm 虚拟机 迁移 优化 方法
【说明书】:

技术领域

发明涉及KVM虚拟化系统,尤其涉及一种降低VCPU热度的KVM虚拟机热迁移优化方法。

背景技术

KVM虚拟机热迁移主要包括内存迁移、设备状态迁移、关闭虚拟机、恢复虚拟机几个阶段,根据这几个阶段的不同顺序,热迁移算法主要可以分为两类,即预拷贝(pre-copy)迁移算法和后拷贝(post-copy)迁移算法。KVM热迁移通过预拷贝(pre-copy)迁移算法实现,通常情况下,在迭代拷贝阶段,脏页会越来越少,但在虚拟机高负载情况下,迭代拷贝阶段内存被频繁访问,或是网络带宽较低、网络拥堵,脏页达不到停止拷贝的阀值,这将导致迁移时间过长,造成热迁移不能有效完成问题。

发明内容

本发明的主要目的在于针对KVM虚拟机热迁移算法中热迁移不能有效完成的问题,提出一种自适应降低VCPU热度优化方法。

本发明的目的是通过以下技术方案来实现的:一种降低VCPU热度的KVM虚拟机热迁移优化方法,该方法首先获取脏页量,若脏页量低于最大停机脏页量阀值,则进入停机拷贝阶段,否则每隔100ms检测一次slowdown的标志,slowdown代表是否开启降低VCPU热度的机制;若slowdown为false,则判断前两次和本次的脏页量,若脏页量连续两轮上升,说明脏页产生速率很快,将slowdown设置为true,开启降低VCPU热度的机制,往每一个VCPU线程插入一个stub_time时长的sleep,同时初始化stub_time;接下来的每一轮迭代前均需判断上一轮脏页量与本轮脏页量的关系,若脏页量减少,stub_time的值保持不变;若脏页量未减少,则指数增加stub_time,stub_time的大小不能超过160ms。

本发明的有益效果是:对于一些内存高负载的虚拟机,如正在执行编译内核任务的虚拟机,由于其脏页产生速率高于内存传输速率,因此迁移不能有效完成。本发明通过往VCPU线程周期性插入sleep任务,减少虚拟机运行时间,从而达到降低脏页产生速率的目的,使热迁移顺利结束;改进后,即使在内存高负载情况下,可以顺利结束迁移。

附图说明

图1为KVM虚拟机热迁移流程;

图2为自适应降低VCPU热度优化方法流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细说明。

(1)VCPU线程执行自定义任务

QEMU中的VCPU线程的工作主要是负责调用KVM模拟CPU的执行,主要依靠一个while循环,如下所示:

其中kvm_cpu_exec负责调用KVM_RUN陷入VMX非根操作模式去执行客户机代码,而qemu_kvm_wait_io_event负责执行额外的任务;QEMU中的CPU包括一个queued_work_first成员,表示该CPU需要执行的任务队列,每次进入CPU之前qemu_kvm_wait_io_event都要先执行该工作队列;因此可以将一些自定义任务加入这个队列,VCPU线程每次从KVM返回后,要先执行完自定义的任务才能再次进入KVM。

(2)执行stub job降低VCPU热度

本发明将利用VCPU线程执行自定义任务的特性,通过插入stub job形式,减少虚拟机VCPU的运行时间,达到降低VCPU热度、减小脏页产生速率的目的。一个stub job是指占据CPU时间,但不运行的任务,在优化方案中,本发明定义了如下所示的stub job,即通过执行了一个stub_time时间片段的sleep,在这段时间内VCPU将被挂起,虚拟机无法执行,脏页率迅速下降。

由于是强行往vcpu线程插入stub job,脏页会迅速减小,但这也意味着虚拟机的性能将受到较大影响,因此需要选择合适的时机开启该项功能。假如迁移一开始就开启该项功能,虚拟机功能将受到很大影响,只有当脏页产生速率大于或等于脏页传输速率时,开启该功能才有较大的意义。此外,stub_time的值该如何确定,假如stub_time时间太短,降低VCPU热度的效果不明显;假如太长,会对虚拟机性能造成重大影响。针对上述情况,本发明提出了一种自适应降低VCPU热度的方法,在适当的时机开启降低VCPU热度的机制,同时会将stub_time初始化为一个值,然后根据迁移时脏页产生速率动态调整stub_time的值。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江网新恒天软件有限公司,未经浙江网新恒天软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711153352.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top