CN113094149B - 一种数据中心虚拟机放置方法、系统、介质及设备 - Google Patents
一种数据中心虚拟机放置方法、系统、介质及设备 Download PDFInfo
- Publication number
- CN113094149B CN113094149B CN202110269507.7A CN202110269507A CN113094149B CN 113094149 B CN113094149 B CN 113094149B CN 202110269507 A CN202110269507 A CN 202110269507A CN 113094149 B CN113094149 B CN 113094149B
- Authority
- CN
- China
- Prior art keywords
- sequence
- physical
- virtual machine
- machine
- physical machine
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 39
- 238000005265 energy consumption Methods 0.000 claims abstract description 20
- 230000002068 genetic effect Effects 0.000 claims abstract description 19
- 238000011156 evaluation Methods 0.000 claims abstract description 17
- 230000006978 adaptation Effects 0.000 claims abstract description 15
- 238000009826 distribution Methods 0.000 claims abstract description 12
- 230000000630 rising effect Effects 0.000 claims abstract description 9
- 230000035772 mutation Effects 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 34
- 238000003860 storage Methods 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000005057 refrigeration Methods 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 238000004378 air conditioning Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000004044 response 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种数据中心虚拟机放置方法、系统、介质及设备,给定N个虚拟机及M个物理机,同时初始化p个序列po,每个序列代表N个虚拟机先后请求次序,作为原始种群;对原始种群中每一个序列pi采用最佳适应法选择出虚拟机应当放置的物理机,通过评估函数计算虚拟机放置后温度上升指数,将当前序列pi中温度上升指数最小的作为当前目标物理机;经过p次循环得出遗传算法的初始种群;对得出的初始种群中每个序列进行交叉以及变异操作,通过适应度函数计算每个序列的适应度,使用轮盘赌算法选择出下一轮迭代的种群,经过t轮迭代后选择出适应度函数值最小的物理机序列,作为能耗最小以及温度分布最平均的序列,完成虚拟机放置;能够实现节能以及热点避免目标。
Description
技术领域
本发明属于数据中心虚拟机技术领域,具体涉及一种数据中心虚拟机放置方法、系统、介质及设备。
背景技术
随着数据中心数量以及规模的不断增加,数据中心能耗也与日俱增。根据研究指出,到2025年,数据中心将占到全球能耗最大份额,高达33%。在国内,全国数据中心耗电量连续超过9年超过12%的速度增长。如何降低数据中心功耗已经成为目前研究热点。数据中心功耗主要由两部分组成,分别为IT功耗以及非IT功耗,IT功耗主要包括CPU,内存,网卡,风扇等组件,非IT主要指机房空调系统(CRAC)。其中,空调系统节能的方法是在保证数据中心正常运转条件下调高设定温度,因此降低空调功耗。对于IT设备,主流的做法是最小化物理机开机数量,即将目标数量的虚拟机最小化分配到物理机中,关闭低负载的物理机最终达到降低能耗的目的。因此,为了解决虚拟机放置问题(VMP),各类虚拟机调度策略层出不穷,早期使用first-fit decreasing(FFD)以及他的变形best-fit decreasing(BFD)等启发式算法,算法简单,复杂度低,但是生成的质量低,没有考虑优化不同的目标。由于虚拟机调度可看做NP难问题,因此采用进化算法(EC)是最优选择。进化算法包括遗传算法(EA)、蚁群算法(ACO)、粒子群优化算法(PSO)等。在上述调度策略中,主流的切入点是CPU、内存、带宽等利用率,根据测量利用率信息制定具体的调度策略,但是这类策略往往忽视温度信息。
众所众知,数据中心在运行过程中会产生大量的热量,为了维持数据中心的安全稳定运行,往往会根据数据中心所处的实际状态设计制冷系统(CRAC)。一个优秀的制冷系统应该是数据中心物理机产生的热量与制冷系统消耗的热量处于平衡状态,数据中心以一个稳定的、温度分布均匀的状态持续运行。但是现实数据中心往往情况复杂,有许多干扰因素,例如数据中心散热风扇产生的气流,数据中心区域的湿度差异等,还有许多意外因素,例如某台服务器负载远远与其他服务器负载造成这一区域温度与其他区域温度的差异。这些干扰因素会打破数据中心温度稳定的状态,在某些区域的温度会高于其他区域温度。若将虚拟机调度至高温度区域后容易产生热点问题,一方面会增加制冷系统的开销,另一方面严重时会导致服务器宕机,造成不可估量的损失。因此需要一种热点避免同时降低数据中心功耗的虚拟机调度的方法。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种数据中心虚拟机放置方法、系统、介质及设备,在保证避免热点的情况下,降低数据中心功耗。
本发明采用以下技术方案:
一种数据中心虚拟机放置方法,包括以下步骤:
S1、给定N个虚拟机及M个物理机,同时初始化p个序列po,每个序列代表N个虚拟机先后请求次序,作为原始种群;
S2、对步骤S1原始种群中每一个序列pi采用最佳适应法选择出虚拟机应当放置的物理机,通过评估函数计算虚拟机放置后温度上升指数,将当前序列pi中温度上升指数最小的作为当前目标物理机;经过p次循环得出遗传算法的初始种群;
S3、对步骤S2得出的初始种群中每个序列进行交叉以及变异操作,通过适应度函数计算每个序列的适应度,使用轮盘赌算法选择出下一轮迭代的种群,经过t轮迭代后选择出适应度函数值最小的物理机序列,作为能耗最小以及温度分布最平均的序列,完成虚拟机放置。
具体的,步骤S2中,衡量温度变化趋势如下:
其中,xij是一个二进制数组,表示虚拟机VMi是否分配至物理机PHj,为cpu负载与温度的相关系数,N为虚拟机总数量,bj为物理机PHj的初始温度,tavg为物理机的平均温度,M为物理机总数量。
具体的,步骤S3中,适应度函数为:
其中,f(x)是物理机调度后总的能耗以及温度上升水平,yj是二进制序列,代表物理机j是否分配虚拟机,分别是是物理机PHj的最大功耗以及闲置功耗,/>是物理机PHj的cpu利用率,/>是cpu负载与温度的相关系数,th为设定的温度阈值,bj为物理机PHj的初始温度。
具体的,将虚拟机放置问题简化为最小值如下:
其中,cj为分配完后物理机PHj的开销以及温度,M是物理机总数量,yj为一个二进制数组,表示物理机PHj是否分配虚拟机。
进一步的,所有的物理机以及虚拟机满足以下条件:
tj<th,j∈{1,2......M}
其中,xij是一个二进制数组,表示虚拟机VMi是否分配至物理机PHj,yj是一个二进制数组,表示物理机PHj是否分配虚拟机,tj表示物理机PHj分配后温度,th为预定的温度阈值,vcpu、vmem、vBW分别代表虚拟机请求的cpu,内存,带宽资源,pcpu、pmen、pBW分别代表物理机所拥有的资源,N是虚拟机总数量,M是物理机总数量。
本发明的另一个技术方案是,一种数据中心虚拟机放置系统,包括:
初始化模块,给定N个虚拟机及M个物理机,同时初始化p个序列po,每个序列代表N个虚拟机先后请求次序,作为原始种群;
评估模块,对初始化模块的原始种群中每一个序列pi采用最佳适应法选择出虚拟机应当放置的物理机,通过评估函数计算虚拟机放置后温度上升指数,将当前序列pi中温度上升指数最小的作为当前目标物理机;经过p次循环得出遗传算法的初始种群;
分配模块,对评估模块得出的初始种群中每个序列进行交叉以及变异操作,通过适应度函数计算每个序列的适应度,使用轮盘赌算法选择出下一轮迭代的种群,经过t轮迭代后选择出适应度函数值最小的物理机序列,作为能耗最小以及温度分布最平均的序列,完成虚拟机放置。
本发明的另一个技术方案是,一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行所述的方法中的任一方法。
本发明的另一个技术方案是,一种计算设备,包括:
一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行所述的方法中的任一方法的指令。
与现有技术相比,本发明至少具有以下有益效果:
本发明一种数据中心虚拟机放置方法,在解决数据中心虚拟机调度问题来说,将调度过程看成一种可变背包大小问题,将不同需求的虚拟机请求序列合理的放置在物理机中,由于物理机的使用功耗与物理机的CPU、内存、带宽利用率成正相关,因此不同的放置结果将会产生不同的功耗结果。同时由于数据中心在运行过程中热分布是不均匀的,部分温度会高于平均温度,若在高温度区域内持续高负荷运行物理机则会导致热点问题,造成制冷设备功耗上升,甚至导致服务器宕机。因此如何合理的放置虚拟机,使得物理机运行功耗最小,以及避免热点问题出现成为研究热点。本发明使用最佳适应法与遗传算法的混合算法,求出虚拟机放置的最佳策略,最佳适应法首先筛除部分不合适的放置位置,同时生成遗传算法的初始种群。通过最佳适应法生成的种群质量会高于随机生成种群,在遗传算法过程中加快收敛速度。在遗传算法中,计算适应度时引入温度指标,能在选择阶段能够将可能会产生热点的放置策略筛除,因此在求出的最优解中能够避免热点问题出现。
进一步的,物理机运行温度与当前的负载呈正相关,若当前物理机温度已经超过阈值,并且持续增加负载,则会导致当前区域产生热点问题。若对于每个虚拟机请求,在确定放置位置前通过计算温度变化趋势评估函数,能判断出当前物理机是否适合继续增加负载。
进一步的,在遗传算法迭代过程中,需要通过选择过程筛选更加优质下一代种群,本算法根据计算适应度函数值,通过轮盘赌法选择出当代优质基因作为下一轮迭代种群。适应度函数是由能耗以及温度信息组成,因此能够实现能耗与温度的多目标优化。
进一步的,虚拟机放置问题本质上来说是将虚拟机请求序列通过算法计算,得出最适合物理机放置位置,物理机在初始阶段能够看做是一个空盒子,等待合适的虚拟机将其放入,若确定某个虚拟机的放置位置后,目标物理机可用的CPU、内存以及带宽资源则会响应的减少,因此物理机能够看做是一个可变大小的箱子。这样将问题转化为装箱问题,能够将CPU、内存、带宽温度等多维问题转化为箱子编号的一维问题,进而将物理机序列二进制化,极大的简化了数据处理的复杂度,更方便的进行遗传算法等计算。
进一步的,考虑到虚拟机请求的三种资源大小,因此对于物理机三种资源也需要设置相应的约束条件,对于不满住需求的物理机,应当在最佳适应法时将其筛除,这样在遗传算法计算时能够更快的收敛。
一种数据中心虚拟机放置系统,分别对应初始化模块,评估模块和分配模块,三个模块都是相对独立的,因此能够适应各种环境下的放置情况,具有较高的弹性以及可重塑性。
综上所述,本发明能够实现节能以及热点避免目标。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在附图中示出了根据本发明公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
本发明提供了一种数据中心虚拟机放置方法,首先提出一种数据中心物理机(PM)区域状态分级,根据状态等级判断虚拟机是否调度;在此基础上,提出一种基于遗传算法的混合虚拟机调度策略,在进行虚拟机调度时能考虑到当前物理机区域的环境温度,以此达到热点避免的目的。
请参阅图1,本发明一种数据中心虚拟机放置方法,将虚拟机放置问题(VMP)看做一个可变大小装箱问题(VSBPP),将虚拟机放置问题简化为最小值:
其中,cj为分配完后物理机PHj的开销以及温度,M是物理机总数量,yj为一个二进制数组,表示物理机PHj是否分配虚拟机。
在整个算法过程中应当满足以下条件:
tj<th,j∈{1,2......M}
其中,xij是一个二进制数组,表示虚拟机VMi是否分配至物理机PHj,yj是一个二进制数组,表示物理机PHj是否分配虚拟机,tj表示物理机PHj分配后温度,th为预定的温度阈值,vcpu、vmem、vBW分别代表虚拟机请求的cpu,内存,带宽资源,pcpu、pmen、pBW分别代表物理机所拥有的资源,N是虚拟机总数量,M是物理机总数量。
包括以下步骤:
S1、对于给定的N个虚拟机以及M个物理机,首先初始化p个序列po,每个序列代表N个虚拟机先后请求次序;
S2、采用最佳适应算法选出遗传算法的初始种群,通过适应度函数评估物理机最小能耗以及温度上升的最小平均值,能够在降低能耗的同时避免热点出现;
适应度函数具体为:
其中,f(x)是物理机调度后总的能耗以及温度上升水平,yj是二进制序列,代表物理机j是否分配虚拟机,分别是是物理机PHj的最大功耗以及闲置功耗,/>是物理机PHj的cpu利用率,/>是cpu负载与温度的相关系数,th为设定的温度阈值,bj为物理机PHj的初始温度。
S3、虚拟机分配至物理机后,由于物理机负载的提高,温度会随之上升,将虚拟机分配至低温或者正常温度区域,避免分配至高温区域。
衡量温度变化趋势如下:
其中,xij是一个二进制数组,表示虚拟机VMi是否分配至物理机PHj,为cpu负载与温度的相关系数,N为虚拟机总数量,bj为物理机PHj的初始温度,tavg为物理机平均温度,M为物理机总数量。
算法伪代码如下:
初始化p个种群,每个种群长度为N,记作P0,遗传算法迭代次数t
本发明再一个实施例中,提供一种数据中心虚拟机放置系统,该系统能够用于实现上述数据中心虚拟机放置方法,具体的,该数据中心虚拟机放置系统包括初始化模块、评估模块以及分配模块。
其中,初始化模块,给定N个虚拟机及M个物理机,同时初始化p个序列po,每个序列代表N个虚拟机先后请求次序,作为原始种群;
评估模块,对原始种群中的每一个序列pi采用最佳适应法选择出虚拟机应当放置的物理机,通过评估函数计算虚拟机放置后温度上升指数,将当前序列pi中温度上升指数最小的作为当前目标物理机;经过p次循环得出遗传算法的初始种群;
分配模块,对评估模块得出的初始种群中每个序列进行交叉以及变异操作,通过适应度函数计算每个序列的适应度,使用轮盘赌算法选择出下一轮迭代的种群,经过t轮迭代后选择出适应度函数值最小的物理机序列,即为能耗最小以及温度分布最平均的序列,达到热点避免的目标,完成虚拟机放置。
本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于数据中心虚拟机放置方法的操作,包括:
给定N个虚拟机及M个物理机,同时初始化p个序列po,每个序列代表N个虚拟机先后请求次序,作为原始种群;对原始种群中每一个序列pi采用最佳适应法选择出虚拟机应当放置的物理机,通过评估函数计算虚拟机放置后温度上升指数,将当前序列pi中温度上升指数最小的作为当前目标物理机;经过p次循环得出遗传算法的初始种群;对得出的初始种群中每个序列进行交叉以及变异操作,通过适应度函数计算每个序列的适应度,使用轮盘赌算法选择出下一轮迭代的种群,经过t轮迭代后选择出适应度函数值最小的物理机序列,作为能耗最小以及温度分布最平均的序列,完成虚拟机放置。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关数据中心虚拟机放置方法的相应步骤;计算机可读存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:
给定N个虚拟机及M个物理机,同时初始化p个序列po,每个序列代表N个虚拟机先后请求次序,作为原始种群;对原始种群中每一个序列pi采用最佳适应法选择出虚拟机应当放置的物理机,通过评估函数计算虚拟机放置后温度上升指数,将当前序列pi中温度上升指数最小的作为当前目标物理机;经过p次循环得出遗传算法的初始种群;对得出的初始种群中每个序列进行交叉以及变异操作,通过适应度函数计算每个序列的适应度,使用轮盘赌算法选择出下一轮迭代的种群,经过t轮迭代后选择出适应度函数值最小的物理机序列,作为能耗最小以及温度分布最平均的序列,完成虚拟机放置。
综上所述,本发明一种数据中心虚拟机放置方法,本发明对于虚拟机请求序列,能够计算出最佳的放置位置,达到节能能耗以及热点避免目的。首先对可用物理机排序,之后对于每个虚拟机请求,采用最佳适应法选择出所有符合资源要求的物理机,从中选择出温度上升值最小的物理机作为最终放置目标。对所得虚拟机放置位置的序列进行二进制编码,对序列进行交叉以及变异操作,使用能耗与温度的多目标优化方法,最终得出最终的目标放置序列。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (5)
1.一种数据中心虚拟机放置方法,其特征在于,包括以下步骤:
S1、给定N个虚拟机及M个物理机,同时初始化p个序列po,每个序列代表N个虚拟机先后请求次序,作为原始种群;
S2、对步骤S1的原始种群中每一个序列pi采用最佳适应法选择出虚拟机应当放置的物理机,通过评估函数计算虚拟机放置后温度上升指数,将当前序列pi中温度上升指数最小的作为当前目标物理机;经过p次循环得出遗传算法的初始种群,衡量温度变化趋势如下:
其中,xij是一个二进制数组,表示虚拟机VMi是否分配至物理机PHj,为cpu负载与温度的相关系数,N为虚拟机总数量,bj为物理机PHj的初始温度,tavg为物理机的平均温度,M为物理机总数量;
S3、对步骤S2得出的初始种群中每个序列进行交叉以及变异操作,通过适应度函数计算每个序列的适应度,使用轮盘赌算法选择出下一轮迭代的种群,经过t轮迭代后选择出适应度函数值最小的物理机序列,作为能耗最小以及温度分布最平均的序列,完成虚拟机放置,适应度函数为:
其中,f(x)是物理机调度后总的能耗以及温度上升水平,yj是二进制序列,代表物理机j是否分配虚拟机,分别是是物理机PHj的最大功耗以及闲置功耗,/>是物理机PHj的cpu利用率,/>是cpu负载与温度的相关系数,th为设定的温度阈值,bj为物理机PHj的初始温度;
将虚拟机放置问题简化为最小值如下:
其中,cj为分配完后物理机PHj的开销以及温度,M是物理机总数量,yj为一个二进制数组,表示物理机PHj是否分配虚拟机。
2.根据权利要求1所述的方法,其特征在于,所有的物理机以及虚拟机满足以下条件:
tj<th,j∈{1,2......M}
其中,xij是一个二进制数组,表示虚拟机VMi是否分配至物理机PHj,yj是一个二进制数组,表示物理机PHj是否分配虚拟机,tj表示物理机PHj分配后温度,th为预定的温度阈值,vcpu、vmem、vBW分别代表虚拟机请求的cpu,内存,带宽资源,pcpu、pmen、pBW分别代表物理机所拥有的资源,N是虚拟机总数量,M是物理机总数量。
3.一种数据中心虚拟机放置系统,其特征在于,包括:
初始化模块,给定N个虚拟机及M个物理机,同时初始化p个序列po,每个序列代表N个虚拟机先后请求次序,作为原始种群;
评估模块,对初始化模块的原始种群中每一个序列pi采用最佳适应法选择出虚拟机应当放置的物理机,通过评估函数计算虚拟机放置后温度上升指数,将当前序列pi中温度上升指数最小的作为当前目标物理机;经过p次循环得出遗传算法的初始种群,衡量温度变化趋势如下:
其中,xij是一个二进制数组,表示虚拟机VMi是否分配至物理机PHj,为cpu负载与温度的相关系数,N为虚拟机总数量,bj为物理机PHj的初始温度,tavg为物理机的平均温度,M为物理机总数量;
分配模块,对评估模块得出的初始种群中每个序列进行交叉以及变异操作,通过适应度函数计算每个序列的适应度,使用轮盘赌算法选择出下一轮迭代的种群,经过t轮迭代后选择出适应度函数值最小的物理机序列,作为能耗最小以及温度分布最平均的序列,完成虚拟机放置,适应度函数为:
其中,f(x)是物理机调度后总的能耗以及温度上升水平,yj是二进制序列,代表物理机j是否分配虚拟机,分别是是物理机PHj的最大功耗以及闲置功耗,/>是物理机PHj的cpu利用率,/>是cpu负载与温度的相关系数,th为设定的温度阈值,bj为物理机PHj的初始温度;
将虚拟机放置问题简化为最小值如下:
其中,cj为分配完后物理机PHj的开销以及温度,M是物理机总数量,yj为一个二进制数组,表示物理机PHj是否分配虚拟机。
4.一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1或2所述的方法中的任一方法。
5.一种计算设备,其特征在于,包括:
一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1或2所述的方法中的任一方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110269507.7A CN113094149B (zh) | 2021-03-12 | 2021-03-12 | 一种数据中心虚拟机放置方法、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110269507.7A CN113094149B (zh) | 2021-03-12 | 2021-03-12 | 一种数据中心虚拟机放置方法、系统、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113094149A CN113094149A (zh) | 2021-07-09 |
CN113094149B true CN113094149B (zh) | 2024-01-12 |
Family
ID=76667064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110269507.7A Active CN113094149B (zh) | 2021-03-12 | 2021-03-12 | 一种数据中心虚拟机放置方法、系统、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113094149B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138454B (zh) * | 2021-10-19 | 2022-07-15 | 中标慧安信息技术股份有限公司 | 一种边缘计算平台算力的公平分配方法及系统 |
CN114020418A (zh) * | 2021-11-25 | 2022-02-08 | 国网上海市电力公司 | 一种包含轮盘赌算法的粒子群优化的虚拟机放置方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929687A (zh) * | 2012-10-12 | 2013-02-13 | 山东省计算中心 | 一种节能的云计算数据中心虚拟机放置方法 |
CN106201658A (zh) * | 2016-07-09 | 2016-12-07 | 郭笃刚 | 一种迁移虚拟机目的主机多目标优化选择方法 |
CN108897600A (zh) * | 2018-06-14 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种云计算环境下的虚拟机放置方法 |
CN110308993A (zh) * | 2019-06-27 | 2019-10-08 | 大连理工大学 | 一种基于改进遗传算法的云计算资源分配方法 |
KR102129389B1 (ko) * | 2018-12-20 | 2020-07-08 | 경희대학교 산학협력단 | 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법 및 장치 |
-
2021
- 2021-03-12 CN CN202110269507.7A patent/CN113094149B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929687A (zh) * | 2012-10-12 | 2013-02-13 | 山东省计算中心 | 一种节能的云计算数据中心虚拟机放置方法 |
CN106201658A (zh) * | 2016-07-09 | 2016-12-07 | 郭笃刚 | 一种迁移虚拟机目的主机多目标优化选择方法 |
CN108897600A (zh) * | 2018-06-14 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种云计算环境下的虚拟机放置方法 |
KR102129389B1 (ko) * | 2018-12-20 | 2020-07-08 | 경희대학교 산학협력단 | 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법 및 장치 |
CN110308993A (zh) * | 2019-06-27 | 2019-10-08 | 大连理工大学 | 一种基于改进遗传算法的云计算资源分配方法 |
Non-Patent Citations (1)
Title |
---|
基于改进粒子群算法的虚拟机放置算法;曹盟盟;姚文斌;;软件(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113094149A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113094149B (zh) | 一种数据中心虚拟机放置方法、系统、介质及设备 | |
KR101563031B1 (ko) | 냉각 효율 향상을 위해 데이터 센터 동작을 관리하는 설비 | |
CN112888268B (zh) | 数据中心机房节能控制方法、装置、设备及存储介质 | |
Portaluri et al. | A power efficient genetic algorithm for resource allocation in cloud computing data centers | |
WO2014124341A1 (en) | In-situ optimization of chilled water plants | |
CN109871268A (zh) | 一种面向数据中心的基于气流组织的节能调度方法 | |
CN112365076B (zh) | 一种并联冷机负荷分配优化方法、存储介质及计算设备 | |
CN102696000A (zh) | 用于虚拟化数据中心中的协调能量管理的方法和设备 | |
CN103902379A (zh) | 一种任务调度方法、装置及服务器集群 | |
CN115220900B (zh) | 一种基于作业功耗预测的节能调度方法及系统 | |
CN110362379A (zh) | 基于改进蚁群算法的虚拟机调度方法 | |
CN112433807A (zh) | 面向数据中心全局能耗优化的气流感知型虚拟机调度方法 | |
CN104142850B (zh) | 数据中心的节能调度方法 | |
CN110008515B (zh) | 一种可再生能源数据中心管理方法及装置 | |
Liu et al. | Thermal-aware virtual machine placement based on multi-objective optimization | |
CN111083201B (zh) | 一种工业物联网中数据驱动制造服务的节能资源分配方法 | |
Chaudhry et al. | Considering thermal-aware proactive and reactive scheduling and cooling for green data-centers | |
CN118093301A (zh) | 一种服务器集群温度调节方法和装置 | |
CN109992413A (zh) | 一种面向宽度优先搜索算法的加速装置、方法及存储介质 | |
Lin et al. | Energy-aware virtual machine placement based on a holistic thermal model for cloud data centers | |
Jonas et al. | Non-invasive thermal modeling techniques using ambient sensors for greening data centers | |
WO2023162067A1 (ja) | 電力量制御システム、電力量制御方法、電力量制御装置、および、プログラム | |
Feng et al. | A Holistic Energy-aware and Probabilistic Determined VMP Strategy for Heterogeneous Data Centers | |
Yang et al. | Energy-Aware Virtual Machine Integration based Task Scheduling for Green Data Centers | |
CN112327965B (zh) | 基于遗传算法的温度调节自适应分布式装置的优化方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |