法律状态公告日
法律状态信息
法律状态
2020-05-01
授权
授权
2017-12-26
实质审查的生效 IPC(主分类):G06F9/455 申请日:20170524
实质审查的生效
2017-12-01
公开
公开
技术领域
本发明涉及信息处理技术领域,具体涉及一种基于匿名随机变量的虚拟机节能调度方法。
背景技术
传统的虚拟机调度方法通常将主要精力集中于构建高服务质量的集
群,只关心过载主机,每次对集群物理主机数据采样后,只能对过载主机进行调度,而对节能不够重视,对于迁移目标主机,通常使用非常启发式的简单的节能策略(如选择正在运行的负载最低的物理主机),不能有效地关闭集群中大量不必要的物理主机,导致巨大的电能浪费。
并且,传统调度方法在面对节能和服务质量两个调度目标时,往往会顾此失彼,没有使用定量的方法,对调度目标的描述十分模糊,不能有效地在技能和服务质量之间进行权衡,这使得传统方法很难同时兼顾云计算数据中心的服务能力与能量消耗。
发明内容
为解决现有技术的不足,本发明提供了一种基于匿名随机变量的虚拟机节能调度方法,包括如下步骤:
S1:读取集群中的物理主机数据,根据各物理主机的负载值将其分为过载主机、正常主机、低负载主机以及休眠主机四类;
S2:遍历所有的过载主机,从各过载主机上选择一台虚拟机,尝试将这台虚拟机迁移到集群中的其它主机;
S3:遍历所有的正常主机,预测其下个采样周期的过载概率,如果过载概率大于或等于松弛参数,则尝试从该正常主机上迁移出一台虚拟机;
S4:随机选择一台低负载主机,尝试顺次将运行在上面的所有虚拟机迁移到集群中的其它主机中,若能够全部迁移,则将该低负载主机关机,使其变为休眠主机;
S5:等预定时间后,重复步骤S1-S4。
其中,所述步骤S1中,若集群的物理主机均为过载主机,则向集群中增加休眠主机;
所述步骤S2-步骤S4中,迁移出虚拟机之前,先判断目标主机迁移后的过载概率,若迁移后的过载概率大于或等于松弛参数,则重新寻找目标主机;若所有的目标主机迁移后的过载概率均大于或等于松弛参数,则停止迁移或向集群中增加休眠主机;
所述步骤S2-S3中,虚拟机迁移时,先向正常主机迁移,若没有正常主机或所有的正常主机迁移后的过载概率均大于或等于松弛参数,则向低负载主机迁移,若没有低负载主机或所有的低负载主机迁移后的过载概率均大于或等于松弛参数,则向休眠主机迁移;若没有休眠主机或所有的休眠主机下个采样周期的过载概率均大于或等于松弛参数Psta,则向集群中增加休眠主机;
所述步骤S4中,在选择一台低负载主机后,先判断经过步骤S2-步骤S3后,该低负载主机是否还处于低负载状态,若是,则进行虚拟机的迁移操作,若不是,则寻找下一个低负载主机;若所有的低负载主机均变成正常负载状态,则选择一台已呈正常负载状态的低负载主机迁移。
其中,所述步骤S4中,若经过步骤S2-步骤S3,仍有低负载主机仍处于低负载状态,则选择其中一台,将其虚拟机顺次先向正常主机迁移,若没有正常主机或所有的正常主机迁移后的过载概率均大于或等于松弛参数,则向其它低负载主机迁移,若无其它低负载主机或其它所有的低负载主机迁移后的过载概率均大于或等于松弛参数,则停止迁移;
若经过步骤S2-步骤S3,所有的低负载主机均变成正常负载状态,则选择一台正常负载状态的主机,将其虚拟机顺次向其它呈正常负载状态的主机迁移,若无其它呈正常负载状态的主机或所有其它正常负载状态的主机迁移后的的过载概率均大于或等于松弛参数,则停止迁移。
其中,所述步骤S1中,通过各物理主机的负载值与该物理主机的CPU过载阈值和欠载阈值对物理主机进行分类,其中,
物理主机的负载值计算方法为:
若物理主机的负载值小于或等于欠载阈值,则该物理主机为低负载主机;
若物理主机的负载值介于欠载阈值和过载阈值之间,则该物理主机为正常主机;
若物理主机处于关机状态,则该物理主机为休眠主机。
其中,所述步骤S3中,通过历史负载和最大熵原则计算正常主机下个采样周期的过载概率。
其中,所述步骤S2-步骤S4中,通过历史负载和最大熵原则计算目标主机迁移后的过载概率。
其中,所述松弛参数根据下述计算方法引入:
其中,
本发明的有益效果是,可以在保证云数据中心服务质量的同时,有效降低云数据中心的能量消耗,节能环保,有助于绿色节能数据中心的构建。
附图说明
图1:本发明的方法与现有的方法过载次数对比图;
图2:本发明的方法与现有的方法能量消耗对比图。
具体实施方式
为了对本发明的技术方案及有益效果有更进一步的了解,下面配合附图详细说明本发明的技术方案及其产生的有益效果。
为了克服传统调度方法的不足,本发明构建了基于匿名随机变量的节能调度模型,并引入了松弛因子、过载阈值和欠载阈值,以在节能调度过程中充分权衡集群服务能力与数据中心能耗。
本发明的核心构思在于,在保证各运行的物理主机均处于正常负载的情况下,使休眠主机的数量尽可能多,从而在保证集群服务能力的情况下最大程度减少数据中心能耗。
为实现上述构思,本发明的技术方案主要包括两部分。
一方面,本发明构建了一种基于匿名随机变量的负载预测模型。该模型首先假设虚拟机负载在一段时间内是一个服从某未知分布的匿名随机变量,通过对同一台物理主机上的所有虚拟机负载求和,可得到物理主机负载随机变量。故可以将虚拟机历史负载作为随机样本,根据历史负载及最大熵原则计算并输出物理主机负载大于过载阈值的概率。
另一方面,在上述负载预测模型的基础上,设计了一种新型节能调度方法:首先,读取数据中心的物理主机数据,并根据负载高低对主机分类;然后,尝试从过载主机上迁出虚拟机;接下来,预测正常主机的过载概率,并对高过载概率的主机进行虚拟机迁移;最后,尝试关闭低负载主机。此过程中迁移决策的制定需参考负载预测模型的输出结果,尽量保证迁移目标机的过载概率小于事先设定的松弛因子,即SLA质量参数psla。
一、负载预测模型的构建
本发明对负载预测模型的构建基于如下假设:在采样时刻[t-n+1,t+1],虚拟机负载
其中,
不失一般性,用云计算数据中心中物理主机的过载时间评估其SLA维护能力。下面介绍物理主机的过载和欠载两种状态的判断方法。
设hosti在时刻t的CPU负载观察值为
其中,usagetop为物理主机的CPU过载阈值,该阈值对应SLA中规定的虚拟机服务能力。同理,当主机负载满足下列不等式时处于欠载状态:
usagebot为物理主机的欠载阈值,当物理主机欠载时,我们应该尝试将其关闭以节能,或者在上面创建或引入新的虚拟机。
本发明中,所谓的负载值X表示的是一个随机变量,代表物理主机负载值的一个抽象的概念,所谓的负载观察值usage表示的是物理主机某一时刻的确定的负载值X,物理主机多个不同时刻的负载观察值usage构成了负载值X的正态分布。
二、松弛参数的引入
松弛参数c的引入以权衡服务质量与节约能耗两个调度目标为原则,它代表集群中出现过载主机的概率的上限,其中,集中群中某一时刻出现过载主机的概率通过下述公式计算:
其中,
松弛参数C为人为引入的一个值,其意义在于,尽可能控制集中群中每个采样点t对应的Psla的值均小于松弛参数C。
当松弛参数C取较小的值时,算法优先保证SLA维护能力;而当松弛参数C取较大值时,算法优先考虑节能效果。
三、节能目标的设定
为了实现每个采样点t时,Psla的值均小于松弛参数C,在虚拟机迁移过程中,需要保证各个物理主机在下一个采样点t+1上为负载主机的概率也小于松弛参数,也即,本发明的的节能调度目标可以描述为以下约束最优化问题:
其中,
上述约束目标可以通过每次调度采样时,结合过载调度、负载预测(基于上述负载模型)、欠载清空等技术进行实现,具体实现方法如下:
S1:读取集群中的物理主机数据,根据各物理主机的负载值将其分为过载主机、正常主机、低负载主机以及休眠主机四类,其具体的判断方法详见上述负载模型的构建部分;若集群的物理主机均为过载主机,则向集群中增加休眠主机。
S2:遍历所有的过载主机,从各过载主机上选择一台虚拟机,尝试将这台虚拟机迁移到集群中的其它主机。
S3:遍历所有的正常主机,通过历史负载及最大熵原则预测其下个采样周期的过载概率,如果过载概率大于或等于松弛参数,则尝试从该正常主机上迁移出一台虚拟机。
S4:随机选择一台低负载主机,尝试顺次将运行在上面的所有虚拟机迁移到集群中的其它主机中,若能够全部迁移,则将该低负载主机关机,使其变为休眠主机;
S5:等预定时间后,重复步骤S1-S4。
本发明中,所述步骤S2-步骤S4中,在迁移出虚拟机之前,先判断目标主机迁移后的过载概率(通过历史负载和最大熵原则计算),若迁移后的过载概率大于或等于松弛参数,则重新寻找目标主机;在步骤S2-步骤S3中,若所有的目标主机迁移后的过载概率均大于或等于松弛参数,则向集群中增加休眠主机;在步骤S4中,若所有的目标主机迁移后的过载概率均大于或等于松弛参数,则停止迁移;
所述步骤S2-S3中,虚拟机迁移时,先向正常主机迁移,若没有正常主机或所有的正常主机迁移后的过载概率均大于或等于松弛参数,则向低负载主机迁移;若没有低负载主机或所有的低负载主机迁移后的过载概率均大于或等于松弛参数,则向休眠主机迁移;若没有休眠主机或所有的休眠主机下个采样周期的过载概率均大于或等于松弛参数Psta,则向集群中增加休眠主机。
由于经过步骤S2-S3后,一些负载主机或正常主机的虚拟机可能会迁移到低负载主机中,造成低负载主机处于正常状态(由于上述步骤S2-S3迁移前会事先判断目标主机迁移后的过载概率,故低负载主机经过步骤S2-S3后不会呈过载状态),因此,在步骤S4中,在选择一台低负载主机后,需要先判断该低负载主机是否还处于低负载状态,若是,则进行虚拟机的迁移操作,若不是,则寻找下一个低负载主机;若所有的低负载主机均变成正常负载状态,则选择一台已呈正常负载状态的低负载主机迁移;在迁移过程中,有的低负载主机在迁移出一部分虚拟机后则面临需要停止迁移的情况,有的则可以将虚拟机全部迁移出,若能够全部迁移出,则可释放出一台物理主机,节省能耗。
具体的,在所述步骤S4中,若经过步骤S2-步骤S3,仍有低负载主机仍处于低负载状态,则选择其中一台,将其虚拟机顺次先向正常主机(这里的正常主机包括步骤S1所判断出的正常主机,也包括步骤S1判断时为低负载主机,但是经过S2-S3后,呈现正常状态的低负载主机)迁移,若没有正常主机或所有的正常主机迁移后的过载概率均大于或等于松弛参数,则向其它低负载主机迁移;若无其它低负载主机或其它所有的低负载主机迁移后的过载概率均大于或等于松弛参数,则停止迁移;
若经过步骤S2-步骤S3,所有的低负载主机均变成正常负载状态,则选择一台正常负载状态的主机,将其虚拟机顺次向其它呈正常负载状态的主机(包括步骤S1所判断出的正常主机,也包括步骤S1判断时为低负载主机,但是经过S2-S3后,呈现正常状态的低负载主机)迁移,若无其它呈正常负载状态的主机或所有其它正常负载状态的主机迁移后的的过载概率均大于或等于松弛参数,则停止迁移。
综上,本发明提供的虚拟机节能调度方法,以匿名随机变量为依据,通过构建负载模型,并结合松弛参数的引入以及过载概率的判断,可充分权衡服务质量与节约能耗。
表1为本发明的调度方法与现有的调度方法的违反率及能量消耗表,图1及图2分别为对应的本发明的方法与现有的方法过载次数对比图及能量消耗对比图,具体的,将480台虚拟机运行于40台物理主机上,运行10天;其中,ARV为本发明的调度方法,NKPSA为中标麒麟服务器操作系统(虚拟化版)云管理平台上现有的节能调度方法,MAO为普通的无节能策略的过载调度方法。
通过在具体的数据集上进行实验对比可知:本发明的调度方法相比较中标麒麟服务器操作系统云管理平台上现有的节能调度方法更加优越,具体体现在不但能够降低集群的能量消耗,还能够提高集群的服务质量。
表1:本发明的调度方法与现有的调度方法的违反率及能量消耗表
本发明的有益效果如下:
1、基于匿名随机变量构建了负载模型,根据负载模型实现了物理主机的分类,为后期的集群优化提供了基础。
2、通过引入松弛参数,在服务质量和节约能耗之间实现了平衡。
3、利用负载模型结合多种调度策略,提供了一个能够充分权衡服务质量与节约能耗的调度方法。
虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。
机译: 基于差分随机变量原点相似度的基于相似度量的协同过滤推荐系统及利用RMS构建相似表的方法
机译: 基于整数像素搜索和对应于每个宏块的随机变量的基于SAD值的快速半像素搜索方法
机译: 基于滚动灰色预测模型的云数据中心节能调度实现方法