法律状态公告日
法律状态信息
法律状态
2020-07-10
授权
授权
2019-09-27
实质审查的生效 IPC(主分类):G06F9/455 申请日:20190531
实质审查的生效
2019-09-03
公开
公开
技术领域
本发明属于云计算领域,具体涉及一种支持能耗优化的虚拟机模式转移方法。
背景技术
随着互联网技术的快速发展,云计算技术受到广泛的应用,人们对云服务性能和可靠性要求越来越高。但同时过度关注服务性能和系统可靠性使系统的资源利用率低下、能耗浪费严重。因此,如何高效合理的利用系统范围内的各种资源,保证云系统可靠性、性能满足要求下降低系统能耗成为一大关键问题。为此,本发明从上述角度出发,考虑各个模式虚拟机的转移目标问题,即操作模式和热模式虚拟机集中在尽量少的物理机集群上,通过关闭空闲物理机来降低能耗;将冷模式虚拟机集合集中在另一组尽量少的物理机上,通过集体休眠降低能耗。执行上面的资源调整策略来保证系统的性能和可靠性满足需求下,尽量降低系统的能耗。
发明内容
为达到上述目的,本发明所述的一种支持能耗优化的虚拟机模式转移方法,具体包括:支持能耗保障的虚拟机模式转移方法、支持能耗保障的热模式休眠选择方法、支持能耗保障的冷模式唤醒选择方法。云服务系统一旦开启,就会产生基础能耗和动态能耗。当系统处于待机状态时,只会产生基础能耗;当系统执行任务时,既会消耗基础能耗,也会消耗动态能耗;为了降低能耗,需要进一步考虑各个模式虚拟机的转移目标问题。当需要减少热模式虚拟机数量时,需要将热模式的虚拟机切换的到冷模式,本发明考虑在切换时,尽量选择能耗减少较多的方案,采用支持能耗保障的热模式休眠选择算法;当需要增加热模式虚拟机数量时,需要将冷模式的虚拟机切换的到热模式,本发明考虑在切换时,尽量选择能耗增加较小的方案,所以采用支持能耗保障的冷模式唤醒选择算法。
一种支持能耗优化的虚拟机模式转移方法,具体包括如下步骤:
步骤1:初始化参数,b表示一台物理机上虚拟机的数量;
步骤2:判断热模式调整的数量m是否大于0,进行虚拟机的模式转移;
步骤2.1:若热模式调整的数量m大于0,转到步骤2.2;若热模式调整的数量m小于0,转到步骤2.3;
步骤2.2:若热模式调整的数量m小于等于非休眠服务器上冷模式数量的总和a,则选择其中的m个冷模式虚拟机转为热模式;若热模式调整的数量m大于非休眠服务器上冷模式数量的总和a,则将没有休眠的服务器上的冷模式虚拟机转换为热模式,并唤醒一台物理机,将剩余的m-a台冷模式虚拟机转换为热模式;
步骤2.3:减少热模式的数量,并判断剩余非休眠物理机上冷模式的总和和热模式减少的数量是否大于一台物理机上虚拟机上的数量;
步骤2.3.1:若a-m>b,则将服务器上虚拟机迁移出去,睡眠一台服务器,更新各模式集合;
步骤2.3.2:若a-m≤b,则根据热模式休眠选择算法将m台热模式虚拟机转换为冷模式,更新模式集合;
步骤3:部署当前虚拟机系统,物理机的数量为f,要休眠的热模式数量M,第i台服务器资源剩余量Rcpu[i];
步骤4:对每台服务器资源剩余量Rcpu[i],从大到小进行排序得到R′cpu,得到剩余资源量最大服务器上热模式的数量为sum1;
步骤5:若sum1大于等于需要休眠的热模式虚拟机的数量M,则将M个热模式转入冷模式集合,更新各模式集合;若当sum1小于需要休眠的热模式虚拟机的数量M,则将sum1个热模式转入冷模式集合,并更新各模式集合;
步骤6:部署当前虚拟机系统,要唤醒的冷模式数量为N;
步骤7:对每台服务器资源剩余量Rcpu[i],从大到小再次进行排序得到R′cpu,到剩余资源量最大服务器上热模式的数量为sum2;
步骤8:在R′cpu[i]对应编号服务器的虚拟机集合中找到其中的冷模式数量sum2,若sum2大于等于需要唤醒的冷模式虚拟机的数量N,则将N个冷模式转入热模式集合,更新模式集合;若sum2数量小于需要唤醒的冷模式虚拟机的数量N,则将sum2个冷模式转入热模式集合,并更新各模式集合。
有益技术效果:
本发明采用一种支持能耗优化的虚拟机模式转移方法,为了解决系统可靠性不足时,虚拟机从冷模式转移到热模式,选择整个服务器处于睡眠状态中的冷模式虚拟机还是运行的服务器中冷模式下虚拟机问题,对系统的能耗影响很大,本发明在既支持性能保障又满足虚拟机的可靠性的基础上探讨虚拟机模式转移过程中的节能问题,达到了很好的节能效果。
附图说明
图1为本发明实施例的一种支持能耗优化的虚拟机模式转移方法流程图;
图2为本发明实施例的本发明方法与其他方法能耗效果对比图。
具体实施方式
下面结合附图和具体实施实例对发明做进一步说明,一种支持能耗优化的虚拟机模式转移方法,具体包括如下步骤:
步骤1:初始化参数,b表示一台物理机上虚拟机的数量;
步骤2:判断热模式调整的数量m是否大于0,进行虚拟机的模式转移;
步骤2.1:若热模式调整的数量m大于0,转到步骤2.2;若热模式调整的数量m小于0,转到步骤2.3
步骤2.2:若热模式调整的数量m小于等于非休眠服务器上冷模式数量的总和a,则选择其中的m个冷模式虚拟机转为热模式;若热模式调整的数量m大于非休眠服务器上冷模式数量的总和a,则将没有休眠的服务器上的冷模式虚拟机转换为热模式,并唤醒一台物理机,将剩余的m-a台冷模式虚拟机转换为热模式;
步骤2.3:减少热模式的数量,并判断剩余非休眠物理机上冷模式的总和和热模式减少的数量是否大于一台物理机上虚拟机上的数量;
步骤2.3.1:若a-m>b,则将服务器上虚拟机迁移出去,睡眠一台服务器,更新各模式集合;
步骤2.3.2:若a-m≤b,则根据热模式休眠选择算法将m台热模式虚拟机转换为冷模式,更新模式集合;
步骤3:部署当前虚拟机系统,物理机的数量为f,要休眠的热模式数量M,第i台服务器资源剩余量Rcpu[i];
步骤4:对每台服务器资源剩余量Rcpu[i],从大到小进行排序得到R′cpu,得到剩余资源量最大服务器上热模式的数量为sum1;
步骤5:若sum1大于等于需要休眠的热模式虚拟机的数量M,则将M个热模式转入冷模式集合,更新各模式集合;若当sum1小于需要休眠的热模式虚拟机的数量M,则将sum1个热模式转入冷模式集合,并更新各模式集合;
步骤6:部署当前虚拟机系统,要唤醒的冷模式数量为N;
步骤7:对每台服务器资源剩余量Rcpu[i],从大到小再次进行排序得到R′cpu,到剩余资源量最大服务器上热模式的数量为sum2;
步骤8:在R′cpu[i]对应编号服务器的虚拟机集合中找到其中的冷模式数量sum2,若sum2大于等于需要唤醒的冷模式虚拟机的数量N,则将N个冷模式转入热模式集合,更新模式集合;若sum2数量小于需要唤醒的冷模式虚拟机的数量N,则将sum2个冷模式转入热模式集合,并更新各模式集合。
由图2可知,本文调整方法下的工作虚拟机平均能耗远小于对照方法一下的能耗,因为本文动态优化方法包含了基于能耗保障的模式转移策略,尽量将冷模式集中在了一台物理机上,而对照方法一所有虚拟机均处于工作状态没有考虑节能问题能耗最多;对比方法二是传统的备份方法,只考虑了一种备份模式(冷模式),冷模式处于休眠状态,能耗也比较小。计算得出,执行本文提出的策略所产生的能耗相比于对照方法二平均节省3.16%;相比于对照方法一平均节省4.15%。
实验测得服务器空载时的功耗为0.1096;服务器待机时的功耗为0.1106;休眠时的功耗为0.0095;关机时的功耗为0.0095;所以服务器关机和休眠状态下产生的能耗远小于服务器空载和待机状态。
机译: 处理器模式,用于限制虚拟机监视器支持的虚拟机上运行的来宾软件的运行
机译: 限制虚拟机监视器支持的虚拟机上的来宾软件运行的新处理器模式
机译: 用于限制在支持虚拟机监视器的虚拟机上运行的来宾软件功能的新模式处理器