本发明属于云计算中的虚拟机聚合领域,具体涉及一种基于多目标生物地理学优化算法的docker与虚拟机聚合放置方法,用于将docker与虚拟机同时作为聚合单位,解决虚拟机资源占用大而难以进一步聚合的问题,采用的算法能避免陷入局部最优,大幅度优化数据中心能耗及服务器的资源利用率。
背景技术:
2008年以来,云计算(cloudcomputing)技术迅猛发展,数据中心急剧扩张,随之带来了严重的能耗以及高昂的运营成本。现有研究表明数据中心能耗与物理服务器的资源利用率密切相关,故提升数据中心各物理服务器资源利用率,减少激活态物理服务器数量成为降低数据中心能耗与运营成本的关键策略。工业及学术界利用虚拟机(virtualmachine,简称vm)技术实现物理资源的细粒度分配,聚焦于虚拟机放置问题研究,从而提升物理资源利用率并降低能耗。
2013年以来,随着docker技术的开源,以docker为代表的linux容器技术迅速席卷全球云服务商。如今,大多数paas云服务商采用docker技术与vm技术结合部署的方式,将承担租户完全隔离责任的vm直接运行于pm(physicalmachine,物理服务器),承担各租户微服务隔离的docker容器直接运行于vm,从而形成docker-vm-pm(简称dvp)三层架构。目前,dvp三层架构下的聚合放置研究主要包括以虚拟机作为聚合单位实现降能耗、提升资源利用率、均衡负载、提升带宽使用率这些单、多目标的聚合优化,极少同时将容器与虚拟机作为聚合单位,没有综合考虑容器、虚拟机及服务器间的资源关系,docker到vm的最优位置决策若仅依赖于vm的资源使用情况而忽略放置成立时对间接承载的服务器产生的资源影响,容易造成容器在数据中心的分散运行,最终可能会使用更多的服务器进行负载分担,从而造成资源利用率低。因此,如何优化数据中心能耗及服务器的资源利用率,解决虚拟机资源占用大而难以进一步聚合的问题,成了亟待解决的难题。
针对如何优化数据中心能耗及服务器的资源利用率,以下专利提供了相应的技术方案:
文献1.一种基于spark与优化mbbo算法的并行虚拟机聚合方法(201610948453.6);
文献2.一种基于云环境下的多目标优化虚拟机放置方法(201410128484.8)。
文献1提供了一种基于spark与优化mbbo算法的并行虚拟机聚合方法,通过拓展的spark并行框架及mbbo算法,从而能够在比较短的收敛时间内求解虚拟机聚合问题的最佳迁移方案,为后续的虚拟机并行迁移奠定基础。首先,将虚拟机聚合问题映射到生物地理学优化算法中,确定约束条件,明确求解目标;其次,基于拓展的spark并行框架,分发满足约束条件的初始栖息地群到各spark计算节点并迭代执行mbbo并行算法,直到满足终止条件;最后,停止算法执行并获取能够平衡多个优化求解目标的最优解。利用拓展的spark并行框架的同时,将生物地理学概念映射到优化问题中。
文献2公开了一种基于云环境下的多目标优化虚拟机放置方法,首先,初始化改进的蚁群算法中的各个参数,包括蚂蚁数量na;其次,以随机排列的方式对服务器列表进行排序,并从中选出一台新的服务器用来进行虚拟机放置;然后,对于每一台能够放入此服务器的虚拟机,通过公式计算出最有价值放入此服务器的虚拟机,并将虚拟机放置到当前服务器上;最后,重复上一步直到当前服务器的资源不能满足所有需要放置的虚拟机的资源需求。
以上文献所述方法主要存在以下问题:文献1以虚拟机作为聚合单位进行聚合优化,资源划分粒度粗,放置过程中没有考虑节省激活态服务器的数量;文献2中采用蚁群算法虽然能够处理多种资源的限制,但是还存在不足,不但配置参数复杂,而且参数对搜索结果的影响很大,容易出现过早收敛于非全局最优解的问题,导致资源利用率不高。
技术实现要素:
本发明的目的在于针对上述现有技术中的问题,提供一种基于mbbo算法(multi-objectivebiogeography-basedoptimizationalgorithm,多目标生物地理学优化算法)的docker与虚拟机聚合放置方法。首先,创造性地将docker与虚拟机同时作为聚合单位,建立基于dvp三层架构的dvmp(dockerandvirtualmachineplacement,docker与vm放置)约束模型;其次,明确dvmp约束模型中的四种约束条件,建立面向能耗及服务器资源利用率优化的dvmp聚合放置模型;然后,采用多目标生物地理学优化算法对该聚合放置模型进行聚合场景适配与编码求解获得候选解,同时采用余弦迁移率模型、差分进化、高斯突变这些方式增加模型跳出局部最优的能力,计算生成新候选解,通过非支配解排名(non-dominatedrankingmethod)机制,在新候选解中挑选出在多个优化目标上均表现最优的本代精英解(在每一次产生新的一代时,首先把当前最优解原封不动地复制到新的一代中生成精英解,精英解是历史最优解),比较本代精英解与上代精英解,若本代更优秀则替换上代精英解,否则维持不变;最后,以不断迭代更新初始种群的方式寻找docker与虚拟机聚合问题的最优解决方案。本发明创造性地将docker与虚拟机同时作为聚合单位,解决虚拟机资源占用大而难以进一步聚合的问题;采用的算法能避免陷入局部最优,大幅度优化数据中心能耗及服务器的资源利用率。
本发明采用如下技术方案来实现的:
基于多目标生物地理学优化算法的docker与虚拟机聚合放置方法,包括以下步骤:
步骤1,建立基于dvp三层架构的docker与虚拟机放置约束模型;
步骤2,基于步骤1建立的dvp三层架构下的dvmp约束模型,明确dvmp约束模型中的四种约束条件,建立面向能耗及服务器资源利用率优化的dvmp聚合放置模型;
步骤3,针对步骤2建立的docker与虚拟机聚合放置模型,执行基于mbbo的docker与虚拟机聚合放置的映射方法;
步骤4,完成以上三个步骤后,采用mbbo算法进行聚合场景适配与编码求解获得有效解;
步骤5,求解docker与虚拟机聚合放置方法的最优解;
步骤6,根据步骤5的docker与虚拟机聚合放置方法的最优解,进行docker与虚拟机聚合放置。
本发明进一步的改进在于,步骤1的具体实现方法如下:
基于矢量装箱理论提出dvp三层架构下docker、vm到pm的放置约束模型,将dvp三层架构下的docker到虚拟机和虚拟机到服务器的放置问题描述为两层矢量协同装箱问题,以docker作为虚拟机及服务器的实际负载,对虚拟机放置方案的合理性进行限制;
两层矢量协同装箱问题,具体包括docker到vm的装箱和vm到pm的装箱的两层矢量装箱模型;
基于装箱理论的dvmp约束模型是在有限的计算资源条件下进行的,docker、vm到pm的放置过程必须同时满足所有的约束条件,才能获得合理有效的放置方案;约束条件具体包括放置约束模型的整数约束、完整性约束、资源利用情况约束及虚拟机和服务器资源使用量的计算约束。
本发明进一步的改进在于,整数约束条件,限制了放置问题解空间的规模,通过将容器、虚拟机放置到整数编号的虚拟机、服务器上,避免容器、虚拟机的位置不存在的情况,具体表现为以下两个公式:
xij,yri,zrj,pj,vi∈{0,1}i∈n,j∈m,r∈d
其中,xij、yri、zrj分别是虚拟机到服务器位置映射矩阵x、容器到虚拟机位置映射矩阵y和容器到服务器位置映射矩阵z中代表放置状态的元素,表示第i台虚拟机是否放置于第j台服务器上,第r台容器是否放置于第i台虚拟机上,第r台容器是否运行在第j台服务器上,vi、pj表示分别虚拟机和服务器的状态变量,它的取值不是0就是1,1表示虚拟机i、服务器j处于运行状态,0表示虚拟机i、服务器j已关闭;
完整性约束条件,通过要求任何一台容器、虚拟机都仅被放置在一台虚拟机、服务器上,以确保所有容器、虚拟机都被放置,具体表现为以下三个公式:
完整性约束公式采用了累加的计算方式,将任一容器、虚拟机与所有虚拟机、服务器放置状态累加求和且求和结果限制为1,避免非1的异常情况,从而确保所有的容器、虚拟机在集群中都放置在合理的位置,随着放置约束模型应用于不同的放置场景,代表虚拟机到服务器、容器到虚拟机、容器到物理机位置映射的x、y和z矩阵规模将出现变化,i表示虚拟机,j表示服务器,r表示容器,m表示放置到服务器,n表示放置到虚拟机;
模型资源利用情况约束条件,包括服务器资源利用情况约束条件和虚拟机资源利用情况约束条件,分别限制每一台服务器、虚拟机的资源分配情况,具体内容为:
服务器资源利用情况约束条件通过限制每台服务器上虚拟机的cpu及内存资源,确保虚拟机请求的虚拟cpu数量及内存不超过服务器能够提供的cpu、内存总量,具体表现为以下两个公式:
其中,
虚拟机资源利用情况约束条件通过限制每台虚拟机上容器的cpu、内存资源请求,确保容器请求的cpu、内存计算资源不超过该虚拟机创建时申请的资源总量,具体表现为以下两个公式:
其中,
虚拟机和服务器资源使用量的计算约束条件,限制dvp架构中vm及pm资源使用量的计算方式,任一时刻vm及pm的资源使用量应该以其承载的所有docker容器资源总量作为统计基础,具体表示为以下四个公式:
其中,向量
本发明进一步的改进在于,步骤2的具体实现方法如下:
包括建立以聚合放置优化为目标的能耗预测模型和建立以最小化服务器数量为目标的资源利用度模型;
建立面向能耗及服务器资源利用率优化的dvmp聚合放置模型具体包括以下步骤:
step1:
其中,
step2:由以下公式计算
其中,
step3:
此公式中αe、βe为两常数,用来表示资源利用度函数中第一部分与第二部分的权重,第一部分代表放置相同规模及配置的容器集,所使用的服务器数量越少则意味着容器放置越集中,因此资源利用率越大,第二部分代表资源余量的影响作用,以cpu及内存资源余量乘积作为放置过程中多维资源的有效评估;αe为第一部分的权值,其值远大于βe的绝对值,βe取负值使得第二部分取值越小越好,由于第一部分提升资源利用率的效果更强,因此αe>0>βe且αe远远大于|βe|,使得资源利用度函数两部分总和越小则放置方案越优秀。
本发明进一步的改进在于,步骤3的具体实现方法如下:
基于mbbo的docker与虚拟机聚合放置的映射方法,具体表现为:
基于mbbo算法的docker与虚拟机聚合放置方法以降低数据中心能耗和提升数据中心资源利用率为优化目标,因此种群初始化时首先初始化两个子系统;
每一个栖息地代表符合约束条件的vm与hm的一种位置排列,栖息地由一个长度为vm数量的行向量表示,向量中第i个元素代表第i个vm聚合后对应的hm编号;vm对应的hm编号被映射为该栖息地的siv,由该栖息地内所有siv共同决定hsi,表示该候选解对vmc优化目标的匹配程度;众多的栖息地组成一个群岛,表示满足该vmc优化目标的候选解集合;高hsi栖息地的迁出率高,迁入率低;低hsi栖息地迁入率高,迁出率低。
本发明进一步的改进在于,步骤4的具体实现方法如下:
基于建立的dvmp约束模型及多目标优化理论,分发满足dvmp约束模型中的四种约束条件的初始栖息地群到各计算节点并迭代执行mbbo算法,以不断迭代更新初始种群的方式寻找docker与虚拟机聚合问题的有效解;
首先进行siv迁移,具体内容包括群岛内siv迁移和群岛间siv迁移;群岛内siv迁移的具体表现为mbbo算法中不同栖息地间siv的迁入、迁出实现了优秀特性的共享,促进mbbo算法在聚合问题解空间的查找;群岛间siv迁移的具体表现为只有被选中且成对的群岛才会进行群岛间迁移;从一个选中的群岛以一定的概率选出作为siv迁入的栖息地,分别与另一个群岛内所有栖息地距离匹配,选出作为迁出的栖息地,进行两个群岛间siv的迁移;
其次,进行siv迁移的条件判断:若进行siv迁移操作则执行差分方式生成新候选解,执行差分方式生成新候选解完毕后,进入步骤5求解docker与虚拟机聚合放置方法的最优解;若不进行siv迁移操作则继续进行变异siv的条件判断;
进行变异siv的条件判断:若不进行变异siv,则进入步骤5求解docker与虚拟机聚合放置方法的最优解;若进行变异siv操作则先采用高斯变异生成新候选解,然后进入步骤5求解docker与虚拟机聚合放置方法的最优解;
执行差分方式生成新候选解的具体内容为:siv变量的迁移是候选解间共享优秀信息的基础,原始算法中被迁出率选中的优秀siv一次仅能影响一个siv位,会导致对不可分优化问题求解时收敛性能不佳;
采用高斯变异生成新候选解的具体内容为:算法中siv的突变是增加解多样性的关键策略,对于提升候选解跳出局部最优的能力有重要影响,采用改进的高斯变异方式实现物种突变,在突变率选中的栖息岛t的第r个siv信息位
本发明进一步的改进在于,步骤5的具体实现方法如下:
首先,进行非支配解排名评估候选解,然后选择更新替换精英解;通过非支配解排名机制,挑选出在多个优化目标上均表现最优的本代精英解,比较本代精英解与上代精英解,若本代更优秀则替换上代精英解,否则维持不变;然后,选择更新替换精英解,每次迭代完成siv迁移、突变后,调用优化目标代价函数,分别计算群岛内新产生的子代栖息地以及父代精英解的hsi值,依据hsi值从大到小排序挑选出最优秀候选解作为当前代的精英解,由当前代精英解替换父代精英解,并参与下一轮的迭代过程;
接着进行终止条件判断;
迭代完成后,判断是否满足终止条件,若满足终止条件则以最新精英解作为最优解,进入步骤6进行docker与虚拟机聚合放置;若不满足,则再次进入步骤3执行基于mbbo的docker与虚拟机聚合放置的映射方法并计算迁移概率,继续进行迭代直到满足终止条件。
本发明进一步的改进在于,步骤6的具体实现方法如下:
重新安排docker、vm及pm之间的放置关系,将容器聚合放入部分虚拟机后删除空载虚拟机,再将负载集中的虚拟机聚合放入部分服务器,并对空载的服务器设置关闭或低功耗,从而减少服务器数量、提升各服务器的资源利用率和降低数据中心能耗,至此,本次docker与vm聚合放置方法执行结束。
本发明具有如下有益的技术效果:
(1)本发明创造性地在dvp三层架构下将docker和vm同时作为数据中心聚合单位,通过在聚合阶段重新安排docker、vm及pm之间的放置关系,将容器聚合放入部分虚拟机后删除空载虚拟机,再将负载集中的虚拟机聚合放入部分服务器,并对空载的服务器设置低功耗,从而减少服务器数量、提升各服务器的资源利用率和降低数据中心能耗。
(2)本发明基于dvmp约束模型及多目标优化理论,建立面向能耗及服务器资源利用率优化的dvmp聚合放置模型,以最小化能耗预测模型及最小化资源利用度模型为优化目标,提升能耗优化效果。
(3)本发明考虑到以能耗和资源利用率为优化目标,能够大幅度地优化数据中心能耗及服务器的资源利用率,解决虚拟机资源占用大而难以进一步聚合的问题。
(4)本发明中的算法实现时采用余弦迁移率模型、差分进化、高斯突变这些方式增加跳出局部最优的能力,避免陷入局部最优,配置参数简单,能够大幅度地优化数据中心能耗及服务器的资源利用率。
综上所述,本发明提出了一种基于多目标生物地理学优化算法的docker与虚拟机聚合放置方法,创造性地将docker与虚拟机同时作为聚合单位,用于解决虚拟机资源占用大而难以进一步聚合的问题;采用余弦迁移率模型、差分进化、高斯突变这些方式增加跳出局部最优的能力,避免陷入局部最优,配置参数简单,能够大幅度地优化数据中心能耗及服务器的资源利用率。
附图说明
图1是本发明方法的整体流程图;
图2是二维资源下dvmp两层装箱示意图;
图3是二维资源下容器到虚拟机的装箱模型;
图4是虚拟机到服务器的装箱模型;
图5是本发明实例中所述的基于mbbo的docker与虚拟机聚合放置方法映射图。
具体实施方式
下面参照附图,结合具体实施例对本发明基于多目标生物地理学优化算法的docker与虚拟机聚合放置方法作进一步说明。
如图1所示,本申请实施例中,本发明基于多目标生物地理学优化算法的docker与虚拟机聚合放置方法,包括下述步骤:
步骤101:建立基于dvp三层架构的docker与虚拟机放置约束模型(dvmp约束模型)。将dvp三层架构下的docker到虚拟机和虚拟机到服务器的放置问题描述为两层矢量协同装箱问题,以docker作为虚拟机及服务器的实际负载,对虚拟机放置方案的合理性进行限制。
所述的步骤101中的两层矢量协同装箱问题,具体包括docker到vm的装箱和vm到pm的装箱的两层矢量装箱模型。所述的装箱方式非传统的货物之间紧邻放置,由于虚拟机及服务器不同维度的计算资源仅能提供单一上限的使用总量,当虚拟机将服务器某一维资源全部占用时,即使服务器其他维度资源大量空余,也无法装入新的虚拟机,类似于箱子内部的小立方体沿箱子的对角线放置且互不相邻,因此所述的装箱方式中货物呈现沿箱子的对角线放置过程。
当采用矢量装箱模型描述时,应概述为docker到vm的装箱和vm到pm的装箱的两层矢量装箱模型,cpu和内存二维资源的dvmp两层装箱示意图如图2所示。
为了便于分析,将图2分解为docker到vm1的装箱过程图3和vm1、2到pm的装箱过程图4。
图3为二维资源下容器到虚拟机的装箱模型。装箱对象容器1、2的cpu及内存资源配置量为(cc1,mc1)、(cc2,mc2),放入vm的所有docker资源配给量不能超过vm创建时资源申请量,当达到该vm资源上限时,需将新的容器放入其他vm,创建新vm进行承载。
图4为虚拟机到服务器的装箱模型。以虚拟机创建时申请的资源量作为虚拟机对服务器资源的占用量进行各类模型最优化问题的数据基础,图4中该时刻pm的二维资源使用量为(cvm1+cvm2,mvm1+mvm2)。
然而dvp三层架构中docker容器作为运行用户服务的直接载体,可以通过内存、cpu这些参数直接限制docker运行时的cpu与内存使用量,查看docker运行时cpu、内存、网络这些系统数据,因此虚拟机的资源使用量应该采用更细粒度化的总容器资源申请量作为统计与放置决策基础。同理,物理服务器某时刻的各维资源使用量应该采用实际运行于该服务器的所有容器资源申请总量进行统计,图2该时刻pm的资源使用量应采用(cc1+cc2+cc3,mc1+mc2+mc3)计量。
所述的步骤101中的基于装箱理论的dvmp约束模型是在有限的计算资源条件下进行的,docker、vm到pm的放置过程必须同时满足所有的约束条件,才能获得合理有效的放置方案。所述的四种约束条件具体包括放置约束模型的整数约束、完整性约束、资源利用情况约束及虚拟机和服务器资源使用量的计算约束,具体内容为:
所述的整数约束条件,有效限制了放置问题解空间的规模,通过将容器、虚拟机放置到整数编号的虚拟机、服务器上,避免容器、虚拟机的位置不存在的情况,具体表现为以下两个公式:
xij,yri,zrj,pj,vi∈{0,1}i∈n,j∈m,r∈d
其中,xij、yri、zrj分别是虚拟机到服务器位置映射矩阵x、容器到虚拟机位置映射矩阵y和容器到服务器位置映射矩阵z中代表放置状态的元素,表示第i台虚拟机是否放置于第j台服务器上,第r台容器是否放置于第i台虚拟机上,第r台容器是否运行在第j台服务器上。vi、pj表示虚拟机和服务器的状态变量,它的取值不是0就是1,1表示虚拟机i、服务器j处于运行状态,0表示虚拟机i、服务器j已关闭。通过0、1整数状态约束保证了容器、虚拟机放置位置不会产生小数的情况,排除不可能存在的放置方案,从而将放置问题限制在整数的解空间中。
所述的完整性约束条件,通过要求任何一台容器、虚拟机都仅被放置在一台虚拟机、服务器上,以确保所有容器、虚拟机都被放置,具体表现为以下三个公式:
所述的完整性约束公式采用了累加的计算方式,将任一容器、虚拟机与所有虚拟机、服务器放置状态累加求和且求和结果限制为1,避免非1的异常情况,从而确保所有的容器、虚拟机在集群中都放置在合理的位置。随着放置约束模型应用于不同的放置场景,代表虚拟机到服务器、容器到虚拟机、容器到物理机位置映射的x、y和z矩阵规模将出现变化。以上公式确保容器、虚拟机放置位置的合理性,并使得每台容器、虚拟机都得到有效的放置。
所述模型资源利用情况约束条件,包括服务器资源利用情况约束条件和虚拟机资源利用情况约束条件,分别限制每一台服务器、虚拟机的资源分配情况,具体内容为:
所述服务器资源利用情况约束条件通过限制每台服务器上虚拟机的cpu及内存资源,确保虚拟机请求的虚拟cpu数量及内存不超过服务器能够提供的cpu、内存总量,具体表现为以下两个公式:
其中,
所述虚拟机资源利用情况约束条件通过限制每台虚拟机上容器的cpu、内存资源请求,确保容器请求的cpu、内存计算资源不超过该虚拟机创建时申请的资源总量,具体表现为以下两个公式:
其中,
所述虚拟机和服务器资源使用量的计算约束条件,限制dvp架构中vm及pm资源使用量的计算方式,任一时刻vm及pm的资源使用量应该以其承载的所有docker容器资源总量作为统计基础。精确的资源使用数据统计能够提升多种放置场景下优化目标的优化效果,从而获得更优秀的docker、vm到pm放置方案。具体表示为以下四个公式:
其中,yri、zrj分别是容器到虚拟机位置映射矩阵y和容器到服务器位置映射矩阵z中代表放置状态的元素,表示第r台容器是否放置于第i台虚拟机上,第r台容器是否运行在第j台服务器上。向量
四种约束条件限制了docker与虚拟机放置的有效性,为具体应用场景下的docker与虚拟机放置方法提供基础。在放置问题求解过程中,必须保证所有的约束条件同时满足,违反约束的解在优化过程中将被丢弃。只有这样,最终求解的放置方法才是可行解。在此步骤所述的四种约束条件限制下,进入步骤102建立docker与虚拟机聚合放置模型。
步骤102:基于步骤101建立的dvp三层架构下的dvmp约束模型,明确dvmp约束模型中的四种约束条件,建立面向能耗及服务器资源利用率优化的dvmp聚合放置模型,基于mbbo算法的docker与虚拟机聚合放置方法以降低数据中心能耗和提升数据中心资源利用率为优化目标。
所述的建立面向能耗及服务器资源利用率优化的dvmp聚合放置模型包括建立以聚合放置优化为目标的能耗预测模型和建立以最小化服务器数量为目标的资源利用度模型。具体内容包括以下步骤:
所述的建立以聚合放置优化为目标的能耗预测模型,具体内容为:
基于系统资源利用率的能耗模型采用线性能耗预测模型
采用回归分析法建立基于cpu利用率的单台服务器立方多项式能耗预测模型,具体表现为以下公式:
其中,pidle为静态能耗部分,表示第j台服务器的空载能耗,根据拟合结果pidle=446.7,第j台服务器随cpu动态变化的动态能耗由αj、βj、γj三个回归系数共同决定,且αj=528、βj=-474.7、γj=334,
空载服务器的能耗为446.7瓦特/时,而满载服务器能耗为834.0瓦特/时,空载服务器的能耗超过满载服务器能耗的一半以上。因此,降低数据中心能耗应首先减少空载服务器的数量。
基于dvmp约束模型,限制服务器实时资源使用量为较虚拟机资源分配更细粒度的容器cpu使用总量,作为数据中心服务器能耗预测模型的计算对象,具体表现为以下公式:
其中,zrj表示容器到服务器位置映射矩阵z中代表放置状态的元素,active表示激活状态,j表示服务器,r表示容器。
数据中心所有激活态服务器预测能耗的总和为当前数据中心的总能耗。通过重新安排容器、虚拟机的放置位置,搜索能够最小化数据中心总预测能耗的最优解,所述总预测能耗具体表现为以下公式:
其中,j表示服务器,idle表示空载,power表示能耗,pidle为静态能耗部分,表示第j台服务器的空载能耗,cpu表示cpu,第j台服务器随cpu动态变化的动态能耗由αj、βj、γj三个回归系数共同决定,
所述的建立以最小化服务器数量为目标的资源利用度模型,具体内容为:
step1:
其中,
step2:由以下公式计算
其中,
step3:
此公式是提升数据中心资源利用率的优化目标,由最小化激活态服务器数量与最大化所有服务器各维资源余量的乘积两部分组成。第一部分代表放置相同规模及配置的容器集,所使用的服务器数量越少则意味着容器放置越集中,因此资源利用率越大。第二部分代表资源余量的影响作用,以cpu及内存资源余量乘积作为放置过程中多维资源的有效评估。当放置结束所用服务器数量相同时,数据中心服务器资源余量乘积的总和越大则意味着某些服务器剩余资源的规格越大,更利于容纳新的大规格容器,因此第二部分值越大越好。
以上公式中αe、βe为两个常数,用来表示资源利用度函数中第一部分与第二部分的权重。αe为第一部分的权值,其值远大于βe的绝对值。βe取负值使得第二部分取值越小越好。本实施例中,αe、βe分别取值100、-13。
由于第一部分提升资源利用率的效果更强,因此αe>0>βe且αe远远大于|βe|,使得资源利用度函数两部分总和越小则放置方案越优秀。
本步骤的docker与虚拟机聚合放置模型建立完成后,进入步骤103开始采用基于mbbo的docker与虚拟机聚合放置的映射方法将docker与虚拟机聚合问题映射到生物地理学优化算法中。
步骤103:针对步骤102建立的docker与虚拟机聚合放置模型,执行基于mbbo的docker与虚拟机聚合放置的映射方法。
种群初始化时首先初始化两个子系统(群岛),确定优化目标及约束条件后,初始化首批规模较大的群岛。每一个栖息地代表符合约束条件的vm与hm(hostmachine,主机)的一种位置排列,栖息地由一个长度为vm数量的行向量表示,向量中第i个元素代表第i个vm聚合后对应的hm编号;vm对应的hm编号被映射为该栖息地的siv(suitabilityindexvariable,适宜性指数变量),由该栖息地内所有siv共同决定hsi(habitatsuitabilityindex,栖息岛适宜度指数),表示该候选解对vmc(virtualmachineconsolidation,虚拟机聚合)优化目标的匹配程度;众多的栖息地组成一个群岛,表示满足该vmc优化目标的候选解集合;高hsi栖息地的迁出率高,迁入率低;低hsi栖息地迁入率高,迁出率低。
群岛内栖息地规模为n,表示一次迭代所处理的候选解数量。初始化所有栖息地,构造长度为所有vm数量的行向量,依据所有约束条件,初始生成栖息地内每个vm所能对应的hm,初始化siv,其中第i个元素代表第i个vm聚合后对应的hm编号。接着采用余弦模型计算迁移概率。
所述的余弦迁移模型为:
其中,λ表示迁入率,μ表示迁出率,k表示物种种类,i表示最大迁入率,e表示最大迁出率。
不同迁移模型下该算法的性能存在很大差异,当采用更接近真实物种迁移规律的余弦迁移率模型进行siv迁移时,算法表现出来的性能远优于原始算法的线性迁移模型。
完成本步骤后,接着进入步骤104采用mbbo算法对其进行聚合场景适配与编码求解。
步骤104:完成以上三个步骤后,采用mbbo算法进行聚合场景适配与编码求解获得有效解,具体内容为:基于建立的dvmp约束模型及多目标优化理论,分发满足dvmp约束模型中的四种约束条件的初始栖息地群到各计算节点并迭代执行mbbo算法,以不断迭代更新初始种群的方式寻找docker与虚拟机聚合问题的有效解。
首先进行siv迁移,具体内容包括群岛内siv迁移和群岛间siv迁移。
所述的群岛内siv迁移的具体表现为mbbo算法中不同栖息地间siv的迁入、迁出实现了优秀特性的共享,促进mbbo算法在聚合问题解空间的查找。
在群岛内,对每个栖息地进行约束条件匹配和优化目标代价函数计算,并以此进行排名,排名越靠前说明越优秀。排名靠后的栖息地被选中作为siv迁入栖息地的概率更大,同理,排名靠前的被选中作为siv迁出栖息地的概率也更大。
被选中的siv迁入、迁出栖息地一一对应,每个迁入栖息地的siv都有一定概率被来自迁出栖息地的siv代替。
每个子系统都拥有各自的优化目标ok,十三个放置约束条件及t个容器、虚拟机放置问题的候选解,具体表现为以下公式:
subk={sk1,sk2,...,skt,ok1,ok2,ck1,ck2,...,ck13}
各子系统中第t个候选解skt=[sivkt1,sivkt2,…,sivktd]为该系统第t个栖息地,sivktr存储栖息地sivkt中容器r对应的虚拟机与服务器编号双元组[vi,pj]。hsikt代表该栖息地生存适宜度,由优化目标ok的逼近程度决定。
所述的群岛间siv迁移的具体表现为只有被选中且成对的群岛才会进行群岛间迁移。
从一个选中的群岛以一定的概率选出作为siv迁入的栖息地,分别与另一个群岛内所有栖息地距离匹配,选出作为迁出的栖息地,进行两个群岛间siv的迁移。
进行siv迁移的条件判断:若进行siv迁移操作则执行差分方式生成新候选解,执行差分方式生成新候选解完毕后,进入步骤105求解docker与虚拟机聚合放置方法的最优解;若不进行siv迁移操作则继续进行变异siv的条件判断。
进行变异siv的条件判断:若不进行变异siv,则进入步骤105求解docker与虚拟机聚合放置方法的最优解;若进行变异siv操作则先采用高斯变异生成新候选解,然后进入步骤105求解docker与虚拟机聚合放置方法的最优解。
所述的执行差分方式生成新候选解的具体内容为:siv变量的迁移是候选解间共享优秀信息的基础,原始算法中被迁出率选中的优秀siv一次仅能影响一个siv位,会导致对不可分优化问题求解时收敛性能不佳。所述的差分策略公式为:
t≠r1≠r2≠r3
采用差分进化策略,通过差分因子f线性组合迁出栖息岛
所述的进行变异siv的具体内容为:mbbo算法以一种均匀分布方式在所有栖息地中选择突变对象,通过siv突变的方式生成新的候选解,从而增强算法跳出局部最优解的能力。
所述的采用高斯变异生成新候选解的具体内容为:算法中siv的突变是增加解多样性的关键策略,对于提升候选解跳出局部最优的能力有重要影响。采用改进的高斯变异方式实现物种突变,在突变率选中的栖息岛t的第r个siv信息位
步骤105:求解docker与虚拟机聚合放置方法的最优解,具体内容为:
首先进行非支配解排名评估候选解,然后选择更新替换精英解。通过非支配解排名机制,挑选出在多个优化目标上均表现最优的本代精英解,比较本代精英解与上代精英解,若本代更优秀则替换上代精英解,否则维持不变。精英替换策略确保父代的优良候选解直接进入并影响子代,防止获得的最优解丢失。
经过非支配解排名评估候选解操作之后,选择更新替换精英解,每次迭代完成siv迁移、突变后,调用优化目标代价函数,分别计算群岛内新产生的子代栖息地以及父代精英解的hsi值,依据hsi值从大到小排序挑选出最优秀候选解作为当前代的精英解。
由当前代精英解替换父代精英解,并参与下一轮的迭代过程。
接着进行终止条件判断。
迭代完成后,判断是否满足终止条件。若满足终止条件则以最新精英解作为最优解,进入步骤106进行docker与虚拟机聚合放置;若不满足,则再次进入步骤103执行基于mbbo的docker与虚拟机聚合放置的映射方法并计算迁移概率,继续进行迭代直到满足终止条件。
步骤106:根据步骤105的docker与虚拟机聚合放置方法的最优解,进行docker与虚拟机聚合放置。重新安排docker、vm及pm之间的放置关系,将容器聚合放入部分虚拟机后删除空载虚拟机,再将负载集中的虚拟机聚合放入部分服务器,并对空载的服务器设置关闭或低功耗,从而减少服务器数量、提升各服务器的资源利用率和降低数据中心能耗。至此,本次docker与vm聚合放置方法执行结束。
进一步的,所述的基于三层架构下dvmp约束模型对mbbo算法中涉及的栖息岛、群岛、siv、his这些重要概念进行映射,具体表现为以下公式:
以上公式中,dvmp约束模型的整数约束及完整性约束将容器与虚拟机聚合问题描述为寻找海量容器编号、虚拟机编号与服务器编号相互间构成的x、y、z放置矩阵。其中,x矩阵是虚拟机与服务器放置矩阵,元素xnm值为1则虚拟机n放置于服务器m,否则放置关系不成立;y矩阵是容器与虚拟机放置矩阵,矩阵元素ydn值为1则放置成立,容器d放置于虚拟机n;z矩阵是容器与服务器间接放置矩阵,矩阵元素zdm值为1则放置成立,容器d间接放置于服务器m。
所述的dvmp约束模型的完整性约束决定了x、y、z矩阵的稀疏性,为了节省算法运行所需内存空间,采用整数编码进行x、y、z矩阵压缩。构造长度为容器总数量的行向量,向量中第r个元素存储容器r对应放置的虚拟机编号及间接放置的服务器编号。记录各容器位置安排的行向量为docker与虚拟机放置的一个候选解,对应于mbbo算法中一个栖息岛,行向量的各元素为该栖息岛的一个siv信息位,所有siv信息位组成一个候选解。
如图5所示,进行单个子系统的docker与虚拟机聚合放置编码,具体表现为基于mbbo的docker与虚拟机聚合放置方法映射:
mbbo算法模拟生物地理学中群岛、栖息地、栖息地适宜性指数hsi、适宜性指数变量siv、种群迁移、突变、生物种群迭代这些概念。通过整个生态系统内部种群间的迁移、突变、迭代实现物种进化,使得不同物种能够选择生存在最适宜的群岛。
进一步的,映射到具体的docker与虚拟机聚合问题,具体内容为:
(1)每一个栖息地代表所有vm与hm的一种位置排列,[x1,x2,...,xi,...,xn];
(2)栖息地由一个长度为vm数量的行向量表示,向量中第i个元素代表第i个vm聚合后对应的hm编号;
(3)第i个vm聚合后对应的hm编号映射为一个siv,由该栖息地内所有siv共同决定栖息地适宜性指数hsi,为该候选解对某个优化目标的匹配程度;
(4)众多的栖息地组成群岛,表示满足某个docker与虚拟机聚合优化目标的候选解集合;
(5)高hsi栖息地由于生存环境适宜、物种丰富,因此迁出率高,迁入率低;而低hsi栖息地迁入率高,迁出率低。同时,不排除极端自然因素造成的栖息地某些种群灭绝,栖息地内siv突变的可能;
(6)物种由高hsi栖息地迁移到低hsi栖息地,能够给低hsi栖息地带去优秀特性,可能提高其hsi;高hsi栖息地siv趋向于迁入低hsi栖息地,能够使优秀候选解中某些恰当的vm与hm位置排列分享给较差的候选解;
(7)栖息地内siv突变,能够产生新的候选解,避免候选解重复性及局部最优解的阻塞性。
图5中各siv信息位的初始化以同时满足dvmp约束模型的所有约束条件为前提,采用均匀分布的概率模型分别初始化以降低数据中心能耗为优化目标和提升资源利用率为优化目标的两个子系统,构成整个docker与虚拟机聚合放置方法的初始种群。
本领域的技术人员容易理解,以上所述仅为本发明的方法实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
PHP网站源码太原设计公司网站报价荷坳网站开发报价铜仁优秀网站设计哪家好哈密阿里店铺托管多少钱宁德优化价格凉山网站seo优化多少钱保定外贸网站建设多少钱黄冈网站改版推荐南昌SEO按效果付费多少钱双龙网站优化软件大运百度标王鹤壁百度网站优化报价武威网站优化多少钱邢台英文网站建设哪家好北京网站推广工具价格玉树网站优化排名多少钱九江设计公司网站哪家好毕节关键词按天收费清徐网络营销太原网站开发佛山网站推广方案多少钱濮阳SEO按天收费阳江关键词按天扣费推荐济源网站推广推荐北京网站制作报价苏州网络推广公司宜昌百度seo价格甘南百度关键词包年推广价格本溪英文网站建设价格广州百度竞价公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运