一种云数据中心节能方法及系统

文档序号:31798204发布日期:2022-10-14 18:05阅读:66来源:国知局
一种云数据中心节能方法及系统

1.本发明涉及针对边缘云数据中心服务器的节能机制研究,尤其是涉及一种基于容器放置技术和群智能优化算法的云数据中心节能方法及系统,能够在涉及“云-边”高度复杂环境条件时提供更好的能耗优化方案。


背景技术:

2.随着互联网的不断发展和普及,越来越多的领域将自己的业务与互联网结合。这不仅方便了与客户的接触,也提高了业务效率,促进了社会生产力的发展。但随之而来的大规模海量数据,远远超出了传统计算机架构所能提供的计算能力。根据中国互联网络信息中心最新发布的第47次《中国互联网络发展状况统计报告》显示,移动互联网接入流量达1656亿gb,较上一年增长35.5%,继续保持高速增长,云计算的价值逐渐显现。然而随着云数据中心规模的快速增长,不断攀升的能耗成为其亟需解决的主要问题之一。为了服从用户服务等级协议和保证用户体验质量,云数据中心的物理机(physical machine,pm)部分处于无负载待机状态,此类pm消耗其峰值能耗的50%,因此,通过提高资源利用率减少激活的pm数量可有效降低云数据中心能耗,而提升虚拟机(virtual machine,vm)放置效果作为提高资源利用率的主流方法已经被广泛研究。
3.现有云端服务器节能技术主要从两个方面进行节能优化:通过终端数量接入预测等方式调整投入计算的服务器比例,从而减少不必要的服务器运行能耗;通过优化终端计算任务接入时的虚拟机配置方法提升物理机资源利用率,从而减少物理机激活数量。然而上述传统方法在面临大数据+全异构复杂环境下的资源分配问题时,会造成创建虚拟机数量过于庞大、激活较多物理机,进而造成虚拟机和物理机资源利用率下降及能耗上升的问题。
4.中国专利cn201710770929.6公开了一种基于粒子群优化的虚拟机分配方法,实现了虚拟机到物理机的映射和分配,但是虚拟机的数量是依据请求生成的,无法保证虚拟机的数量最优。


技术实现要素:

