CN109388476A - 基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法 - Google Patents
基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法 Download PDFInfo
- Publication number
- CN109388476A CN109388476A CN201811190206.XA CN201811190206A CN109388476A CN 109388476 A CN109388476 A CN 109388476A CN 201811190206 A CN201811190206 A CN 201811190206A CN 109388476 A CN109388476 A CN 109388476A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- docker
- server
- solution
- siv
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法,包括以下内容:首先,创造性地将Docker与虚拟机同时作为聚合单位建立基于DVP三层架构的DVMP(Docker and Virtual Machine Placement,Docker与VM放置)约束模型;其次,明确DVMP约束模型的约束条件,建立DVMP聚合放置模型;接着,执行基于MBBO的Docker与虚拟机聚合放置的映射方法;然后,进行聚合场景适配与编码求解获得有效解,以不断迭代更新初始种群的方式寻找Docker与虚拟机聚合问题的最优解决方案;最后,根据最优放置方案进行Docker与虚拟机聚合放置。本发明所述方法能解决虚拟机资源占用大而难以聚合的问题,能优化数据中心能耗及服务器资源利用率。
Description
技术领域
本发明属于云计算中的虚拟机聚合领域,具体涉及一种基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法,用于将Docker与虚拟机同时作为聚合单位,解决虚拟机资源占用大而难以进一步聚合的问题,采用的算法能避免陷入局部最优,大幅度优化数据中心能耗及服务器的资源利用率。
背景技术
2008年以来,云计算(Cloud Computing)技术迅猛发展,数据中心急剧扩张,随之带来了严重的能耗以及高昂的运营成本。现有研究表明数据中心能耗与物理服务器的资源利用率密切相关,故提升数据中心各物理服务器资源利用率,减少激活态物理服务器数量成为降低数据中心能耗与运营成本的关键策略。工业及学术界利用虚拟机(VirtualMachine,简称VM)技术实现物理资源的细粒度分配,聚焦于虚拟机放置问题研究,从而提升物理资源利用率并降低能耗。
2013年以来,随着Docker技术的开源,以Docker为代表的Linux容器技术迅速席卷全球云服务商。如今,大多数PaaS云服务商采用Docker技术与VM技术结合部署的方式,将承担租户完全隔离责任的VM直接运行于PM(Physical Machine,物理服务器),承担各租户微服务隔离的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-Objective Biogeography-based Optimization Algorithm,多目标生物地理学优化算法)的Docker与虚拟机聚合放置方法。首先,创造性地将Docker与虚拟机同时作为聚合单位,建立基于DVP三层架构的DVMP(Docker and Virtual Machine Placement,Docker与VM放置)约束模型;其次,明确DVMP约束模型中的四种约束条件,建立面向能耗及服务器资源利用率优化的DVMP聚合放置模型;然后,采用多目标生物地理学优化算法对该聚合放置模型进行聚合场景适配与编码求解获得候选解,同时采用余弦迁移率模型、差分进化、高斯突变这些方式增加模型跳出局部最优的能力,计算生成新候选解,通过非支配解排名(Non-Dominated Ranking Method)机制,在新候选解中挑选出在多个优化目标上均表现最优的本代精英解(在每一次产生新的一代时,首先把当前最优解原封不动地复制到新的一代中生成精英解,精英解是历史最优解),比较本代精英解与上代精英解,若本代更优秀则替换上代精英解,否则维持不变;最后,以不断迭代更新初始种群的方式寻找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、内存总量,具体表现为以下两个公式:
其中,分别表示第i台虚拟机创建时申请的CPU和内存资源量, 对应第j台服务器能够提供的CPU和内存的资源总量,VM表示虚拟机,mem表示内存,N表示放置到虚拟机;
虚拟机资源利用情况约束条件通过限制每台虚拟机上容器的CPU、内存资源请求,确保容器请求的CPU、内存计算资源不超过该虚拟机创建时申请的资源总量,具体表现为以下两个公式:
其中,分别表示第r台Docker创建时申请的CPU和内存资源量,分别表示第i台虚拟机创建时申请的CPU和内存资源量,D表示容器;
虚拟机和服务器资源使用量的计算约束条件,限制DVP架构中VM及PM资源使用量的计算方式,任一时刻VM及PM的资源使用量应该以其承载的所有Docker容器资源总量作为统计基础,具体表示为以下四个公式:
其中,向量分别表示第r台Docker创建时申请的CPU和内存资源量,yri、zrj分别是容器到虚拟机位置映射矩阵Y和容器到服务器位置映射矩阵Z中代表放置状态的元素,表示第r台容器是否放置于第i台虚拟机上,第r台容器是否运行在第j台服务器上。
本发明进一步的改进在于,步骤2的具体实现方法如下:
包括建立以聚合放置优化为目标的能耗预测模型和建立以最小化服务器数量为目标的资源利用度模型;
建立面向能耗及服务器资源利用率优化的DVMP聚合放置模型具体包括以下步骤:
Step1:
其中,表示处于激活状态下的服务器数量,通过数据中心所有服务器状态变量pj求和进行计算,active表示激活状态;
Step2:由以下公式计算和
其中,和分别表示第j个服务器空闲CPU及内存资源量, 代表服务器j和内存被容器所使用的资源量,remain表示空闲状态,Dused表示被使用状态;
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信息位上增加服从高斯分布、且受控于期望μ和方差σ的随机扰动项,生成新的该栖息岛第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、内存总量,具体表现为以下两个公式:
其中,分别表示第i台虚拟机创建时申请的CPU和内存资源量, 对应第j台服务器能够提供的CPU和内存的资源总量,mem表示内存,cpu表示CPU,VM表示虚拟机,PM表示物理机,N表示放置到虚拟机。以上公式能够限制每一台服务器的资源分配情况,保证服务器的资源分配不超过其能提供的计算资源的上限。
所述虚拟机资源利用情况约束条件通过限制每台虚拟机上容器的CPU、内存资源请求,确保容器请求的CPU、内存计算资源不超过该虚拟机创建时申请的资源总量,具体表现为以下两个公式:
其中,分别表示第r台Docker创建时申请的CPU和内存资源量,分别表示第i台虚拟机创建时申请的CPU和内存资源量,D表示容器,以上公式能够限制每一台虚拟机的资源分配情况,保证虚拟机的资源分配不超过其创建时申请资源总量。
所述虚拟机和服务器资源使用量的计算约束条件,限制DVP架构中VM及PM资源使用量的计算方式,任一时刻VM及PM的资源使用量应该以其承载的所有Docker容器资源总量作为统计基础。精确的资源使用数据统计能够提升多种放置场景下优化目标的优化效果,从而获得更优秀的Docker、VM到PM放置方案。具体表示为以下四个公式:
其中,yri、zrj分别是容器到虚拟机位置映射矩阵Y和容器到服务器位置映射矩阵Z中代表放置状态的元素,表示第r台容器是否放置于第i台虚拟机上,第r台容器是否运行在第j台服务器上。向量分别表示第r台Docker创建时申请的CPU和内存资源量。以上公式限制了放置过程中任一时刻虚拟机及服务器资源使用量的计算方法。
四种约束条件限制了Docker与虚拟机放置的有效性,为具体应用场景下的Docker与虚拟机放置方法提供基础。在放置问题求解过程中,必须保证所有的约束条件同时满足,违反约束的解在优化过程中将被丢弃。只有这样,最终求解的放置方法才是可行解。在此步骤所述的四种约束条件限制下,进入步骤102建立Docker与虚拟机聚合放置模型。
步骤102:基于步骤101建立的DVP三层架构下的DVMP约束模型,明确DVMP约束模型中的四种约束条件,建立面向能耗及服务器资源利用率优化的DVMP聚合放置模型,基于MBBO算法的Docker与虚拟机聚合放置方法以降低数据中心能耗和提升数据中心资源利用率为优化目标。
所述的建立面向能耗及服务器资源利用率优化的DVMP聚合放置模型包括建立以聚合放置优化为目标的能耗预测模型和建立以最小化服务器数量为目标的资源利用度模型。具体内容包括以下步骤:
所述的建立以聚合放置优化为目标的能耗预测模型,具体内容为:
基于系统资源利用率的能耗模型采用线性能耗预测模型服务器的能耗与CPU的利用率之间线性正比。其中,Pidle和Ppeak分别代表服务器j空载能耗与满负荷运行的能耗峰值,表示单位时间内消耗的能量,单位是瓦特每小时。
采用回归分析法建立基于CPU利用率的单台服务器立方多项式能耗预测模型,具体表现为以下公式:
其中,Pidle为静态能耗部分,表示第j台服务器的空载能耗,根据拟合结果Pidle=446.7,第j台服务器随CPU动态变化的动态能耗由αj、βj、γj三个回归系数共同决定,且αj=528、βj=-474.7、γj=334,代表服务器j的CPU资源需求。
空载服务器的能耗为446.7瓦特/时,而满载服务器能耗为834.0瓦特/时,空载服务器的能耗超过满载服务器能耗的一半以上。因此,降低数据中心能耗应首先减少空载服务器的数量。
基于DVMP约束模型,限制服务器实时资源使用量为较虚拟机资源分配更细粒度的容器CPU使用总量,作为数据中心服务器能耗预测模型的计算对象,具体表现为以下公式:
其中,zrj表示容器到服务器位置映射矩阵Z中代表放置状态的元素,active表示激活状态,j表示服务器,r表示容器。
数据中心所有激活态服务器预测能耗的总和为当前数据中心的总能耗。通过重新安排容器、虚拟机的放置位置,搜索能够最小化数据中心总预测能耗的最优解,所述总预测能耗具体表现为以下公式:
其中,j表示服务器,idle表示空载,Power表示能耗,Pidle为静态能耗部分,表示第j台服务器的空载能耗,CPU表示CPU,第j台服务器随CPU动态变化的动态能耗由αj、βj、γj三个回归系数共同决定,代表服务器j的CPU资源需求。
所述的建立以最小化服务器数量为目标的资源利用度模型,具体内容为:
Step1:
其中,同于代表服务器j被容器所使用的CPU资源量。表示处于激活状态下的服务器数量,通过数据中心所有服务器状态变量pj求和进行计算。
Step2:由以下公式计算和
其中,和分别表示第j个服务器空闲CPU及内存资源量, 代表服务器j和内存被容器所使用的资源量,remain表示空闲状态,Dused表示被使用状态,mem表示内存,cpu表示CPU,PM表示物理机。
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(Host Machine,主机)的一种位置排列,栖息地由一个长度为VM数量的行向量表示,向量中第i个元素代表第i个VM聚合后对应的HM编号;VM对应的HM编号被映射为该栖息地的SIV(Suitability IndexVariable,适宜性指数变量),由该栖息地内所有SIV共同决定HSI(Habitat SuitabilityIndex,栖息岛适宜度指数),表示该候选解对VMC(Virtual Machine Consolidation,虚拟机聚合)优化目标的匹配程度;众多的栖息地组成一个群岛,表示满足该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线性组合迁出栖息岛及其同系统两个随机栖息岛对应的第r个SIV信息位,生成新的栖息岛加速算法的收敛速度。
所述的进行变异SIV的具体内容为:MBBO算法以一种均匀分布方式在所有栖息地中选择突变对象,通过SIV突变的方式生成新的候选解,从而增强算法跳出局部最优解的能力。
所述的采用高斯变异生成新候选解的具体内容为:算法中SIV的突变是增加解多样性的关键策略,对于提升候选解跳出局部最优的能力有重要影响。采用改进的高斯变异方式实现物种突变,在突变率选中的栖息岛t的第r个SIV信息位上增加服从高斯分布、且受控于期望μ和方差σ的随机扰动项,生成新的该栖息岛第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与虚拟机聚合放置方法的初始种群。
本领域的技术人员容易理解,以上所述仅为本发明的方法实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法,其特征在于,包括以下步骤:
步骤1,建立基于DVP三层架构的Docker与虚拟机放置约束模型;
步骤2,基于步骤1建立的DVP三层架构下的DVMP约束模型,明确DVMP约束模型中的四种约束条件,建立面向能耗及服务器资源利用率优化的DVMP聚合放置模型;
步骤3,针对步骤2建立的Docker与虚拟机聚合放置模型,执行基于MBBO的Docker与虚拟机聚合放置的映射方法;
步骤4,完成以上三个步骤后,采用MBBO算法进行聚合场景适配与编码求解获得有效解;
步骤5,求解Docker与虚拟机聚合放置方法的最优解;
步骤6,根据步骤5的Docker与虚拟机聚合放置方法的最优解,进行Docker与虚拟机聚合放置。
2.根据权利要求1所述的基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法,其特征在于,步骤1的具体实现方法如下:
基于矢量装箱理论提出DVP三层架构下Docker、VM到PM的放置约束模型,将DVP三层架构下的Docker到虚拟机和虚拟机到服务器的放置问题描述为两层矢量协同装箱问题,以Docker作为虚拟机及服务器的实际负载,对虚拟机放置方案的合理性进行限制;
两层矢量协同装箱问题,具体包括Docker到VM的装箱和VM到PM的装箱的两层矢量装箱模型;
基于装箱理论的DVMP约束模型是在有限的计算资源条件下进行的,Docker、VM到PM的放置过程必须同时满足所有的约束条件,才能获得合理有效的放置方案;约束条件具体包括放置约束模型的整数约束、完整性约束、资源利用情况约束及虚拟机和服务器资源使用量的计算约束。
3.根据权利要求3所述的基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法,其特征在于,
整数约束条件,限制了放置问题解空间的规模,通过将容器、虚拟机放置到整数编号的虚拟机、服务器上,避免容器、虚拟机的位置不存在的情况,具体表现为以下两个公式:
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、内存总量,具体表现为以下两个公式:
其中,分别表示第i台虚拟机创建时申请的CPU和内存资源量, 对应第j台服务器能够提供的CPU和内存的资源总量,VM表示虚拟机,mem表示内存,N表示放置到虚拟机;
虚拟机资源利用情况约束条件通过限制每台虚拟机上容器的CPU、内存资源请求,确保容器请求的CPU、内存计算资源不超过该虚拟机创建时申请的资源总量,具体表现为以下两个公式:
其中,分别表示第r台Docker创建时申请的CPU和内存资源量,分别表示第i台虚拟机创建时申请的CPU和内存资源量,D表示容器;
虚拟机和服务器资源使用量的计算约束条件,限制DVP架构中VM及PM资源使用量的计算方式,任一时刻VM及PM的资源使用量应该以其承载的所有Docker容器资源总量作为统计基础,具体表示为以下四个公式:
其中,向量分别表示第r台Docker创建时申请的CPU和内存资源量,yri、zrj分别是容器到虚拟机位置映射矩阵Y和容器到服务器位置映射矩阵Z中代表放置状态的元素,表示第r台容器是否放置于第i台虚拟机上,第r台容器是否运行在第j台服务器上。
4.根据权利要求3所述的基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法,其特征在于,步骤2的具体实现方法如下:
包括建立以聚合放置优化为目标的能耗预测模型和建立以最小化服务器数量为目标的资源利用度模型;
建立面向能耗及服务器资源利用率优化的DVMP聚合放置模型具体包括以下步骤:
Step1:
其中,表示处于激活状态下的服务器数量,通过数据中心所有服务器状态变量pj求和进行计算,active表示激活状态;
Step2:由以下公式计算和
其中,和分别表示第j个服务器空闲CPU及内存资源量, 代表服务器j和内存被容器所使用的资源量,remain表示空闲状态,Dused表示被使用状态;
Step3:
此公式中αE、βE为两常数,用来表示资源利用度函数中第一部分与第二部分的权重,第一部分代表放置相同规模及配置的容器集,所使用的服务器数量越少则意味着容器放置越集中,因此资源利用率越大,第二部分代表资源余量的影响作用,以CPU及内存资源余量乘积作为放置过程中多维资源的有效评估;αE为第一部分的权值,其值远大于βE的绝对值,βE取负值使得第二部分取值越小越好,由于第一部分提升资源利用率的效果更强,因此αE>0>βE且αE远远大于|βE|,使得资源利用度函数两部分总和越小则放置方案越优秀。
5.根据权利要求4所述的基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法,其特征在于,步骤3的具体实现方法如下:
基于MBBO的Docker与虚拟机聚合放置的映射方法,具体表现为:
基于MBBO算法的Docker与虚拟机聚合放置方法以降低数据中心能耗和提升数据中心资源利用率为优化目标,因此种群初始化时首先初始化两个子系统;
每一个栖息地代表符合约束条件的VM与HM的一种位置排列,栖息地由一个长度为VM数量的行向量表示,向量中第i个元素代表第i个VM聚合后对应的HM编号;VM对应的HM编号被映射为该栖息地的SIV,由该栖息地内所有SIV共同决定HSI,表示该候选解对VMC优化目标的匹配程度;众多的栖息地组成一个群岛,表示满足该VMC优化目标的候选解集合;高HSI栖息地的迁出率高,迁入率低;低HSI栖息地迁入率高,迁出率低。
6.根据权利要求5所述的基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法,其特征在于,步骤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信息位上增加服从高斯分布、且受控于期望μ和方差σ的随机扰动项,生成新的该栖息岛第r个SIV信息位公式为:
7.根据权利要求6所述的基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法,其特征在于,步骤5的具体实现方法如下:
首先,进行非支配解排名评估候选解,然后选择更新替换精英解;通过非支配解排名机制,挑选出在多个优化目标上均表现最优的本代精英解,比较本代精英解与上代精英解,若本代更优秀则替换上代精英解,否则维持不变;然后,选择更新替换精英解,每次迭代完成SIV迁移、突变后,调用优化目标代价函数,分别计算群岛内新产生的子代栖息地以及父代精英解的HSI值,依据HSI值从大到小排序挑选出最优秀候选解作为当前代的精英解,由当前代精英解替换父代精英解,并参与下一轮的迭代过程;
接着进行终止条件判断;
迭代完成后,判断是否满足终止条件,若满足终止条件则以最新精英解作为最优解,进入步骤6进行Docker与虚拟机聚合放置;若不满足,则再次进入步骤3执行基于MBBO的Docker与虚拟机聚合放置的映射方法并计算迁移概率,继续进行迭代直到满足终止条件。
8.根据权利要求7所述的基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法,其特征在于,步骤6的具体实现方法如下:
重新安排Docker、VM及PM之间的放置关系,将容器聚合放入部分虚拟机后删除空载虚拟机,再将负载集中的虚拟机聚合放入部分服务器,并对空载的服务器设置关闭或低功耗,从而减少服务器数量、提升各服务器的资源利用率和降低数据中心能耗,至此,本次Docker与VM聚合放置方法执行结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811190206.XA CN109388476A (zh) | 2018-10-12 | 2018-10-12 | 基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811190206.XA CN109388476A (zh) | 2018-10-12 | 2018-10-12 | 基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109388476A true CN109388476A (zh) | 2019-02-26 |
Family
ID=65427603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811190206.XA Pending CN109388476A (zh) | 2018-10-12 | 2018-10-12 | 基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388476A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112073452A (zh) * | 2020-05-27 | 2020-12-11 | 河南工程学院 | 一种能源有效和资源受限的移动边缘计算任务分配方法 |
CN112105081A (zh) * | 2019-06-17 | 2020-12-18 | 北京化工大学 | 一种基于改进生物地理学优化算法的高精度无线定位方法 |
CN113010316A (zh) * | 2021-03-29 | 2021-06-22 | 华南理工大学 | 一种基于云计算的多目标群智能算法并行优化方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360908A (zh) * | 2014-10-31 | 2015-02-18 | 东北大学 | 基于蚁群优化算法的云环境下sbs资源配置方法 |
CN105843666A (zh) * | 2015-12-01 | 2016-08-10 | 武汉科技大学 | 云计算中基于多目标优化的虚拟机放置方法 |
US20160253192A1 (en) * | 2015-02-26 | 2016-09-01 | Vmware, Inc. | Dynamic host performance tuning of a network stack |
US20160274928A1 (en) * | 2015-03-20 | 2016-09-22 | International Business Machines Corporation | Virtual machine migration between hypervisor virtual machines and containers |
CN106843997A (zh) * | 2016-10-26 | 2017-06-13 | 西安交通大学 | 一种基于Spark与优化MBBO算法的并行虚拟机聚合方法 |
US20170168715A1 (en) * | 2015-12-11 | 2017-06-15 | Vmware, Inc. | Workload aware numa scheduling |
CN107329799A (zh) * | 2017-05-22 | 2017-11-07 | 国网安徽省电力公司信息通信分公司 | 一种融合Docker容器与KVM虚拟化技术的系统 |
CN108563451A (zh) * | 2018-02-26 | 2018-09-21 | 挖财网络技术有限公司 | 一种Docker容器的构建和发布的方法、装置及系统 |
-
2018
- 2018-10-12 CN CN201811190206.XA patent/CN109388476A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360908A (zh) * | 2014-10-31 | 2015-02-18 | 东北大学 | 基于蚁群优化算法的云环境下sbs资源配置方法 |
US20160253192A1 (en) * | 2015-02-26 | 2016-09-01 | Vmware, Inc. | Dynamic host performance tuning of a network stack |
US20160274928A1 (en) * | 2015-03-20 | 2016-09-22 | International Business Machines Corporation | Virtual machine migration between hypervisor virtual machines and containers |
CN105843666A (zh) * | 2015-12-01 | 2016-08-10 | 武汉科技大学 | 云计算中基于多目标优化的虚拟机放置方法 |
US20170168715A1 (en) * | 2015-12-11 | 2017-06-15 | Vmware, Inc. | Workload aware numa scheduling |
CN106843997A (zh) * | 2016-10-26 | 2017-06-13 | 西安交通大学 | 一种基于Spark与优化MBBO算法的并行虚拟机聚合方法 |
CN107329799A (zh) * | 2017-05-22 | 2017-11-07 | 国网安徽省电力公司信息通信分公司 | 一种融合Docker容器与KVM虚拟化技术的系统 |
CN108563451A (zh) * | 2018-02-26 | 2018-09-21 | 挖财网络技术有限公司 | 一种Docker容器的构建和发布的方法、装置及系统 |
Non-Patent Citations (6)
Title |
---|
QINGHUA ZHENG等: "A Multi-Objective Biogeography-Based Optimization for", 《2015 15TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND GRID COMPUTING》 * |
QINGHUA ZHENG等: "Virtual machine consolidated placement based on multi-objective", 《FUTURE GENERATION COMPUTER SYSTEMS》 * |
QUANXI FENG等: "Biogeography-based optimization with improved migration", 《SPRINGER SCIENCE+BUSINESS MEDIA NEW YORK 2014》 * |
RONG ZHANG等: "Container-VM-PM Architecture: A Novel", 《CLOUD COMPUTING-CLOUD 2018》 * |
RUI LI等: "A Novel Multi-Objective Optimization Scheme for", 《2016 IEEE 9TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING》 * |
董博等: "基于多 SimHash 指纹的近似文本检测", 《小型微型计算机系统》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112105081A (zh) * | 2019-06-17 | 2020-12-18 | 北京化工大学 | 一种基于改进生物地理学优化算法的高精度无线定位方法 |
CN112073452A (zh) * | 2020-05-27 | 2020-12-11 | 河南工程学院 | 一种能源有效和资源受限的移动边缘计算任务分配方法 |
CN112073452B (zh) * | 2020-05-27 | 2021-04-27 | 河南工程学院 | 一种能源有效和资源受限的移动边缘计算任务分配方法 |
CN113010316A (zh) * | 2021-03-29 | 2021-06-22 | 华南理工大学 | 一种基于云计算的多目标群智能算法并行优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gao et al. | A multi-objective ant colony system algorithm for virtual machine placement in cloud computing | |
Alresheedi et al. | Improved multiobjective salp swarm optimization for virtual machine placement in cloud computing | |
CN110489229B (zh) | 一种多目标任务调度方法及系统 | |
Zhang et al. | Binary artificial algae algorithm for multidimensional knapsack problems | |
Pacini et al. | Distributed job scheduling based on Swarm Intelligence: A survey | |
Fu et al. | Task scheduling of cloud computing based on hybrid particle swarm algorithm and genetic algorithm | |
CN109388476A (zh) | 基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法 | |
Huo et al. | Multi-objective service composition model based on cost-effective optimization | |
CN109445907A (zh) | 一种用户服务高可用的Docker与虚拟机聚合放置方法 | |
CN106371924B (zh) | 一种最小化MapReduce集群能耗的任务调度方法 | |
Luo et al. | Enhanced self-adaptive global-best harmony search without any extra statistic and external archive | |
Mansouri et al. | A multi-objective optimized replication using fuzzy based self-defense algorithm for cloud computing | |
Gu et al. | Exploring layered container structure for cost efficient microservice deployment | |
CN109086900A (zh) | 基于多目标粒子群优化算法的电力物资保障及调配平台 | |
CN113708969A (zh) | 一种基于深度强化学习的云数据中心虚拟网络的协同嵌入方法 | |
CN111966495A (zh) | 数据处理方法和装置 | |
Solgi et al. | Bee-inspired metaheuristics for global optimization: a performance comparison | |
Niazy et al. | A hybrid chicken swarm optimization with tabu search algorithm for solving capacitated vehicle routing problem | |
CN111176784A (zh) | 一种基于极限学习机和蚁群系统的虚拟机整合方法 | |
Liu et al. | A discrete squirrel search optimization based algorithm for Bi-objective TSP | |
Li et al. | A novel and efficient salp swarm algorithm for large-scale QoS-aware service composition selection | |
CN108960508B (zh) | 基于量子蝙蝠算法的铸造造型及熔炼批量计划获取方法 | |
Li | Optimization of multi-objective virtual machine based on ant colony intelligent algorithm | |
Fang et al. | DI_GA: A heuristic mapping algorithm for heterogeneous network-on-chip | |
Chatterjee et al. | Adaptive dynamic probabilistic elitist ant colony optimization in traveling salesman problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190226 |
|
RJ01 | Rejection of invention patent application after publication |