CN109445907A - 一种用户服务高可用的Docker与虚拟机聚合放置方法 - Google Patents
一种用户服务高可用的Docker与虚拟机聚合放置方法 Download PDFInfo
- Publication number
- CN109445907A CN109445907A CN201811190208.9A CN201811190208A CN109445907A CN 109445907 A CN109445907 A CN 109445907A CN 201811190208 A CN201811190208 A CN 201811190208A CN 109445907 A CN109445907 A CN 109445907A
- Authority
- CN
- China
- Prior art keywords
- service
- virtual machine
- server
- docker
- placement
- 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
- 238000000034 method Methods 0.000 title claims abstract description 113
- 238000011156 evaluation Methods 0.000 claims abstract description 25
- 238000009826 distribution Methods 0.000 claims abstract description 8
- 238000004088 simulation Methods 0.000 claims abstract description 5
- 230000002776 aggregation Effects 0.000 claims description 83
- 238000004220 aggregation Methods 0.000 claims description 83
- 238000005265 energy consumption Methods 0.000 claims description 74
- 230000005012 migration Effects 0.000 claims description 66
- 238000013508 migration Methods 0.000 claims description 66
- 238000013507 mapping Methods 0.000 claims description 41
- 238000004422 calculation algorithm Methods 0.000 claims description 38
- 238000005457 optimization Methods 0.000 claims description 35
- 230000015654 memory Effects 0.000 claims description 29
- 239000011159 matrix material Substances 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 23
- 239000013598 vector Substances 0.000 claims description 19
- 230000035772 mutation Effects 0.000 claims description 16
- 238000006116 polymerization reaction Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 11
- 230000008439 repair process Effects 0.000 claims description 11
- 230000006978 adaptation Effects 0.000 claims description 8
- 230000006872 improvement Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000013468 resource allocation Methods 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 5
- 241000894007 species Species 0.000 claims description 5
- 241000713311 Simian immunodeficiency virus Species 0.000 claims description 3
- 238000000611 regression analysis Methods 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 2
- 230000009467 reduction Effects 0.000 claims description 2
- 238000004134 energy conservation Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000004931 aggregating effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 208000028804 PERCHING syndrome Diseases 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013210 evaluation model Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- 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
-
- 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/45587—Isolation or security of virtual machine instances
-
- 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与虚拟机聚合放置方法,包括以下内容:首先,以服务器节点独立作为用户服务多副本分布的前提条件建立DVP(Docker‑VM‑PM)三层架构环境下的用户服务高可用DVMP(Docker and Virtual Machine Placement,Docker与VM放置)约束模型;其次,在此基础上增加容器副本冗余部署的约束条件,建立用户服务高可用的Docker与虚拟机聚合放置模型;然后,构建高可用的Docker与虚拟机聚合放置方案;最后,提出“宕机”模拟的服务容错能力评价方法及服务容错度计算模型对放置方案进行评价。本发明提出的方法能大幅度提升用户服务容错能力,实现节能与用户服务的高可用目标。
Description
技术领域
本发明属于云计算中的虚拟机聚合领域,具体涉及一种即节能又能保证用户服务高可用的Docker与虚拟机聚合放置方法。
背景技术
近年来,随着云计算(Cloud Computing)技术迅猛发展,云业务需求日益增长,数据中心的规模也不断扩大,伴之而来的高能耗问题亟待解决。现有技术中基于虚拟机(Virtual Machine)级的聚合起到了较好的节能作用,它将现有的虚拟机聚集放置在更少的物理主机上,并休眠或关闭闲置的物理主机以达到节能的目的。而依次进行Docker容器级与虚拟机级的聚合放置能起到更好的节能效果,它将现有的Docker容器聚集放置到更少量的虚拟机中并注销空闲虚拟机,然后进行虚拟机级的聚合放置。
但是,进行Docker容器级与虚拟机级的聚合有可能会降低用户服务的高可用性(High Availablity,简称HA),即当承载用户服务的某Docker容器所对应放置的物理主机发生故障时,需要快速启用发生中断位置Docker容器的容器副本,以保证业务服务的连续性;然而由于Docker容器与虚拟机的聚合有可能使得原Docker容器与其容器副本均放置于同一物理主机中,导致业务服务恢复失败,从而降低了用户服务的可用程度,降低了业务服务水平。因此,始终保持用户服务的高可用性是亟待解决的技术问题。
针对如何有效地确保虚拟机的高可用性,以下专利提供了相应的技术方案:
文献1.一种虚拟机高可用实现系统及其实现方法(专利号:CN201710207684.6);
文献2.一种实现虚拟机高可用性的方法及装置(专利号:CN 201710882792.3)。
文献1提供了一种虚拟机高可用实现系统及其实现方法,在每台虚拟机中添加有一个守护进程,计算节点中添加有一个检测线程,计算节点连接管理节点;守护进程通过通信链路定时向检测线程发送对应的虚拟机的正常运行的信息,当守护进程不再发送对应的虚拟机正常运行的信息时,则判断该虚拟机发生异常,计算节点根据负载情况通过通信链路控制该虚拟机重启或将该虚拟机迁移,实现虚拟机高可用;文献2涉及一种实现虚拟机高可用性的方法及装置。该方法接收zookeeper发送的虚拟机集群中第一虚拟机的心跳异常的通知消息,检测第一物理机的心跳,当确定第一物理机的心跳未发生异常时,定位业务系统发生故障的位置在第一虚拟机;当确定第一物理机的心跳发生异常时,检测与第一物理机属于同一网段的第二物理机的心跳,根据第二物理机的心跳,确定业务系统发生故障的位置在第一物理机与服务器之间的网络或者为第一物理机。通过上述检测方法确定发生故障的为第一虚拟机或第一物理机,又或者为第一物理机与服务器之间的网络。从而根据发生故障的位置不同,做出不同的处理,实现虚拟机的高可用。
以上文献所述方法主要存在以下问题:文献1采用守护进程经过通信链路定时向检测线程发送对应虚拟机的运行信息的方式来检测异常情况,计算节点根据负载情况通过通信链路控制该虚拟机重启;文献2采用接收虚拟机和物理机心跳异常的通知消息从而检测故障,但重启失败用户服务时,资源组迁移存在一定的时间及服务性能代价,而且在同一服务多个副本实际同在一台服务器时出现该服务器宕机所致单点故障的情况下,文献1和文献2的检测方法都无法准确检测出现故障的原因,难以确保用户服务高可用性。
发明内容
本发明的目的在于针对上述现有技术中的问题,提供了一种用户服务高可用的Docker与虚拟机聚合放置方法。首先,以服务器节点独立作为用户服务多副本分布的前提条件,建立DVP(Docker-VM-PM)三层架构环境下的用户服务高可用DVMP(Docker andVirtual Machine Placement,Docker与VM放置)约束模型;其次,在此基础上增加容器副本冗余部署的约束条件,建立用户服务高可用的Docker与虚拟机聚合放置模型;然后,构建高可用的Docker与虚拟机聚合放置方案,通过MBBO算法(Multi-Objective Biogeography-based Optimization Algorithm,多目标生物地理学优化算法)对该聚合放置模型进行聚合场景适配与编码求解,以不断迭代更新初始种群的方式寻找Docker与虚拟机聚合问题的最优解决方案,并采用用户服务高可用约束修复方法修复不满足服务器独立约束的候选解;最后,提出“宕机”模拟的服务容错能力评价方法及服务容错度计算模型,对Docker、VM到PM放置方案进行服务容错能力评价。本发明以服务器独立为用户服务高可用服务副本冗余部署前提,研究高可用Docker与虚拟机放置问题,能够大幅度提升用户服务容错能力,确保用户服务的高可用性,实现节能与用户服务的高可用目标。
本发明采用如下技术方案来实现的:
一种用户服务高可用的Docker与虚拟机聚合放置方法,包括以下步骤:
步骤1,以服务器节点独立作为用户服务多副本分布的前提条件,建立DVP三层架构环境下的高可用DVMP约束模型;
步骤2,基于步骤1建立的DVP三层架构下的用户服务高可用DVMP约束模型,明确DVMP约束模型中的约束条件,建立用户服务高可用的Docker与虚拟机聚合放置模型;
步骤3,针对步骤2建立的用户服务高可用的Docker与虚拟机聚合放置模型,构建高可用的Docker与虚拟机聚合放置方案;
步骤4,进行服务容错能力评价。
本发明进一步的改进在于,步骤1的具体实现方法如下:
将DVP三层架构下的Docker到虚拟机和虚拟机到服务器的放置问题描述为两层矢量协同装箱问题,两层矢量协同装箱问题,具体包括Docker到VM的装箱和VM到PM的装箱的两层矢量装箱模型;
以Docker作为虚拟机及服务器的实际负载,对虚拟机放置方案的合理性进行限制,基于装箱理论的高可用DVMP约束模型是在有限的计算资源条件下进行的,Docker、VM到PM的放置过程必须同时满足所有的约束条件,才能获得合理有效的放置方案;
约束条件具体包括放置约束模型的整数约束、完整性约束、资源利用情况约束及基于服务器独立的冗余部署约束条件。
本发明进一步的改进在于,整数约束,限制放置问题的有效解为整数空间,具体表现为以下公式:
xij,yri,zrj,sre,pj,vi,le∈{0,1} i∈N,j∈M,r∈D,e∈E
其中,xij、yri、zrj和sre为VM-PM位置映射矩阵X、Docker-VM位置映射矩阵Y、Docker-PM位置映射矩阵Z和Docker-Service归属映射矩阵S的中状态变量,其值为1则映射关系成立;vi、pj和le为虚拟机i、服务器j、用户服务e的状态变量,其取值不是0就是1,1表示虚拟机i、服务器j处于运行状态,0表示虚拟机i、服务器j已关闭;
完整性约束,具体表现为以下公式:
其中,以X、Y、Z和S矩阵中各行向量所有元素累加求和且结果限制为1的方式,确保任一台容器、虚拟机仅与某一台虚拟机、服务器产生放置关系,并限制任一容器仅可属于某一用户服务,r表示容器,M表示放置到服务器,N表示放置到虚拟机,E表示用户服务;
资源利用情况约束,限制每台虚拟机、服务器的资源分配情况,具体表现为以下公式:
其中,分别表示第i台虚拟机创建时申请的CPU和内存资源量, 对应第j台服务器能够提供的CPU和内存的资源总量;分别表示第r台Docker创建时申请的CPU和内存资源量,Docker表示容器,VM表示虚拟机,PM表示服务器;
基于服务器独立的冗余部署约束条件,通过限制微服务框架中任一单体服务的所有容器副本为集合A冗余部署时,所有副本放置的服务器编号即集合B中任意一对元素均不相等,任意一对容器副本不可放置于同一服务器的方式,确保用户服务高可用框架的整体有效性,具体表现为以下公式:
A={r|sre=1,e=1,2,...,E}
B={j|zrj=1,r∈A,j=1,2,...,M}
其中,r表示容器,j表示服务器,e表示用户服务,Z表示Docker-PM位置映射矩阵,S表示Docker-Service归属映射矩阵,p和q表示集合B中的子集。
本发明进一步的改进在于,步骤2的具体实现方法如下:
建立以聚合放置优化为目标的能耗预测模型,具体内容为:
基于系统资源利用率的能耗模型采用线性能耗预测模型服务器的能耗与CPU的利用率之间线性正比;其中,Pidle和Ppeak分别代表服务器j空载能耗与满负荷运行的能耗峰值,表示单位时间内消耗的能量,单位是瓦特每小时,j表示服务器,idle表示空载,peak表示峰值;
采用回归分析法建立基于CPU利用率的单台服务器立方多项式能耗预测模型,具体表现为以下公式:
其中,idle表示空载,Pidle为静态能耗部分,表示第j台服务器的空载能耗,第j台服务器随CPU动态变化的动态能耗由αj、βj、γj三个回归系数共同决定,代表服务器j的CPU资源需求,Power表示能耗;
基于DVMP约束模型,限制服务器实时资源使用量为较虚拟机资源分配更细粒度的容器CPU使用总量,作为数据中心服务器能耗预测模型的计算对象,具体表现为以下公式:
其中,docker表示容器,PM表示服务器,r表示容器,j表示服务器,M表示放置到服务器,D表示放置到容器,active表示激活状态;
数据中心所有激活态服务器预测能耗的总和为当前数据中心的总能耗,通过重新安排容器、虚拟机的放置位置,搜索能够最小化数据中心总预测能耗的最优解,总预测能耗具体表现为以下公式:
其中,j表示服务器,idle表示空载,Power表示能耗,Pidle为静态能耗部分,表示第j台服务器的空载能耗,代表服务器j的CPU资源需求;
建立以最小化服务器数量为目标的资源利用度模型,具体内容为:
Step1:
其中,同于代表服务器j被容器所使用的CPU资源量,表示处于激活状态下的服务器数量,active表示激活状态,通过数据中心所有服务器状态变量pj求和进行计算;
Step2:由以下公式计算和
其中,和分别表示第j个服务器空闲CPU及内存资源量, 代表服务器j和内存被容器所使用的资源量,remain表示空闲状态,Dused表示被使用状态;
Step3:
式中remain表示空闲状态,active表示激活状态,M表示放置到服务器,j表示服务器,αE、βE为两个常数,用来表示资源利用度函数中第一部分与第二部分的权重,αE为第一部分的权值,其值远大于βE的绝对值,βE取负值使得第二部分取值越小越好,由于第一部分提升资源利用率的效果更强,因此αE>0>βE且αE远远大于|βE|,使得资源利用度函数两部分总和越小则放置方案越优秀;
限制放置模型应用时,任一时刻虚拟机及服务器的资源使用量应该以其承载的总容器资源申请量作为统计基础,具体表现为以下公式:
其中,Dused表示被使用状态,docker表示容器,mem表示内存,j表示服务器,r表示容器,i表示虚拟机,zrj表示Docker-PM位置映射矩阵Z,yri表示Docker-VM位置映射矩阵Y。
本发明进一步的改进在于,步骤3的具体实现方法如下:
通过MBBO算法对该聚合放置模型进行聚合场景适配与编码求解,以不断迭代更新初始种群的方式寻找Docker与虚拟机聚合问题的最优解决方案,并采用用户服务高可用约束修复方法修复不满足服务器独立约束的候选解,具体内容为:
Step1:执行基于MBBO的Docker与虚拟机聚合放置的映射方法;
基于MBBO的Docker与虚拟机聚合放置的映射方法,具体表现为:
基于MBBO算法的Docker与虚拟机聚合放置方法以降低数据中心能耗和提升数据中心资源利用率为优化目标,因此种群初始化时首先初始化两个子系统;
种群初始化时首先初始化两个子系统,每一个栖息地代表符合约束条件的VM与HM的一种位置排列,栖息地由一个长度为VM数量的行向量表示,向量中第i个元素代表第i个VM聚合后对应的HM编号;VM对应的HM编号被映射为该栖息地的SIV,由该栖息地内所有SIV共同决定HSI,表示该候选解对VMC优化目标的匹配程度;众多的栖息地组成一个群岛,表示满足该VMC优化目标的候选解集合;高HSI栖息地的迁出率高,迁入率低;低HSI栖息地迁入率高,迁出率低;
Step2:进行聚合场景适配与编码求解获得有效解;
基于DVMP约束模型及多目标优化理论,分发满足DVMP约束模型中的四种约束条件的初始栖息地群到各计算节点并迭代执行MBBO算法,利用快速非支配解排序机制进行精英解更替,以不断迭代更新初始种群的方式寻找Docker与虚拟机聚合问题的有效解;
首先进行SIV迁移,具体内容包括群岛内SIV迁移和群岛间SIV迁移,群岛内SIV迁移的具体表现为MBBO算法中不同栖息地间SIV的迁入、迁出实现了优秀特性的共享,促进MBBO算法在聚合问题解空间的查找,群岛间SIV迁移的具体表现为只有被选中且成对的群岛才会进行群岛间迁移;从一个选中的群岛以设定的概率选出作为SIV迁入的栖息地,分别与另一个群岛内所有栖息地距离匹配,选出作为迁出的栖息地,进行两个群岛间SIV的迁移;
其次,进行SIV迁移的条件判断:若进行SIV迁移操作则执行差分方式生成新候选解,执行差分方式生成新候选解完毕后,求解Docker与虚拟机聚合放置方法的最优解;若不进行SIV迁移操作则继续进行变异SIV的条件判断;
进行变异SIV的条件判断,具体内容为:若不进行变异SIV,则求解Docker与虚拟机聚合放置方法的最优解;若进行变异SIV操作则先采用高斯变异生成新候选解,然后求解Docker与虚拟机聚合放置方法的最优解;
执行差分方式生成新候选解的具体内容为:SIV变量的迁移是候选解间共享优秀信息的基础,原始算法中被迁出率选中的优秀SIV一次仅能影响一个SIV位,会导致对不可分优化问题求解时收敛性能不佳,差分策略公式为:
其中,r表示第r个信息位,t表示栖息岛,表示栖息岛t的第r个SIV信息位;
采用高斯变异生成新候选解的具体内容为:算法中SIV的突变是增加解多样性的关键策略,对于提升候选解跳出局部最优的能力有重要影响;采用改进的高斯变异方式实现物种突变,在突变率选中的栖息岛t的第r个SIV信息位上增加服从高斯分布、且受控于期望μ和方差σ的随机扰动项,生成新的该栖息岛第r个SIV信息位公式为:
Step3:求解Docker与虚拟机聚合放置方法的最优解;
首先,进行非支配解排名评估候选解,然后选择更新替换精英解;
非支配解排名评估候选解的具体内容为:通过非支配解排名机制,挑选出在多个优化目标上均表现最优的本代精英解,比较本代精英解与上代精英解,若本代更优秀则替换上代精英解,否则维持不变;
选择更新替换精英解的具体内容为:每次迭代完成SIV迁移、突变后,调用优化目标代价函数,分别计算群岛内新产生的子代栖息地以及父代精英解的HSI值,依据HSI值从大到小排序挑选出最优秀候选解作为当前代的精英解;由当前代精英解替换父代精英解,并参与下一轮的迭代过程;
Step4:执行服务高可用约束修复方法;
对于得到的不满足服务器独立约束的候选解,采用用户服务高可用约束修复方法对其进行修复,用户服务高可用约束修复方法采用基于FFD算法的约束恢复方法进行修复;
FFD算法依据虚拟机配置资源在所有CPU可用资源降序排列服务器中选择第一个满足该虚拟机资源约束的服务器,输入违背用户服务高可用约束部署的候选解,对放置于同一服务器的容器重新安排位置,选择其它活跃状态的物理主机上的第一个能容纳该容器副本放置的虚拟机,并将该容器副本放入虚拟机中,保存容器、虚拟机与物理主机三者之间对应的映射;
然后进行迭代终止条件判断,判断是否满足迭代终止条件,若满足终止条件则以最新精英解作为最优解进行Docker与虚拟机聚合放置,重新安排Docker、VM及PM之间的放置关系,将容器聚合放入部分虚拟机后删除空载虚拟机,再将负载集中的虚拟机聚合放入部分服务器,并对空载的服务器设置关闭或低功耗,从而减少服务器数量、提升各服务器的资源利用率和降低数据中心能耗;若不满足,则再次执行基于MBBO的Docker与虚拟机聚合放置的映射方法并计算迁移概率,继续进行迭代直到满足终止条件。
本发明进一步的改进在于,步骤4的具体实现方法如下:
对得到的近似最优的放置方案执行服务容错能力评价,通过设置服务器宕机数量,模拟数据中心若干激活态服务器意外宕机过程,统计托管于宕机服务器的仍可提供用户高可用服务访问的副本数量,并给出用户高可用的服务危机评级标准,构建服务容错度模型,将其值作为当前DVMP放置方案服务容错力的评价指标,简称容错度;具体包括以下步骤:
设置服务器宕机数量,具体内容在于对比多个放置方案,选择其中服务器的最少使用量作为基准,使用服务器的最少使用量及宕机概率共同限制放置方案中执行服务容错能力评价方法的宕机服务器数量;
统计托管宕机服务器仍可提供访问的副本数量,具体过程包括依据预设的宕机数量,从放置方案所有激活态服务器中随机选择该数量个数服务器作为“被宕机”的服务器序列,遍历“宕机”服务器序列,依次统计各服务器上“宕机”致使陷入疑似“危机”的高可用服务并仍能支持服务访问的副本数量;
用户高可用的服务危机评价标准,具体划分为“严重”、“中度”、“轻度”三类;其中,当服务副本数量大于3时,说明用户服务实际具有相当的容错能力,将其定义为“轻度”危机;当服务副本数量低于3且不小于1时,服务能够容忍失败节点的数量为0,但此时该服务实际仍能提供访问且通过人为修复能够提升服务容错能力,将其定义为“中度”危机;当服务副本数量为0时,表示该服务完全终止访问,定义为“严重”危机;
构建服务容错度模型,具体内容在于统计被“宕机”服务器波及的所有高可用服务出现不同服务危机的服务数量,并选用不同权重与三类服务危机规模进行乘积求和,其值表示为当前放置方案的服务容错度,模型假设被选中“宕机”的服务器所承载的所有容器将中止服务,而未被选中的“安全”服务器所承载的容器均能提供正常服务,具体表现为以下公式:
Min Tolerance=αt*Nseverity+βt*Nmedium+γt*Nmild
其中Nseverity、Nmedium、Nmild分别代表宕机模拟后统计的处于“严重”、“中度”及“轻度”危机的高可用服务数量,Tolerance值越小表示出现“严重”危机的服务数量越少,放置方案的容错能力越强,反之,放置方案的容错能力越弱;
根据服务容错能力评价方法的约定,“安全”结点中支撑服务运行的副本数量为0时记为“严重”危机,“安全”服务副本数量至少为1时记为“中度”危机,“安全”服务副本数量至少为3时记为“轻度”危机,三种程度的服务危机中,“严重”危机意味着用户的服务完全崩溃无法提供访问,存在用户服务损失;αt、βt、γt分别作为不同服务危机的权重,为了突出不同放置方案所致服务危机的严重性,服务容错度模型中将“严重”服务危机的权值αt取值远大于“中度”、“轻度”危机βt及γt,取值满足αt>βt>γt。
本发明具有如下有益的技术效果:
1、本发明以服务器独立为用户服务高可用服务副本冗余部署前提,研究用户服务高可用Docker与虚拟机放置问题。通过MBBO算法实现服务容错能力优化的用户服务高可用Docker与虚拟机聚合放置方法,实现节能与用户服务的高可用目标。
2、本发明利用快速非支配解排序机制进行精英解更替,以不断迭代更新初始种群的方式寻找Docker与虚拟机聚合问题的有效解,并采用用户服务高可用约束修复方法修复不满足服务器独立约束的候选解,保证生成的候选解满足服务器独立约束。
3、本发明提出的用户服务高可用评价模型能够度量不同DVMP放置方案的服务容错能力,确保在进行以节能为目标的Docker与虚拟机聚合过程中的用户服务高可用性。
综上所述,本发明以服务器独立为用户服务高可用服务副本冗余部署前提,研究用户服务高可用的Docker与虚拟机放置问题,提出了一种用户服务高可用的Docker与虚拟机聚合放置装置及方法,并提出Docker、VM到PM(Physical Machine,物理服务器)的放置过程必须同时满足的约束条件,通过限制任意一对容器副本不可放置于同一服务器的方式,确保用户服务高可用框架的整体有效性,确保在进行以节能为目标的Docker与虚拟机聚合过程中的用户服务高可用性。
附图说明
图1是本发明方法的整体流程图;
图2是二维资源下DVMP两层装箱示意图;
图3是二维资源下容器到虚拟机的装箱模型图;
图4是虚拟机到服务器的装箱模型图;
图5是高可用的Docker与虚拟机聚合放置方案的流程图;
图6是服务容错能力评价方法示意图。
具体实施方式
下面参照附图,结合具体实施例对本发明用户服务高可用的Docker与虚拟机聚合放置方法作进一步说明。
如图1所示,本申请实施例中,用户服务高可用的Docker与虚拟机聚合放置过程,包括下述步骤:
步骤100:以服务器节点独立作为用户服务多副本分布的前提条件,建立DVP(Docker-VM-PM)三层架构环境下的用户服务高可用DVMP约束模型。
将DVP三层架构下的Docker到虚拟机和虚拟机到服务器的放置问题描述为两层矢量协同装箱问题,以Docker作为虚拟机及服务器的实际负载,对虚拟机放置方案的合理性进行限制。
所述的步骤1中的两层矢量协同装箱问题,具体包括Docker到VM的装箱和VM到PM的装箱的两层矢量装箱模型,CPU和内存二维资源的DVMP两层装箱示意图如图2所示。
优选的,所述的装箱方式非传统的货物之间紧邻放置,由于虚拟机及服务器不同维度的计算资源仅能提供单一上限的使用总量,当虚拟机将服务器某一维资源全部占用时,即使服务器其他维度资源大量空余,也无法装入新的虚拟机,类似于箱子内部的小立方体沿箱子的对角线放置且互不相邻,因此所述的装箱方式中货物呈现沿箱子的对角线放置过程。
为了便于分析,将图2分解为图3的Docker到VM1的装箱过程和图4的VM1、2到PM的装箱过程。
图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)计量。
进一步的,所述的步骤1中的基于装箱理论的用户服务高可用DVMP约束模型是在有限的计算资源条件下进行的,Docker、VM到PM的放置过程必须同时满足所有的约束条件,才能获得合理有效的放置方案。所述的约束条件具体包括放置约束模型的整数约束、完整性约束、资源利用情况约束及基于服务器独立的冗余部署约束条件,具体内容为:
所述的整数约束,限制放置问题的有效解为整数空间,通过将容器、虚拟机放置到整数编号的虚拟机、服务器上,避免容器、虚拟机的位置不存在的情况,具体表现为以下公式:
xij,yri,zrj,sre,pj,vi,le∈{0,1} i∈N,j∈M,r∈D,e∈E
其中,xij、yri、zrj和sre为VM-PM位置映射矩阵X、Docker-VM位置映射矩阵Y、Docker-PM位置映射矩阵Z和Docker-Service归属映射矩阵S的中状态变量,其值为1则映射关系成立。vi、pj和le为虚拟机i、服务器j、用户服务e的状态变量,其取值不是0就是1,1表示虚拟机i、服务器j处于运行状态,0表示虚拟机i、服务器j已关闭。通过0、1整数状态约束保证了容器、虚拟机放置位置不会产生小数的情况,排除不可能存在的放置方案,从而将放置问题限制在整数的解空间中。
所述的完整性约束,通过要求任何一台容器、虚拟机都仅被放置在一台虚拟机、服务器上,以确保所有容器、虚拟机都被放置,具体表现为以下公式:
其中,r表示容器,M表示放置到服务器,N表示放置到虚拟机,E表示用户服务,以X、Y、Z和S矩阵中各行向量所有元素累加求和且结果限制为1的方式,避免非1的异常情况,从而确保所有的容器、虚拟机在集群中都放置在合理的位置,并限制任一容器仅可属于某一用户服务。随着放置约束模型应用于不同的放置场景,代表虚拟机到服务器、容器到虚拟机、容器到物理机位置映射的X、Y和Z矩阵规模将出现变化。
所述模型资源利用情况约束条件,包括服务器资源利用情况约束条件和虚拟机资源利用情况约束条件,分别限制每一台服务器、虚拟机的资源分配情况,具体内容为:
所述服务器资源利用情况约束条件通过限制每台服务器上虚拟机的CPU及内存资源,确保虚拟机请求的虚拟CPU数量及内存不超过服务器能够提供的CPU、内存总量,具体表现为以下两个公式:
其中,分别表示第i台虚拟机创建时申请的CPU和内存资源量, 对应第j台服务器能够提供的CPU和内存的资源总量,PM表示服务器,VM表示虚拟机,以上公式能够限制每一台服务器的资源分配情况,保证服务器的资源分配不超过其能提供的计算资源的上限。
所述虚拟机资源利用情况约束条件通过限制每台虚拟机上容器的CPU、内存资源请求,确保容器请求的CPU、内存计算资源不超过该虚拟机创建时申请的资源总量,具体表现为以下两个公式:
其中,分别表示第r台Docker创建时申请的CPU和内存资源量,分别表示第i台虚拟机创建时申请的CPU和内存资源量,VM表示虚拟机,Docker表示容器,以上公式能够限制每一台虚拟机的资源分配情况,保证虚拟机的资源分配不超过其创建时申请资源总量。
所述的基于服务器独立的冗余部署约束条件,通过限制微服务框架中任一服务的所有容器副本为集合A冗余部署时,所有副本放置的服务器编号(集合B中任意一对元素)均不相等,任意一对容器副本不可放置于同一服务器的方式,确保用户服务高可用框架的整体有效性。具体表现为以下公式:
A={r|sre=1,e=1,2,...,E}
B={j|zrj=1,r∈A,j=1,2,...,M}
其中,r表示容器,j表示服务器,e表示用户服务,Z表示Docker-PM位置映射矩阵,S表示Docker-Service归属映射矩阵,p和q表示集合B中的子集。
以上约束条件限制了Docker与虚拟机放置的有效性,为具体应用场景下的Docker与虚拟机放置方法提供基础。在放置问题求解过程中,必须保证所有的约束条件同时满足,违反约束的解在优化过程中将被丢弃。只有这样,最终求解的放置方法才是可行解。
在此步骤所述的约束条件限制下,进入步骤200建立用户服务高可用的Docker与虚拟机聚合放置模型。
步骤200:基于步骤100建立的DVP三层架构下的用户服务高可用DVMP约束模型,明确DVMP约束模型中的约束条件,建立用户服务高可用的Docker与虚拟机聚合放置模型。
数据中心能耗一部分是由海量服务器资源电力消耗产生,一部分由数据中心机房冷却设备产生,后者所带来的能耗基本处于稳定波动状态而前者是数据中心能耗激增的主要因素。海量服务器产生的能耗除支持用户服务的运行外,相当部分的服务器实际空载或承担极少的用户负载却仍旧开机消耗大量能量,确保用户服务的高可用时数据中心的能耗开销大,因此所述的建立用户服务高可用的Docker与虚拟机聚合放置模型包括建立以聚合放置优化为目标的能耗预测模型和建立以最小化服务器数量为目标的资源利用度模型,优化数据中心能耗及服务器资源利用率。具体内容包括以下步骤:
所述的建立以聚合放置优化为目标的能耗预测模型,具体内容为:
基于系统资源利用率的能耗模型采用线性能耗预测模型服务器的能耗与CPU的利用率之间线性正比。其中,Pidle和Ppeak分别代表服务器j空载能耗与满负荷运行的能耗峰值,表示单位时间内消耗的能量,单位是瓦特每小时。
采用回归分析法建立基于CPU利用率的单台服务器立方多项式能耗预测模型,具体表现为以下公式:
其中,idle表示空载,Pidle为静态能耗部分,表示第j台服务器的空载能耗,在本实施例中Pidle=446.7,第j台服务器随CPU动态变化的动态能耗由αj、βj、γj三个回归系数共同决定,αj=528、βj=-474.7、γj=334,Dj CPU代表服务器j的CPU资源需求。
空载服务器的能耗为446.7瓦特/时,而满载服务器能耗为834.0瓦特/时,空载服务器的能耗超过满载服务器能耗的一半以上。因此,降低数据中心能耗应首先减少空载服务器的数量。
基于DVMP约束模型,限制服务器实时资源使用量为较虚拟机资源分配更细粒度的容器CPU使用总量,作为数据中心服务器能耗预测模型的计算对象,具体表现为以下公式:
其中,docker表示容器,PM表示服务器,r表示容器,j表示服务器,M表示放置到服务器,D表示放置到容器,active表示激活状态。
数据中心所有激活态服务器预测能耗的总和为当前数据中心的总能耗。通过重新安排容器、虚拟机的放置位置,搜索能够最小化数据中心总预测能耗的最优解,所述总预测能耗具体表现为以下公式:
其中,j表示服务器,idle表示空载,Power表示能耗,Pidle为静态能耗部分,表示第j台服务器的空载能耗,代表服务器j的CPU资源需求。
所述的建立以最小化服务器数量为目标的资源利用度模型,具体内容为:
Step1:
其中,同于代表服务器j被容器所使用的CPU资源量。表示处于激活状态下的服务器数量,通过数据中心所有服务器状态变量pj求和进行计算。
Step2:由以下公式计算和
其中,和分别表示第j个服务器空闲CPU及内存资源量, 代表服务器j和内存被容器所使用的资源量,remain表示空闲状态,Dused表示被使用状态。
Step3:
式中remain表示空闲状态,active表示激活状态,M表示放置到服务器,j表示服务器,此公式是提升数据中心资源利用率的优化目标,由最小化激活态服务器数量与最大化所有服务器各维资源余量的乘积两部分组成。第一部分代表放置相同规模及配置的容器集,所使用的服务器数量越少则意味着容器放置越集中,因此资源利用率越大。第二部分代表资源余量的影响作用,以CPU及内存资源余量乘积作为放置过程中多维资源的有效评估。
当放置结束所用服务器数量相同时,数据中心服务器资源余量乘积的总和越大则意味着某些服务器剩余资源的规格越大,更利于容纳新的大规格容器,因此第二部分值越大越好。
以上公式中αE、βE为两个常数,用来表示资源利用度函数中第一部分与第二部分的权重。αE为第一部分的权值,其值远大于βE的绝对值。βE取负值使得第二部分取值越小越好。本实施例中,αE、βE分别取值100、-13。
由于第一部分提升资源利用率的效果更强,因此αE>0>βE且αE远远大于|βE|,使得资源利用度函数两部分总和越小则放置方案越优秀。
限制放置模型应用时,任一时刻虚拟机及服务器的资源使用量应该以其承载的总容器资源申请量作为统计基础。具体表现为以下公式:
其中,Dused表示被使用状态,docker表示容器,mem表示内存,j表示服务器,r表示容器,i表示虚拟机,zrj表示Docker-PM位置映射矩阵Z,yri表示Docker-VM位置映射矩阵Y;
本步骤的用户服务高可用的Docker与虚拟机聚合放置模型建立完成后,进入步骤300开始构建高可用的Docker与虚拟机聚合放置方案。
步骤300:构建高可用的Docker与虚拟机聚合放置方案,通过MBBO算法对该聚合放置模型进行聚合场景适配与编码求解,以不断迭代更新初始种群的方式寻找Docker与虚拟机聚合问题的最优解决方案,并采用用户服务高可用约束修复方法修复不满足服务器独立约束的候选解。
如图5所示,步骤300构建高可用的Docker与虚拟机聚合放置方案具体包括以下步骤:
步骤301:针对步骤200建立的Docker与虚拟机聚合放置模型,执行基于MBBO的Docker与虚拟机聚合放置的映射方法。
种群初始化时首先初始化两个子系统(群岛),确定优化目标及约束条件后,初始化首批规模较大的群岛。其中,每一个栖息地代表符合约束条件的VM与HM(Host Machine,主机)的一种位置排列,栖息地由一个长度为VM数量的行向量表示,向量中第i个元素代表第i个VM聚合后对应的HM编号;VM对应的HM编号被映射为该栖息地的SIV(SuitabilityIndex Variable,适宜性指数变量),由该栖息地内所有SIV共同决定HSI(HabitatSuitability Index,栖息岛适宜度指数),表示该候选解对VMC(Virtual MachineConsolidation,虚拟机聚合)优化目标的匹配程度;众多的栖息地组成一个群岛,表示满足该VMC优化目标的候选解集合;高HSI栖息地的迁出率高,迁入率低;低HSI栖息地迁入率高,迁出率低。
群岛内栖息地规模为N,表示一次迭代所处理的候选解数量。初始化所有栖息地,构造长度为所有VM数量的行向量,依据所有约束条件,初始生成栖息地内每个VM所能对应的HM,初始化SIV,其中第个元素代表第个VM聚合后对应的HM编号。接着采用余弦模型计算迁移概率。
采用余弦模型计算迁移概率时,因不同迁移模型下该算法的性能存在很大差异,所以采用更接近真实物种迁移规律的余弦迁移率模型进行SIV迁移,所述的余弦迁移模型为:
其中,λ表示迁入率,μ表示迁出率,k表示物种种类,I表示最大迁入率,E表示最大迁出率,不同迁移模型下该算法的性能存在很大差异,当采用更接近真实物种迁移规律的余弦迁移率模型进行SIV迁移时,算法表现出来的性能远优于原始算法的线性迁移模型。
步骤302:采用MBBO算法对其进行聚合场景适配与编码求解。
采用MBBO算法进行聚合场景适配与编码求解的具体内容为:基于建立的DVMP约束模型及多目标优化理论,分发满足DVMP约束模型中的四种约束条件的初始栖息地群到各计算节点并迭代执行MBBO算法,以不断迭代更新初始种群的方式寻找Docker与虚拟机聚合问题的有效解。
首先进行SIV迁移,具体内容包括群岛内SIV迁移和群岛间SIV迁移。所述的群岛内SIV迁移的具体表现为MBBO算法中不同栖息地间SIV的迁入、迁出实现了优秀特性的共享,促进MBBO算法在聚合问题解空间的查找。在群岛内,对每个栖息地进行约束条件匹配和优化目标代价函数计算,并以此进行排名,排名越靠前说明越优秀。排名靠后的栖息地被选中作为SIV迁入栖息地的概率更大,同理,排名靠前的被选中作为SIV迁出栖息地的概率也更大。
被选中的SIV迁入、迁出栖息地一一对应,每个迁入栖息地的SIV都有一定概率被来自迁出栖息地的SIV代替。
每个子系统都拥有各自的优化目标Ok,十三个放置约束条件及T个容器、虚拟机放置问题的候选解,具体表现为以下公式:
Sub k={Sk1,Sk2,...,SkT,Ok1,Ok2,Ck1,Ck2,...,Ck13}
各子系统中第t个候选解Skt=[SIVkt1,SIVkt2,…,SIVktD]为该系统第t个栖息地,SIVktr存储栖息地SIVkt中容器r对应的虚拟机与服务器编号双元组[vi,pj],k为整数。HSIkt代表该栖息地生存适宜度,由优化目标Ok的逼近程度决定。
所述的群岛间SIV迁移的具体表现为只有被选中且成对的群岛才会进行群岛间迁移。
从一个选中的群岛以一定的概率选出作为SIV迁入的栖息地,分别与另一个群岛内所有栖息地距离匹配,选出作为迁出的栖息地,进行两个群岛间SIV的迁移。MBBO算法以一种均匀分布方式在所有栖息地中选择突变对象,通过SIV突变的方式生成新的候选解,从而增强算法跳出局部最优解的能力。
进行SIV迁移的条件判断:若进行SIV迁移操作则执行差分方式生成新候选解,执行差分方式生成新候选解完毕后,进入步骤303求解Docker与虚拟机聚合放置方法的最优解;若不进行SIV迁移操作则继续进行变异SIV的条件判断。
所述的进行变异SIV的条件判断的具体内容为:若不进行变异SIV,则进入步骤303求解Docker与虚拟机聚合放置方法的最优解;若进行变异SIV操作则先采用高斯变异生成新候选解,然后进入步骤303求解Docker与虚拟机聚合放置方法的最优解。
所述的执行差分方式生成新候选解的具体内容为:SIV变量的迁移是候选解间共享优秀信息的基础,原始算法中被迁出率选中的优秀SIV一次仅能影响一个SIV位,会导致对不可分优化问题求解时收敛性能不佳。所述的差分策略公式为:
采用差分进化策略,通过差分因子f线性组合迁出栖息岛及其同系统两个随机栖息岛对应的第r个SIV信息位,生成新的栖息岛加速算法的收敛速度。
所述的采用高斯变异生成新候选解的具体内容为:算法中SIV的突变是增加解多样性的关键策略,对于提升候选解跳出局部最优的能力有重要影响。采用改进的高斯变异方式实现物种突变,在突变率选中的栖息岛t的第r个SIV信息位上增加服从高斯分布、且受控于期望μ和方差σ的随机扰动项,生成新的该栖息岛第r个SIV信息位公式为:
步骤303:求解Docker与虚拟机聚合放置方法的最优解。
首先,进行非支配解排名评估候选解,然后选择更新替换精英解。
所述的非支配解排名评估候选解的具体内容为:通过非支配解排名机制,挑选出在多个优化目标上均表现最优的本代精英解,比较本代精英解与上代精英解,若本代更优秀则替换上代精英解,否则维持不变。精英替换策略确保父代的优良候选解直接进入并影响子代,防止获得的最优解丢失。
所述的选择更新替换精英解的具体内容为:每次迭代完成SIV迁移、突变后,调用优化目标代价函数,分别计算群岛内新产生的子代栖息地以及父代精英解的HSI值,依据HSI值从大到小排序挑选出最优秀候选解作为当前代的精英解。由当前代精英解替换父代精英解,并参与下一轮的迭代过程。
考虑到MBBO算法中候选解迁移、进化、突变的随机性无法保证新生成的候选解满足服务器独立约束,因此在算法每完成一次迁移、突变进化、精英解选择与替换后,增加用户服务高可用约束修复方法,对于不满足服务器独立约束的候选解进行修复,使其参与并影响到下一次种群迭代中。
步骤304:执行服务高可用约束修复方法。
对于得到的不满足服务器独立约束的候选解,采用用户服务高可用约束修复方法对其进行修复。采用FFD算法(First Fit Decreased,降序首次适应算法)依据虚拟机配置资源在所有CPU可用资源降序排列服务器中选择第一个满足该虚拟机资源约束的服务器。输入违背用户服务高可用约束部署的候选解,对放置于同一服务器的容器重新安排位置,选择其它活跃状态的物理主机上的第一个能容纳该容器副本放置的虚拟机,并将该容器副本放入虚拟机中,保存容器、虚拟机与物理主机三者之间对应的映射。
然后进行迭代终止条件判断。若满足终止条件则以最新精英解作为最优解,进行Docker与虚拟机聚合放置,重新安排Docker、VM及PM之间的放置关系,将容器聚合放入部分虚拟机后删除空载虚拟机,再将负载集中的虚拟机聚合放入部分服务器,并对空载的服务器设置关闭或低功耗,从而减少服务器数量、提升各服务器的资源利用率和降低数据中心能耗;若不满足,则再次执行基于MBBO的Docker与虚拟机聚合放置的映射方法并计算迁移概率,继续进行迭代直到满足终止条件。
至此,本次Docker与VM聚合放置方法执行结束。完成本步骤后,接着进入步骤400执行服务容错能力评价方法。
步骤400:进行服务容错能力评价。服务容错能力评价方法仅在DVMP最优放置方案求解完成后运行,对不同的Docker、VM到PM放置方案进行服务容错能力评价。统计被“宕机服务器”波及的所有用户高可用服务出现不同危机的服务数量,并选用不同权值与三类服务危机规模进行乘积求和,把其值作为放置方案的服务容错度。
如图6所示,步骤400服务容错能力评价方法具体包括以下步骤:
步骤401:设置服务器宕机概率。以多个对比放置方案中最少的服务器数量作为基准,通过最少服务器数量及宕机概率共同限制多个放置方案执行服务容错能力评价方法的相同宕机服务器数量。
步骤402:统计疑似“危机”服务“安全”副本数量。首先进行当前放置方案中服务器宕机判断,依据预设的宕机数量,从放置方案所有激活态服务器中随机选择该数量个服务器作为“被宕机”的服务器序列。遍历“宕机”服务器序列,若选中宕机,依次统计各服务器上“宕机”致使陷入疑似“危机”的高可用服务及其仍能支持服务访问的副本数量;若不选中宕机,则返回步骤401重新设置服务器宕机概率。
步骤403:计算服务容错能力评价指标。
统计被“宕机服务器”波及的所有用户高可用服务出现不同危机的服务数量,并选用不同权值与三类服务危机规模(严重、中度、轻度)进行乘积求和,其值为当前放置方案的服务容错度。容错度值越小则表示出现“严重”危机的服务数量越少,放置方案的容错能力越强。模型假设被选中“宕机”的服务器所承载的所有容器将中止服务,而未被选中的“安全”服务器所承载的容器均能提供正常服务。具体表现为以下公式:
Min Tolerance=αt*Nseverity+βt*Nmedium+γt*Nmild
其中Nseverity、Nmedium、Nmild分别代表宕机模拟后统计的处于“严重”、“中度”及“轻度”危机的高可用服务数量。Tolerance值越小表示出现“严重”危机的服务数量越少,放置方案的容错能力越强。反之,放置方案的容错能力越弱。αt、βt、γt分别作为不同服务危机的权重,取值满足αt>βt>γt。
根据服务容错能力评价方法的约定,“安全”结点中支撑服务运行的副本数量为0时记为“严重”危机,“安全”服务副本数量至少为1时记为“中度”危机,“安全”服务副本数量至少为3时记为“轻度”危机。三种程度的服务危机中,“严重”危机意味着用户的服务完全崩溃无法提供访问,存在用户服务损失。为了突出不同放置方案所致服务危机的严重性,服务容错度模型中将“严重”服务危机的权值αt取值远大于“中度”、“轻度”危机βt及γt,在本实施例中,αt、βt、γt的取值分别为11000、3、0.2。
至此,服务容错能力评价方法执行结束。本发明的服务容错度更小,说明以服务器独立为高可用服务多副本冗余部署的前提约束,能够更好地提升Docker与虚拟机聚合放置方案的服务容错能力,确保用户服务的高可用性。
本领域的技术人员容易理解,以上所述仅为本发明的方法实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种用户服务高可用的Docker与虚拟机聚合放置方法,其特征在于,包括以下步骤:
步骤1,以服务器节点独立作为用户服务多副本分布的前提条件,建立DVP三层架构环境下的高可用DVMP约束模型;
步骤2,基于步骤1建立的DVP三层架构下的用户服务高可用DVMP约束模型,明确DVMP约束模型中的约束条件,建立用户服务高可用的Docker与虚拟机聚合放置模型;
步骤3,针对步骤2建立的用户服务高可用的Docker与虚拟机聚合放置模型,构建高可用的Docker与虚拟机聚合放置方案;
步骤4,进行服务容错能力评价。
2.根据权利要求1所述的一种用户服务高可用的Docker与虚拟机聚合放置方法,其特征在于,步骤1的具体实现方法如下:
将DVP三层架构下的Docker到虚拟机和虚拟机到服务器的放置问题描述为两层矢量协同装箱问题,两层矢量协同装箱问题,具体包括Docker到VM的装箱和VM到PM的装箱的两层矢量装箱模型;
以Docker作为虚拟机及服务器的实际负载,对虚拟机放置方案的合理性进行限制,基于装箱理论的高可用DVMP约束模型是在有限的计算资源条件下进行的,Docker、VM到PM的放置过程必须同时满足所有的约束条件,才能获得合理有效的放置方案;
约束条件具体包括放置约束模型的整数约束、完整性约束、资源利用情况约束及基于服务器独立的冗余部署约束条件。
3.根据权利要求2所述的一种用户服务高可用的Docker与虚拟机聚合放置方法,其特征在于,
整数约束,限制放置问题的有效解为整数空间,具体表现为以下公式:
xij,yri,zrj,sre,pj,vi,le∈{0,1} i∈N,j∈M,r∈D,e∈E
其中,xij、yri、zrj和sre为VM-PM位置映射矩阵X、Docker-VM位置映射矩阵Y、Docker-PM位置映射矩阵Z和Docker-Service归属映射矩阵S的中状态变量,其值为1则映射关系成立;vi、pj和le为虚拟机i、服务器j、用户服务e的状态变量,其取值不是0就是1,1表示虚拟机i、服务器j处于运行状态,0表示虚拟机i、服务器j已关闭;
完整性约束,具体表现为以下公式:
其中,以X、Y、Z和S矩阵中各行向量所有元素累加求和且结果限制为1的方式,确保任一台容器、虚拟机仅与某一台虚拟机、服务器产生放置关系,并限制任一容器仅可属于某一用户服务,r表示容器,M表示放置到服务器,N表示放置到虚拟机,E表示用户服务;
资源利用情况约束,限制每台虚拟机、服务器的资源分配情况,具体表现为以下公式:
其中,分别表示第i台虚拟机创建时申请的CPU和内存资源量, 对应第j台服务器能够提供的CPU和内存的资源总量;分别表示第r台Docker创建时申请的CPU和内存资源量,Docker表示容器,VM表示虚拟机,PM表示服务器;
基于服务器独立的冗余部署约束条件,通过限制微服务框架中任一单体服务的所有容器副本为集合A冗余部署时,所有副本放置的服务器编号即集合B中任意一对元素均不相等,任意一对容器副本不可放置于同一服务器的方式,确保用户服务高可用框架的整体有效性,具体表现为以下公式:
A={r|sre=1,e=1,2,...,E}
B={j|zrj=1,r∈A,j=1,2,...,M}
其中,r表示容器,j表示服务器,e表示用户服务,Z表示Docker-PM位置映射矩阵,S表示Docker-Service归属映射矩阵,p和q表示集合B中的子集。
4.根据权利要求3所述的一种用户服务高可用的Docker与虚拟机聚合放置方法,其特征在于,步骤2的具体实现方法如下:
建立以聚合放置优化为目标的能耗预测模型,具体内容为:
基于系统资源利用率的能耗模型采用线性能耗预测模型服务器的能耗与CPU的利用率之间线性正比;其中,Pidle和Ppeak分别代表服务器j空载能耗与满负荷运行的能耗峰值,表示单位时间内消耗的能量,单位是瓦特每小时,j表示服务器,idle表示空载,peak表示峰值;
采用回归分析法建立基于CPU利用率的单台服务器立方多项式能耗预测模型,具体表现为以下公式:
其中,idle表示空载,Pidle为静态能耗部分,表示第j台服务器的空载能耗,第j台服务器随CPU动态变化的动态能耗由αj、βj、γj三个回归系数共同决定,代表服务器j的CPU资源需求,Power表示能耗;
基于DVMP约束模型,限制服务器实时资源使用量为较虚拟机资源分配更细粒度的容器CPU使用总量,作为数据中心服务器能耗预测模型的计算对象,具体表现为以下公式:
其中,docker表示容器,PM表示服务器,r表示容器,j表示服务器,M表示放置到服务器,D表示放置到容器,active表示激活状态;
数据中心所有激活态服务器预测能耗的总和为当前数据中心的总能耗,通过重新安排容器、虚拟机的放置位置,搜索能够最小化数据中心总预测能耗的最优解,总预测能耗具体表现为以下公式:
其中,j表示服务器,idle表示空载,Power表示能耗,Pidle为静态能耗部分,表示第j台服务器的空载能耗,代表服务器j的CPU资源需求;
建立以最小化服务器数量为目标的资源利用度模型,具体内容为:
Step1:
其中,同于代表服务器j被容器所使用的CPU资源量,表示处于激活状态下的服务器数量,active表示激活状态,通过数据中心所有服务器状态变量pj求和进行计算;
Step2:由以下公式计算和
其中,和分别表示第j个服务器空闲CPU及内存资源量, 代表服务器j和内存被容器所使用的资源量,remain表示空闲状态,Dused表示被使用状态;
Step3:
式中remain表示空闲状态,active表示激活状态,M表示放置到服务器,j表示服务器,αE、βE为两个常数,用来表示资源利用度函数中第一部分与第二部分的权重,αE为第一部分的权值,其值远大于βE的绝对值,βE取负值使得第二部分取值越小越好,由于第一部分提升资源利用率的效果更强,因此αE>0>βE且αE远远大于|βE|,使得资源利用度函数两部分总和越小则放置方案越优秀;
限制放置模型应用时,任一时刻虚拟机及服务器的资源使用量应该以其承载的总容器资源申请量作为统计基础,具体表现为以下公式:
其中,Dused表示被使用状态,docker表示容器,mem表示内存,j表示服务器,r表示容器,i表示虚拟机,zrj表示Docker-PM位置映射矩阵Z,yri表示Docker-VM位置映射矩阵Y。
5.根据权利要求4所述的一种用户服务高可用的Docker与虚拟机聚合放置方法,其特征在于,步骤3的具体实现方法如下:
通过MBBO算法对该聚合放置模型进行聚合场景适配与编码求解,以不断迭代更新初始种群的方式寻找Docker与虚拟机聚合问题的最优解决方案,并采用用户服务高可用约束修复方法修复不满足服务器独立约束的候选解,具体内容为:
Step1:执行基于MBBO的Docker与虚拟机聚合放置的映射方法;
基于MBBO的Docker与虚拟机聚合放置的映射方法,具体表现为:
基于MBBO算法的Docker与虚拟机聚合放置方法以降低数据中心能耗和提升数据中心资源利用率为优化目标,因此种群初始化时首先初始化两个子系统;
种群初始化时首先初始化两个子系统,每一个栖息地代表符合约束条件的VM与HM的一种位置排列,栖息地由一个长度为VM数量的行向量表示,向量中第i个元素代表第i个VM聚合后对应的HM编号;VM对应的HM编号被映射为该栖息地的SIV,由该栖息地内所有SIV共同决定HSI,表示该候选解对VMC优化目标的匹配程度;众多的栖息地组成一个群岛,表示满足该VMC优化目标的候选解集合;高HSI栖息地的迁出率高,迁入率低;低HSI栖息地迁入率高,迁出率低;
Step2:进行聚合场景适配与编码求解获得有效解;
基于DVMP约束模型及多目标优化理论,分发满足DVMP约束模型中的四种约束条件的初始栖息地群到各计算节点并迭代执行MBBO算法,利用快速非支配解排序机制进行精英解更替,以不断迭代更新初始种群的方式寻找Docker与虚拟机聚合问题的有效解;
首先进行SIV迁移,具体内容包括群岛内SIV迁移和群岛间SIV迁移,群岛内SIV迁移的具体表现为MBBO算法中不同栖息地间SIV的迁入、迁出实现了优秀特性的共享,促进MBBO算法在聚合问题解空间的查找,群岛间SIV迁移的具体表现为只有被选中且成对的群岛才会进行群岛间迁移;从一个选中的群岛以设定的概率选出作为SIV迁入的栖息地,分别与另一个群岛内所有栖息地距离匹配,选出作为迁出的栖息地,进行两个群岛间SIV的迁移;
其次,进行SIV迁移的条件判断:若进行SIV迁移操作则执行差分方式生成新候选解,执行差分方式生成新候选解完毕后,求解Docker与虚拟机聚合放置方法的最优解;若不进行SIV迁移操作则继续进行变异SIV的条件判断;
进行变异SIV的条件判断,具体内容为:若不进行变异SIV,则求解Docker与虚拟机聚合放置方法的最优解;若进行变异SIV操作则先采用高斯变异生成新候选解,然后求解Docker与虚拟机聚合放置方法的最优解;
执行差分方式生成新候选解的具体内容为:SIV变量的迁移是候选解间共享优秀信息的基础,原始算法中被迁出率选中的优秀SIV一次仅能影响一个SIV位,会导致对不可分优化问题求解时收敛性能不佳,差分策略公式为:
t≠r1≠r2≠r3
其中,r表示第r个信息位,t表示栖息岛,表示栖息岛t的第r个SIV信息位;
采用高斯变异生成新候选解的具体内容为:算法中SIV的突变是增加解多样性的关键策略,对于提升候选解跳出局部最优的能力有重要影响;采用改进的高斯变异方式实现物种突变,在突变率选中的栖息岛t的第r个SIV信息位上增加服从高斯分布、且受控于期望μ和方差σ的随机扰动项,生成新的该栖息岛第r个SIV信息位公式为:
Step3:求解Docker与虚拟机聚合放置方法的最优解;
首先,进行非支配解排名评估候选解,然后选择更新替换精英解;
非支配解排名评估候选解的具体内容为:通过非支配解排名机制,挑选出在多个优化目标上均表现最优的本代精英解,比较本代精英解与上代精英解,若本代更优秀则替换上代精英解,否则维持不变;
选择更新替换精英解的具体内容为:每次迭代完成SIV迁移、突变后,调用优化目标代价函数,分别计算群岛内新产生的子代栖息地以及父代精英解的HSI值,依据HSI值从大到小排序挑选出最优秀候选解作为当前代的精英解;由当前代精英解替换父代精英解,并参与下一轮的迭代过程;
Step4:执行服务高可用约束修复方法;
对于得到的不满足服务器独立约束的候选解,采用用户服务高可用约束修复方法对其进行修复,用户服务高可用约束修复方法采用基于FFD算法的约束恢复方法进行修复;
FFD算法依据虚拟机配置资源在所有CPU可用资源降序排列服务器中选择第一个满足该虚拟机资源约束的服务器,输入违背用户服务高可用约束部署的候选解,对放置于同一服务器的容器重新安排位置,选择其它活跃状态的物理主机上的第一个能容纳该容器副本放置的虚拟机,并将该容器副本放入虚拟机中,保存容器、虚拟机与物理主机三者之间对应的映射;
然后进行迭代终止条件判断,判断是否满足迭代终止条件,若满足终止条件则以最新精英解作为最优解进行Docker与虚拟机聚合放置,重新安排Docker、VM及PM之间的放置关系,将容器聚合放入部分虚拟机后删除空载虚拟机,再将负载集中的虚拟机聚合放入部分服务器,并对空载的服务器设置关闭或低功耗,从而减少服务器数量、提升各服务器的资源利用率和降低数据中心能耗;若不满足,则再次执行基于MBBO的Docker与虚拟机聚合放置的映射方法并计算迁移概率,继续进行迭代直到满足终止条件。
6.根据权利要求5所述的一种用户服务高可用的Docker与虚拟机聚合放置方法,其特征在于,步骤4的具体实现方法如下:
对得到的近似最优的放置方案执行服务容错能力评价,通过设置服务器宕机数量,模拟数据中心若干激活态服务器意外宕机过程,统计托管于宕机服务器的仍可提供用户高可用服务访问的副本数量,并给出用户高可用的服务危机评级标准,构建服务容错度模型,将其值作为当前DVMP放置方案服务容错力的评价指标,简称容错度;具体包括以下步骤:
设置服务器宕机数量,具体内容在于对比多个放置方案,选择其中服务器的最少使用量作为基准,使用服务器的最少使用量及宕机概率共同限制放置方案中执行服务容错能力评价方法的宕机服务器数量;
统计托管宕机服务器仍可提供访问的副本数量,具体过程包括依据预设的宕机数量,从放置方案所有激活态服务器中随机选择该数量个数服务器作为“被宕机”的服务器序列,遍历“宕机”服务器序列,依次统计各服务器上“宕机”致使陷入疑似“危机”的高可用服务并仍能支持服务访问的副本数量;
用户高可用的服务危机评价标准,具体划分为“严重”、“中度”、“轻度”三类;其中,当服务副本数量大于3时,说明用户服务实际具有相当的容错能力,将其定义为“轻度”危机;当服务副本数量低于3且不小于1时,服务能够容忍失败节点的数量为0,但此时该服务实际仍能提供访问且通过人为修复能够提升服务容错能力,将其定义为“中度”危机;当服务副本数量为0时,表示该服务完全终止访问,定义为“严重”危机;
构建服务容错度模型,具体内容在于统计被“宕机”服务器波及的所有高可用服务出现不同服务危机的服务数量,并选用不同权重与三类服务危机规模进行乘积求和,其值表示为当前放置方案的服务容错度,模型假设被选中“宕机”的服务器所承载的所有容器将中止服务,而未被选中的“安全”服务器所承载的容器均能提供正常服务,具体表现为以下公式:
Min Tolerance=αt*Nseverity+βt*Nmedium+γt*Nmild
其中Nseverity、Nmedium、Nmild分别代表宕机模拟后统计的处于“严重”、“中度”及“轻度”危机的高可用服务数量,Tolerance值越小表示出现“严重”危机的服务数量越少,放置方案的容错能力越强,反之,放置方案的容错能力越弱;
根据服务容错能力评价方法的约定,“安全”结点中支撑服务运行的副本数量为0时记为“严重”危机,“安全”服务副本数量至少为1时记为“中度”危机,“安全”服务副本数量至少为3时记为“轻度”危机,三种程度的服务危机中,“严重”危机意味着用户的服务完全崩溃无法提供访问,存在用户服务损失;αt、βt、γt分别作为不同服务危机的权重,为了突出不同放置方案所致服务危机的严重性,服务容错度模型中将“严重”服务危机的权值αt取值远大于“中度”、“轻度”危机βt及γt,取值满足αt>βt>γt。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811190208.9A CN109445907A (zh) | 2018-10-12 | 2018-10-12 | 一种用户服务高可用的Docker与虚拟机聚合放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811190208.9A CN109445907A (zh) | 2018-10-12 | 2018-10-12 | 一种用户服务高可用的Docker与虚拟机聚合放置方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109445907A true CN109445907A (zh) | 2019-03-08 |
Family
ID=65546225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811190208.9A Pending CN109445907A (zh) | 2018-10-12 | 2018-10-12 | 一种用户服务高可用的Docker与虚拟机聚合放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109445907A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027736A (zh) * | 2019-07-30 | 2020-04-17 | 中国人民解放军国防科技大学 | 多目标优化下的微服务组合部署与调度方法 |
CN111290833A (zh) * | 2020-01-21 | 2020-06-16 | 山东超越数控电子股份有限公司 | 一种云平台管控方法 |
CN111966469A (zh) * | 2020-09-04 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种集群虚拟机高可用方法及系统 |
CN113608798A (zh) * | 2021-08-06 | 2021-11-05 | 中航金网(北京)电子商务有限公司 | 一种对非java的应用、对云原生的应用使用资源进行配置的方法及其装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473162A (zh) * | 2013-09-25 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种基于软件故障注入的可靠性评测系统设计方法 |
CN104350460A (zh) * | 2012-04-30 | 2015-02-11 | 惠普发展公司,有限责任合伙企业 | 确定虚拟机放置 |
US20160378518A1 (en) * | 2015-06-29 | 2016-12-29 | Vmware, Inc. | Policy based provisioning of containers |
CN106843997A (zh) * | 2016-10-26 | 2017-06-13 | 西安交通大学 | 一种基于Spark与优化MBBO算法的并行虚拟机聚合方法 |
-
2018
- 2018-10-12 CN CN201811190208.9A patent/CN109445907A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104350460A (zh) * | 2012-04-30 | 2015-02-11 | 惠普发展公司,有限责任合伙企业 | 确定虚拟机放置 |
CN103473162A (zh) * | 2013-09-25 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种基于软件故障注入的可靠性评测系统设计方法 |
US20160378518A1 (en) * | 2015-06-29 | 2016-12-29 | Vmware, Inc. | Policy based provisioning of containers |
CN106843997A (zh) * | 2016-10-26 | 2017-06-13 | 西安交通大学 | 一种基于Spark与优化MBBO算法的并行虚拟机聚合方法 |
Non-Patent Citations (4)
Title |
---|
QINGHUA ZHENG,ECT: "A Multi-Objective Biogeography-Based Optimization for Virtual Machine Placement", 《2015 15TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER,CLOUD AND GRID COMPUTING》 * |
QINGHUA ZHENG,ETC: "Multi-objective Optimization Algorithm based on BBO for Virtual Machine Consolidation Problem", 《2015 IEEE 21ST INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS》 * |
RONG ZHANG,ETC: "Container-VM-PM Architecture: A Novel Architecture for Docker Container Placement", 《CLOUD COMPUTING-CLOUD 2018》 * |
张倩: "HDFS副本管理策略", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027736A (zh) * | 2019-07-30 | 2020-04-17 | 中国人民解放军国防科技大学 | 多目标优化下的微服务组合部署与调度方法 |
CN111027736B (zh) * | 2019-07-30 | 2022-05-20 | 中国人民解放军国防科技大学 | 多目标优化下的微服务组合部署与调度方法 |
CN111290833A (zh) * | 2020-01-21 | 2020-06-16 | 山东超越数控电子股份有限公司 | 一种云平台管控方法 |
CN111966469A (zh) * | 2020-09-04 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种集群虚拟机高可用方法及系统 |
CN111966469B (zh) * | 2020-09-04 | 2022-07-19 | 苏州浪潮智能科技有限公司 | 一种集群虚拟机高可用方法及系统 |
CN113608798A (zh) * | 2021-08-06 | 2021-11-05 | 中航金网(北京)电子商务有限公司 | 一种对非java的应用、对云原生的应用使用资源进行配置的方法及其装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gill et al. | A dynamic, cost-aware, optimized data replication strategy for heterogeneous cloud data centers | |
CN109445907A (zh) | 一种用户服务高可用的Docker与虚拟机聚合放置方法 | |
Gao et al. | A multi-objective ant colony system algorithm for virtual machine placement in cloud computing | |
Zhang et al. | Network-aware virtual machine migration in an overcommitted cloud | |
CN107450855B (zh) | 一种用于分布式存储的模型可变的数据分布方法及系统 | |
US20240296343A1 (en) | Data fusion method and apparatus for distributed graph learning | |
Tang et al. | Budget‐constraint stochastic task scheduling on heterogeneous cloud systems | |
CN109324876A (zh) | 一种高可用的Docker与虚拟机初始放置方法 | |
Choi et al. | Task Classification Based Energy‐Aware Consolidation in Clouds | |
Magotra et al. | Adaptive computational solutions to energy efficiency in cloud computing environment using VM consolidation | |
CN109388476A (zh) | 基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法 | |
Elsedimy et al. | Toward enhancing the energy efficiency and minimizing the SLA violations in cloud data centers | |
CN111324429B (zh) | 一种基于多代血统参考距离的微服务组合调度方法 | |
Yang et al. | An energy-efficient storage strategy for cloud datacenters based on variable K-coverage of a hypergraph | |
Chang et al. | Energy efficient resource selection and allocation strategy for virtual machine consolidation in cloud datacenters | |
Long et al. | A novel fault-tolerant scheduling approach for collaborative workflows in an edge-IoT environment | |
Guo et al. | Fast replica recovery and adaptive consistency preservation for edge cloud system | |
Higai et al. | A study of effective replica reconstruction schemes at node deletion for HDFS | |
Beigrezaei et al. | Minimizing data access latency in data grids by neighborhood‐based data replication and job scheduling | |
CN113342487A (zh) | 一种基于在线容错的云计算资源调度方法 | |
Vigliotti et al. | A green network-aware VMs placement mechanism | |
Vigliotti et al. | Energy-efficient virtual machines placement | |
Mohd. Zin et al. | Replication techniques in data grid environments | |
KR20160044623A (ko) | 리눅스 가상 서버의 로드 밸런싱 방법 | |
Zhang et al. | Speeding up vm startup by cooperative vm image caching |
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: 20190308 |
|
RJ01 | Rejection of invention patent application after publication |