5.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种云数据中心节能方法及系统,基于容器放置技术和鲸鱼算法实现,对容器到虚拟机和虚拟机到物理机进行联合映射,从减少创建虚拟机数量的角度减少激活物理机数量,从而降低数据中心能耗;首先,以最小化能耗和最大化资源利用率作为优化目标,建立多目标约束的容器放置优化模型;然后,利用离散索引减少解向量结构维数,降低适应度函数复杂度;最后,将容器放置和虚拟机放置两个阶段定义为一个问题,参考鲸鱼环状收缩捕猎模式构建算法进行联合优化,迭代获得最优解。与现有技术相比,本发明在保证终端时延的前提下,能够有效提升复杂环境下的物理机资源利用率,显著降低物理机激活比例和云数据中心能耗。
6.本发明的目的可以通过以下技术方案来实现:
7.一种云数据中心节能方法,基于容器放置技术和鲸鱼算法实现,包括以下步骤:
8.s1、获取初始化参数,包括云数据中心的资源请求、种群数量p、迭代次数s和目标函数,云数据中心的资源请求被封装到l个容器{cont1,cont2,

,cont
l
}中,l个容器被提交至n个虚拟机vm{v1,v2,

,vn}中,n个vm被放置到m个物理机pm{p1,p2,

,pm}中,所述目标函数以虚拟机数量最少和云数据中心能耗最低为目标;
9.s2、基于初始化参数生成初始种群{sol1,sol2,

,sol
p
},初始化生成一个最优解sol
best
,分别对种群中的每个个体和最优解进行可行解检查,若不是可行解,则对其修正,令p=1;
10.s3、若sol
p
=sol
best
,则执行步骤s4,否则,更新sol
p
,对sol
p
进行可行解检查,若不是可行解,则对其修正,执行步骤s4;
11.s4、令p的值增加1,若p不大于p,则执行步骤s3,否则,执行步骤s5;
12.s5、使用目标函数计算最优解的适应度,若适应度到达预设置的阈值或步骤s5的执行次数达到迭代次数s,则将当前的最优解作为云数据中心节能方案,否则,执行步骤s7;
13.s6、对最优解sol
best
进行更新,对sol
best
进行可行解检查,若不是可行解,则对其修正,比较初始种群至当前种群中的所有最优解,将其中最优的解作为最优解,令p=1,执行步骤s3。
14.进一步地,一个容器对应一个vm和一个pm,解的构建格式为:
[0015][0016]
其中,表示第g个容器所提交的vm位置,表示第g个容器所提交的vm放置的pm位置,1≤g《l。
[0017]
进一步地,基于解生成容器和虚拟机vm的放置矩阵,如下:
[0018][0019][0020]
其中,x
gi
的值为1或0,x
gi
=1表示容器contg放置在虚拟机vmi上,x
gi
=0表示容器contg未放置在虚拟机vmi上;y
ij
的值为1或0,y
ij
=1表示虚拟机vmi放置在物理机pmj上,y
ij
=0表示虚拟机vmi未放置在物理机pmj上,1≤i《n,1≤j《m。
[0021]
进一步地,若一个解满足以下条件,则其为可行解:
[0022]
对于任一g,满足:
[0023][0024]
对于任一i,满足:
[0025][0026]
对于任一i,满足:
[0027][0028]
对于任一j,满足:
[0029][0030]
其中,cont
g,k
表示容器contg所需的资源量,v
i,k
表示虚拟机vmi所需的资源量,p
j,k
表示物理机pmj拥有的资源量。
[0031]
进一步地,初始化生成解以及对解进行更新后,先进行调整再进行可行解检查,调整具体为:
[0032]
基于解确定每个虚拟机vm的容器放置情况,若一个虚拟机vm中放置了多个容器,则检查该虚拟机vm被放置的物理机pm并进行调整,使得该虚拟机vm被放置在同一个物理机pm中。
[0033]
进一步地,对解sol进行更新具体为:
[0034][0035]
其中sol
best
为最优解,sol
rand
为自{sol1,sol2,

,sol
p
}中随机选取的一个解,a为鲸鱼算法中的围绕系数,|b|和|σ|均为随机数且均属于[0,1],和均为鲸鱼算法中的位置互助迭代系数。
[0036]
进一步地,云数据中心能耗为m个物理机pm{p1,p2,

,pm}的能耗之和,计算公式为:
[0037][0038]
其中,p
max
为物理机pmj的最大功率,p
j,cpu
为物理机pmj的cpu利用率,若物理机pmj为待机状态,则p
j,cpu
=0.5,若物理机pmj为关机状态,则p
j,cpu
=0,1≤j《m。
[0039]
进一步地,目标函数为:
[0040][0041]
其中,count(vm)表示使用的虚拟机vm数量。
[0042]
进一步地,步骤s6中,两个及两个以上解进行比较时,首先将解按照所对应的云数据中心能耗排序,能耗越低的解适应度越优,对于云数据中心能耗相同的解,按照所对应的虚拟机vm数量排序,虚拟机vm数量越少的解适应度越优。
[0043]
一种云数据中心节能系统,包括:
[0044]
输入模块,用于执行以下步骤:
[0045]
s1、获取初始化参数,包括云数据中心的资源请求、种群数量p、迭代次数s和目标函数,云数据中心的资源请求被封装到l个容器{cont1,cont2,

,cont
l
}中,l个容器被提交至n个虚拟机vm{v1,v2,

,vn}中,n个vm被放置到m个物理机pm{p1,p2,

,pm}中,所述目标函数以虚拟机数量最少和云数据中心能耗最低为目标;
[0046]
搜索模块,用于执行以下步骤:
[0047]
s2、基于初始化参数生成初始种群{sol1,sol2,

,sol
p
},初始化生成一个最优解sol
best
,分别对种群中的每个个体和最优解进行可行解检查,若不是可行解,则对其修正,令p=1;
[0048]
s3、若sol
p
=sol
best
,则执行步骤s4,否则,更新sol
p
,对sol
p
进行可行解检查,若不是可行解,则对其修正,执行步骤s4;
[0049]
s4、令p的值增加1,若p不大于p,则执行步骤s3,否则,执行步骤s5;
[0050]
s5、使用目标函数计算最优解的适应度,若适应度到达预设置的阈值或步骤s5的执行次数达到迭代次数s,则将当前的最优解作为云数据中心节能方案,否则,执行步骤s7;
[0051]
s6、对最优解sol
best
进行更新,对sol
best
进行可行解检查,若不是可行解,则对其修正,比较初始种群至当前种群中的所有最优解,将其中最优的解作为最优解,令p=1,执行步骤s3;
[0052]
输出模块,用于输出云数据中心节能方案。
[0053]
与现有技术相比,本发明具有以下有益效果:
[0054]
(1)针对二段独立容器放置算法在应对全异构等复杂环境时造成的容器重复放置问题,本技术将两个放置阶段定义为一个优化问题,参考鲸鱼算法进行联合优化,在应对全异构等复杂环境下的容器放置问题时能有效降低云数据中心的能耗。
[0055]
(2)针对传统容器放置方法存在解向量维数较高且收敛困难的问题,本技术将二维容器放置解框架降为双一维向量结构,将适应度函数的复杂度由二次降为线性,降低了时空复杂度和算法收敛难度,并通过离散索引替代传统的二进制索引模式,实现了时延优化。
[0056]
(3)
附图说明
[0057]
图1为本发明的流程图;
[0058]
图2为实施例中解的示意图;
[0059]
图3为实施例中最优解的示意图;
[0060]
图4为能耗对比示意图;
[0061]
图5为pm平均资源利用率对比示意图。
具体实施方式
[0062]
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0063]
实施例1:
[0064]
定义:
[0065]
设定l个容器,第g个容器用contg表示,且g∈[1,l]。设定n个vm,第i个vm用vmi表示,且i∈[1,n]。设定m个pm,第j个pm用pmj表示,且j∈[1,m]。在满足用户服务协议(sla)的前提下,寻找容器到vm以及vm到pm的最优映射。
[0066]
设定容器集合为c={cont1,cont2,

,cont
l
},容器contg所需cpu和内存资源用cont
g,cpu
和cont
g,ram
表示;设定vm集合为v={v1,v2,

,vn},vmi所需cpu和内存资源用v
i,cpu
和v
i,ram
表示;设定pm集合为p={p1,p2,

,pm},pmj所拥有cpu和内存资源用p
j,cap-cpu
和p
j,cap-ram
表示。为计算方便,上述三个定义中的cpu和内存可由k表示;设定根据数据中心掌握的容器os(operating system)需求类型比例匹配等比例的pm。例如存在有80%的容器要求os1,有20%的容器要求os2,那么数据中心将提供80%的os1型pm和20%的os2型pm.
[0067]
本技术仅考虑数据中心pm的cpu能耗,根据pm的功率模型和活动总数进行计算。定义三种pm状态,分别为:无负载待机的pm,以pm最大功率的50%运行;未激活关机的pm,功率为0;有负载正常运行的pm。
[0068]
一种云数据中心节能方法,基于容器放置技术和鲸鱼算法实现,如图1所示,包括以下步骤:
[0069]
s1、获取初始化参数,包括云数据中心的资源请求、种群数量p、迭代次数s和目标函数,云数据中心的资源请求被封装到l个容器{cont1,cont2,

,cont
l
}中,l个容器被提交至n个虚拟机vm{v1,v2,

,vn}中,m个vm被放置到m个物理机pm{p1,p2,

,pm}中,目标函数以虚拟机数量最少和云数据中心能耗最低为目标;
[0070]
本实施例中,种群数量p设置为10,迭代次数s设为200,云数据中心的资源请求被封装到8个容器中,目标函数为:
[0071][0072]
其中,表示云数据中心能耗,p
max
为物理机pmj的最大功率,p
j,cpu
为物理机pmj的cpu利用率,若物理机pmj为待机状态,则p
j,cpu
=0.5,若物理机pmj为关机状态,则p
j,cpu
=0,count(vm)表示使用的虚拟机vm数量。
[0073]
本技术的目的通过以下步骤寻找容器到vm以及vm到pm的最佳映射,以使得云数据
中心的能耗降低,物理机利用率提高。可以理解的是,上述参数其他实施方式中可以根据需要进行调整
[0074]
s2、基于初始化参数生成初始种群{sol1,sol2,

,sol
p
},初始化生成一个最优解sol
best
,分别对种群中的每个个体和最优解进行可行解检查,若不是可行解,则对其修正,令p=1;
[0075]
可以理解的上,一个容器只能提交到1个vm,1个vm可以同时包含多个容器,一个vm只能提交到1个pm,1个pm可以同时包含多个vm。因此,一个容器对应一个vm和一个pm,解的构建格式为:
[0076][0077]
其中,表示第g个容器所提交的vm位置,表示第g个容器所提交的vm放置的pm位置。
[0078]
本实施例给出一种解的生成方式,如下:
[0079]
初始化容器列表、vm列表和pm列表,以多对一映射的方式建立容器到vm以及vm到pm的映射,遍历容器列表,对于每个容器,为其选择一个vm,遍历vm列表,对于每个vm,为其选择一个pm。如图2所示,图2给出了本实施例中构造的一个初始解,其中,1号容器提交到1号vm,1号vm放置在2号pm上,总共使用了3个vm和5个pm。
[0080]
还需要注意到,图2中3号容器和4容器均提交到了2号vm,但是,对应3号容器的vm放置到了1号pm,对应4号同期的vm放置到了4号pm,1号容器和6号容器,2号容器、5号容器、7号容器和8号容器也出现了同样的问题,即不同容器放置到相同的vm,相同的vm却存在于两个不同的pm中,原因是解中出现了vm的重复放置现象,为了抑制此类现象的发生,在每次生成解以及对解进行更新后,对于新得到的解,均需要对其进行更正,以免出现同一个vm放置到多个pm的情况,如下:
[0081]
基于解确定每个虚拟机vm的容器放置情况,若一个虚拟机vm中放置了多个容器,则检查该虚拟机vm被放置的物理机pm并进行调整,使得该虚拟机vm被放置在同一个物理机pm中。
[0082]
在其他实施方式中,还可以使用其他方式生成初始解,得到初始种群。初始化生成最优解时,可以初始生成p+1个个体,选择一个适应度最优的个体,将其作为最优解,其他p个个体作为初始种群,也可以从初始种群p个个体中选择最优的作为最优解,等等。
[0083]
s3、若sol
p
=sol
best
,则执行步骤s4,否则,更新sol
p
,对sol
p
进行可行解检查,若不是可行解,则对其修正,执行步骤s4;
[0084]
对解sol进行更新具体为:
[0085][0086]
其中,sol

为更新后的解,sol
best
为最优解,sol
rand
为自{sol1,sol2,

,sol
p
}中随机选取的一个解,a为鲸鱼算法中的围绕系数,|b|和|σ|均为随机数且均属于[0,1],和
均为鲸鱼算法中的位置互助迭代系数,本技术中解的更新与现有技术中鲸鱼算法的鲸鱼的位置更新一致。
[0087]
根据生成或更新的解,可以生成容器和虚拟机vm的放置矩阵,放置矩阵将抽象问题得以形象表示,如下:
[0088][0089]
其中,x
gi
的值为1或0,x
gi
=1表示容器contg放置在虚拟机vmi上,x
gi
=0表示容器contg未放置在虚拟机vmi上,第g行表示容器contg的vm放置情况,第i列表示虚拟机vmi的容器放置情况;可以理解的是,若一个解为可行解,则第g行中应当有且只有1个元素等于1,即一个容器放置到一个vm,第i列可以有任意个元素等于1,即一个vm中可以放置任意个容器,但是需要保证,vm中放置的容器的总的资源请求要小于vm所能提供的资源量。
[0090][0091]
其中,y
ij
的值为1或0,y
ij
=1表示虚拟机vmi放置在物理机pmj上,yi
ij
=0表示虚拟机vmi未放置在物理机pmj上,第i行表示虚拟机vmi的pm放置情况,第j列表示虚拟机vmi的容器放置情况;可以理解的是,若一个解为可行解,则第i行中应当有且只有1个元素等于1,即一个vm放置到一个pm,第j列可以有任意个元素等于1,即一个pm中可以放置任意个vm,但是需要保证,pm中放置的vm的总的资源请求要小于pm所能提供的资源量。
[0092]
综上,若一个解满足以下条件,则其为可行解:
[0093]
对于任一g,满足:
[0094][0095]
对于任一i,满足:
[0096][0097]
对于任一i,满足:
[0098][0099]
对于任一j,满足:
[0100][0101]
其中,cont
g,k
表示容器contg的资源请求量,v
i,k
表示虚拟机vmi拥有的资源量,p
j,k
表示物理机pmj拥有的资源量。
[0102]
还需要注意的是,解sol仍须满足i∈[1,n]和j∈[1,m],即不能超出vm和pm限制,否则判定为无效解。
[0103]
s4、令p的值增加1,若p不大于p,则执行步骤s3,否则,执行步骤s5;
[0104]
本实施例中,p=10,因此,根据是否等于最优解sol
best
对种群中的p个个体依次进行更新,完成种群的更新。
[0105]
s5、使用目标函数计算最优解的适应度,若适应度到达预设置的阈值或步骤s5的执行次数达到迭代次数s,则将当前的最优解作为云数据中心节能方案,否则,执行步骤s7;
[0106]
s6、对最优解sol
best
进行更新,对sol
best
进行可行解检查,若不是可行解,则对其修正,比较初始种群至当前种群中的所有最优解,将其中最优的解作为最优解,令p=1,执行步骤s3。
[0107]
两个及两个以上解进行比较时,首先将解按照所对应的云数据中心能耗排序,能耗越低的解适应度越优,对于云数据中心能耗相同的解,按照所对应的虚拟机vm数量排序,虚拟机vm数量越少的解适应度越优。
[0108]
经过上述步骤,最终得到的云数据中心节能方案如图3所示,仅用了2个vm和pm,资源利用率高,能耗低。
[0109]
本技术还保护一种云数据中心节能系统,包括:
[0110]
输入模块,用于执行以下步骤:
[0111]
s1、获取初始化参数,包括云数据中心的资源请求、种群数量p、迭代次数s和目标函数,云数据中心的资源请求被封装到l个容器{cont1,cont2,

,cont
l
}中,l个容器被提交至n个虚拟机vm{v1,v2,

,vn}中,n个vm被放置到m个物理机pm{p1,p2,

,pm}中,目标函数以虚拟机数量最少和云数据中心能耗最低为目标;
[0112]
搜索模块,用于执行以下步骤:
[0113]
s2、基于初始化参数生成初始种群{sol1,sol2,

,sol
p
},初始化生成一个最优解sol
best
,分别对种群中的每个个体和最优解进行可行解检查,若不是可行解,则对其修正,令p=1;
[0114]
s3、若sol
p
=sol
best
,则执行步骤s4,否则,更新sol
p
,对sol
p
进行可行解检查,若不是可行解,则对其修正,执行步骤s4;
[0115]
s4、令p的值增加1,若p不大于p,则执行步骤s3,否则,执行步骤s5;
[0116]
s5、使用目标函数计算最优解的适应度,若适应度到达预设置的阈值或步骤s5的执行次数达到迭代次数s,则将当前的最优解作为云数据中心节能方案,否则,执行步骤s7;
[0117]
s6、对最优解sol
best
进行更新,对sol
best
进行可行解检查,若不是可行解,则对其修正,比较初始种群至当前种群中的所有最优解,将其中最优的解作为最优解,令p=1,执行步骤s3;
[0118]
输出模块,用于输出云数据中心节能方案。
[0119]
根据上述方案,在全异构环境(异构容器+异构虚拟机+异构物理机)下进行模拟实验,通过仿真将本技术与与离散蝙蝠虚拟机放置方法(dba-vmp)、优化蚁群虚拟机配置方法(aca-vmp)、改进粒子群资源配置策略(lb-dpso)、优化家族遗传资源配置策略(oga)进行对比评估,能耗对比如图4所示,pm平均资源利用率如图5所示。本技术较对比算法提升资源利用率27.8%以上,减少物理机激活比例达41.3%,降低能耗21.4%以上,证明本技术所取得的结果更能平衡资源利用率和能耗这两个相互冲突的目标,在应对全异构复杂环境时具备较高的vm资源利用率及较低的能耗。
[0120]
实验基于cloudsim5.0云平台进行实现,主机配置8gb机带及i5-1021u处理器,仿真环境配置为eclipse4.3.0、jdk1.7.0及64bit windows 10。初步设定各策略迭代次数为200次,采用的仿真数据来自bitbrains数据集和alibaba cluster data v2018数据集。对物理机资源利用率和能耗情况进行仿真分析。
[0121]
本技术通过解向量降维降低了资源匹配复杂度,有效利用了各vm/pm资源,在pm2用完的前提下将剩余容器分配给pm1,因此其资源利用率高于其它四种策略。基于上述资源利用率,对五种策略在应对虚拟机cpu资源受限且异构环境下的资源分配表现进行仿真,证明提出的dso-cp策略对于其它四种算法减少了激活pm数量,在应对资源受限及异构环境时具备更强的稳定性。
[0122]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1