基于能耗优化的云虚拟机动态放置方法

虚拟主机测评  时间:2020-12-29  阅读:()

苏楠(武汉纺织大学数计学院)摘要针对如何将虚拟机合理的放置在服务器上,实现云环境下资源的高效分配并兼顾减低能耗这一问题,提出了一种基于模拟退火算法的动态云资源分配方法.
首先,研究和建立了服务器运行能耗模型和虚拟机动态放置模型,为能耗优化研究提供基础.
然后综合考虑系统性能要求、能源消耗等因素,将资源分配与能耗优化结合起来,形成虚拟资源分配能耗优化模型.
最后使用模拟退火算法,自适应地计算出分配权重向量,有效地提高资源利用率,从而降低能耗.
对比实验结果表明,该方法能在较短的时间内确定虚拟机放置策略,给定虚拟资源相同情况下,完成用户任务的同时能耗更低.

关键词动态放置;能耗优化;模拟退火;资源利用率中图法分类号TP312文献标识码AAnConsumptionofEnergyOptimizationBasedVirtualMachineVitualPlacementMethodintheCloudComputingAbstractToaddresstheissueofhowtoplacethevirtualmachineonanappropriateserverinthecircumstancesofcloudcomputingtoachievehighallocationefficiencyandlowenergyconsumption,adynamiccloudresourceallocationmethodisproposedinthispaperwhichisbasedonsimulatedannealingalgorithm.
First,buildaserverrunningvirtualmachineenergyconsumptionmodelandadynamicplacementmodelforthestudyoftheoptimizationofenergyconsumption.
Thenbyconsideringthesystemperformancerequirements,energyconsumptionandotherfactors,theallocationofresourcesandenergyoptimizationarecombinedtoformavirtualresourceallocationoptimalmodelofenergyconsumption.
Finally,simulatedannealingalgorithmisusedtoadaptivelydeterminethecalculationweightvectorforvirtualmachineallocationintheaimofresourceutilizationimprovementandenergyconsumptionreduction.
Comparativeexperimentalresultsshowthattheproposedmethodcandeterminevirtualmachineplacementstrategyinashorttime,furthermore,itcancompleteusertaskswithlowerenergycostgiventhesamecircumstancesofvirtualresources.
KeywordsDynamicallocation;OptimizationofEnergyconsumption;SimulatedAnnealingalgorithm;Utilizationofresource0引言随着计算机和互联网技术的高速发展,服务器承载的信息量和访问量成几何级数增长[],云计算作为一种新的模式应运而生.
云数据中心的规模也逐步增大,高能耗成为云数据中心资源管理的一大挑战,这是因为在大规模云环境中,能耗是主要的运营成本因素.
除了服务器运行的正常能耗以外,散热需要耗费额外的电能,高能耗不但过度消耗电能,且容易造成局部过热,影响整个系统的稳定性.
而系统资源分配的不合理是导致能耗过高的一个主要原因[],因此高效合理的资源分配方法可以有效降低能耗,定义虚拟机和物理结点之间的映射关系对云数据中心中资源的合理分配具有着重要的作用,对管理和优化服务器集群的能耗具有很强的理论和实际意义.
本文定义了能耗优化的虚拟资源分配模型,并基于模拟退火算法,提出了高资源利用率的虚拟机放置算法.
仿真结果表明,对比传统启发式虚拟机放置方法相比,本文设计的虚拟机放置方法的收敛速度较快,有效提高资源利用率,从而降低服务器集群能耗.

本文结构如下:第1节介绍相关工作;第2节对模拟退火算法进行理论介绍,并定义了服务器集群运行的能耗模型;第3节设计了动态放置模型,并对实现过程进行描述第4节对该方法在Cloudsim中仿真实验并进行评估;最后总结全文并对下一阶段工作进行展望.

相关工作现在的研究多采用启发式算法(如遗传算法或蚁群算法)对虚拟机进行放置,以达到提高服务器资源利用率、降低能耗的目的.
由于遗传算法求解分组优化问题的特殊性[],使得算法效率很难发挥到最大.
文章[][]采用蚁群算法从资源利用率的角度对能耗进行优化,提高了服务器的资源利用率,但是每只蚂蚁在建立自己的结果集之后只能更新局部的信息素,因而导致算法的收敛速度过慢.
文章[]提出模拟退火算法在解决NP难问题时能有效避免局部最优解,同时指出了模拟退火算法的改进策略,但未考虑能耗因素.
文献[][]中指出服务器能耗与CPU利用率呈近似线性关系,当服务器处于空闲状态时的能耗也达到其峰值负载时的70%.
文章[]中定义了基于CPU利用率的服务器能耗模型.
文献[]提出了一种基于机器学习的能耗感知负载任务调度算法,通过建立决策树和线性回归的机器学习模型,从而预测数服务器集群的能耗情况,但该方法依赖于相关的历史数据.
文献[]将虚拟机放置问题建模成集装箱问题,即将所有的虚拟机放在尽量少的服务器上,从而达到降低能耗的目的.

早期的文献中主要集中于使用传统启发式算法来解决相关问题,通常采用单点搜索策略,容易陷入局部最优,并不能达到整体放置效果近似最优解,或收敛速度过慢,无法适用于实际应用场景.
综合相关研究的成果,虚拟机优化放置问题是一个NP难的问题,而提高资源的利用率是降低能耗的一个主要方面,再通过CPU利用率来反应服务器能耗的情况.

模拟退火算法和能耗建模2.
1模拟退火算法原理模拟退火算法源于对现实中固体退火降温的过程首先将固体加热至熔融的状态,固体粒子能量的非均匀性被破坏,并会达到新的平衡状态,系统整体能量增大;然后让其缓慢降温,让系统在每一温度下都达到平衡值,系统能量也逐渐降低;当温度达到结晶温度后,系统能量达到最小值.
模拟退火算法把一个优化问题转化成一个物理的降温过程,将所要优化的对象,即目标函数代表物理系统的能量,通过模拟固体降温以达到新的平衡状态(此时总能量最低)的退火过程,从而得到优化问题的全局最优解.
模拟退火算法的数学模型可以描述为在给定邻域结构后,模拟退火过程是从一个状态到另一个状态不断的随机过程,其收伪代码如下:*J(y):在状态y时的评价函数值*Y(i):表示当前状态*Y(i+1):表示新的状态*r:用于控制降温的快慢*T:系统的温度,系统初始应该要处于一个高温的状态*T_min:温度的下限,若温度T达到T_min,停止搜索while(T>T_min){dE=E(Y(i+1))-E(Y(i)E为评价函数if(dE>=0)//表达移动后得到更优解,则总是接受移动Y(i+1)=Y(i);//接受从Y(i)到Y(i+1)的移动else{//函数exp(dE/T)的取值范围是(0,1),dE/T越大,则exp(dE/T)也越大if(exp(dE/T)>random(0,1))Y(i+1)=Y(i);//接受从Y(i)到Y(i+1)的移动}T=r*T;//降温退火,0r越大,降温越慢;r越小,降温越快i++;}服务器集群能耗建模服务器能源消耗取决于CPU、内存、磁盘等多维资源的综合使用情况,服务器能耗与CPU利用率呈一种近似线性的关系;为了维持操作系统以及内存、硬盘、主板等硬件的运转,平均一个空闲服务器消耗其在峰值工作时大约70%左右的电能.

由此我们可以得出服务器的CPU利用率与能耗的关系,建立起服务器CPU利用率与其能耗关系的函数模型,根据当前CPU利用率计算出服务器的能耗值;同时,也表明空载也会造成大量的能耗,这也为提升服务器的利用率能有效降低能耗提供了理论依据.
参考文献[],给出如下电力模型:(1)其中,为一台服务器的能耗;为服务器的CPU利用率,;为峰值时单位时间能耗;为该服务器处于空载与峰值负载时的能耗比值.
一般而言,服务器的负载随时间动态变化的,导致其CPU利用率也有所波动,可以将其建模为一个时变函数.
由此我们可以得到服务器在时间段内的总能耗为:(2)数据中心总能耗等于该中心所有服务器能耗之和,结合公式(1)和(2),我们可以得到数据中心在某个时间段内的总能耗.

一般来说,每个应用封装在一个虚拟机内,应用的性能通常以响应时间来衡量,而响应时间取决于该应用运行时的资源保证[].
应用的负载是随时间变化的,所以运行该应用的虚拟机的CPU利用率也是随时变化的,因此该虚拟机所在服务器的CPU利用率也在随时间动态变化.

基于能耗优化的虚拟机放置是要满足时变应用负载性能需求的前提下,由文献[]可假设下一个时间段内的CPU利用率和最大资源请求是已知的.
可以将数据中心的能耗优化模型描述为:目标函数:3)约束条件:,(4)=1,2,…,n(5),=1,2,…,n,=1,2,…,m(6)其中,为服务器总数,为虚拟机请求的总数.
公式(3)中的为服务器在下一时间段能的能耗,能耗的高低取决于每个运行的各虚拟机的CPU利用率,的值可以根据公式(1)、(2)求得.
公式(4)表明运行在某一台服务器上的虚拟机资源需求之和小于服务器资源总量,、分别为虚拟机对CPU、内存资源的容量.
公式(5)表示一个虚拟机只能分配给一个服务器,服务器与虚拟机之间呈一对多的关系.
公式(6)给定只能取0或1,=1表示虚拟机放置在服务器上,否则=0.

上述虚拟机放置到服务器的最优放置问题,可以描述为一个多维物品装箱的问题,不同资源请求的虚拟机可以看作一个具有多维属性的物品,物品的大小代表虚拟机所需资源,其中包括CPU、内存、磁盘等.
箱子的大小则是对多维属性的束缚条件,装箱的维度可以代表资源的种类数.
我们的任务是将所有物品装入箱子,而使用的箱子最少,因此每个箱子要尽可能的多装,同时满足各维的约束条件.
假设服务器总数为,虚拟机总数为,那么共有种放置方案,这是一个类似于装箱问题的NP难组合优化问题.
实际应用情况中要求虚拟机的配置时间尽可能短,所以采用传统的遍历算法的时间成本是无法接受的.
因此,提出了一种基于模拟退火算法的能耗感知的虚拟机放置优化算法,在较短的时间内求得近似最优解.

放置方法设计动态放置模型基于上述分析,提出一种提高服务器利用率的虚拟机放置方法,同时满足各性能指标要求.
该动态放置模型如图1所示.

图1虚拟机动态放置模型根据图1描述的模型,我们使用组合优化方法求解服务器分配权重向量确定的问题[],并收集服务器运行的负载信息,使用模拟退火算法产生计算集群中服务器的分配权重,该权重会根据变化的服务器负载信息动态变化,选择函数则能够根据动态的分配权重,合理而均衡地放置虚拟机.
对于遗传算法可以解决的问题,模拟退火算法同样可以解决,并具有更好的收敛性,更能满足实际应用场景.
控制器获取服务器资源利用率的反馈信息后,调整模拟退火算法使之产生新解,并继续迭代,直至模拟退火算法取得最优的目标函数.

算法设计与实现将图1的动态虚拟机放置模型描述为一个组合优化问题[]:有个虚拟机负载请求需要分配到个应用服务器上进行处理,通过多维度性能指标计算应用服务器的资源利用率,找到一个最优的分配权重向量,使虚拟机负载向量能够正确地反映虚拟机的负载请求,选择函数将选择服务器处理负载请求,使整个服务器集群的资源利用率都提高.
基于实际不同的应用场景和异构的服务器系统,分配权重向量各每个维度值的选取对整个服务器集群的实际性能表现有较大影响.
例如对于HPC应用服务器,CPU使用率相对于内存使用率和磁盘读写量更加重要.

在一个服务器集群中,每台服务器上可以运行多个虚拟机,每个虚拟机封装一个云服务应用实例.
可以通过标准的工具实时收集到虚拟机的CPU、内存、I/O带宽等资源的负载情况.
可将每个虚拟机的应用负载请求定义建模为一个维向量;从资源供应的角度,可将虚拟机所在的服务器也建模为一个维向量.
假设服务器上运行的虚拟机集合为,则该服务器第维资源利用率,其中为虚拟机的第维资源利用率,其值等于该虚拟机使用的第维资源与其所在服务器的第维资源总量的比值,其表示为:(7)由此,我们可以得到服务器在时刻的多维资源平均利用率:(8)从而得到整个服务器集群在一个时间段内的多维资源平均利用率为各服务器多维资源利用率的平均值:(9)计算服务器分配权重向量,将定义为:(10)选择函数由服务器资源管理工具进行处理,函数通过当前虚拟机资源请求和服务器分配权重向量,来确定一台合适的服务器来处理当前请求.
选择函数是对每次迭代过程中的资源利用率进行评价,选择出资源利用率最低服务器来动态放置虚拟机,之后获取每次分配后的集群平均资源利用率,进入下一次迭代.

我们将该优化问题的目标函数定义为服务器集群的资源利用率的倒数为:(11)由于以上定义,该虚拟机放置优化问题可以描述为:当所有服务器平均利用率最高时,整个系统处于最佳运行状态,由此可以保证整个集群能耗的良好使用状态.
根据给出的目标函数,目标函数越小则系统的整体利用率越高,对于模拟退火算法收敛时,得到目标函数最小值,即资源利用率最优.
根据以上所述退火算法原理及基于能耗优化的建模分析,本文算法流程如下:(1)生成新解根据当前负载情况,生成当前解,将虚拟机放置在满足资源的服务器上,由产生函数对当前解的部分或全部袁绍进行互换,生成一个新解.

(2)计算新解的目标函数值将新解代入模型中执行动态放置虚拟机,计算服务器集群的平均资源利用率,得到目标函数在下的结果.
(3)接受新解:计算新解所对应的目标函数值与前一个解的目标函数值的差,判断新解是否被接受.
根据Metropolis准则定义的新解的接受概率为:(12)式中,表示当前温度,为模型的目标函数.
若,也就是说在下,集群系统的资源利用率越大,则接受;反之,使得服务器资源利用率降低,则根据公式,温度越高,接受概率K越大,越容易接受新解.
随着迭代的进行,逐渐降低,解也会渐渐收敛.

(4)降温过程每轮迭代计算后,判断是否满足条件(5),若满足则表示虚拟机已放置在合理位置,不再降温;若不满足,会继续降温,来确保算法可以正常收敛.
对于该动态放置模型,第轮迭代时,定义为以下公式,初始温度取值为10000,为常数:(13)(5)停止条件考虑到实际情况,该算法的收敛过程必须在一个可接受的时间段内才有意义,定义退火算法的停止条件为<0.
2.
上文中已经定义了目标函数,若新向量带入模型后,在多轮虚拟机负载分配测试中,使得服务器集群的资源利用率升高,即,则接受该;若新向量降低了资源利用率,则根据接受概率决定是否接受该.
最终经过多轮迭代,系统将收敛于一个最佳的向量,使得该虚拟机放置系统能够准确地计算服务器当前负载,合理地分配虚拟资源,提高资源利用率.

实验分析实验环境为了验证模拟退火算法算法在基于能耗感知时资源分配过程中的可行性和有效性,我们使用云仿真工具CloudSim对其进行仿真实验,实验环境为IntelCorei3-21203.
3GHzCPU,RAM内存4GB,Windows7操作系统,开发环境是Eclipse,用Java语言编程,结合CloudSim3.
0云仿真平台,模拟出一个云计算局部环境.
在该环境下,可以对数据中心的虚拟资源进行加载和分配.

实验结果与分析为了验证本文提出的基于模拟退火算法(简称SA)方法的有效性,我们与文章[]所采用的基于遗传算法GA算法的方法(简称GA)进行了对比,本实验只考虑CPU和内存两维属性.
在同等实验条件下,分别用SA算法和GA算法进行模拟资源分配.
创建50个服务器主机Host和500个异构的虚拟机,给定服务器的Mips为2000~10000,ram为1024~8192,给定虚拟机的Mips大小为250~5000,ram为256~1024.
负载Cloudlet.
length为500~4000,负载分配给各个虚拟机的概率为随机值.

以上两种方法完成相同的负载请求,花费的时间成本和能耗成本(CPU利用率可以直接反应能耗情况,这里用CPU利用率表示)进行对比分析,图2~4分别给出了两种算法随着任务数的递增,执行所需的时间、服务器开启数目和CPU平均使用率的对比图.

图2相同任务数,完成总执行时间从图2中可以看出,本方法与GA方法相比,完成相同任务数所花费的时间略低.
因为GA方法在迭代过程中,需要进行编码和提议交叉进行,且GA方法并不能将优化问题的约束全面的表示出来,这样计算时间必然增加,因此本方法任务完成时间更少.

图3相同任务数,服务器开启总数从图3可以看出随着任务数的增加,两个算法所开启服务器数量均有所增加,但是增加数量并不相同.
相对而言我们基于SA算法的放置方法启用的服务器数量更少,本算法针对虚拟机放置组合优化问题的特点,设计了运行能耗模型,以CPU利用率作为目标函数,大大提高了求解的质量,将负载融合在了尽量少的服务器上.

图4相同任务数,CPU平均利用率图4说明随着任务数的增长,两个方法的资源利用率均呈现出波动变化的特征,但是本方法高于其9%—12%,无论任务数如何变化,本方法的CPU利用率总高于61%.
对于相同的负载请求,较高的资源利用率意味着开启更少的服务器来承载同样多的任务数,从而降低了能量消耗.

结束语本文提出了一种基于模拟退火算法的动态云资源分配方法.
通过虚拟资源分配能耗优化模型的建立和模拟退火算法的应用,解决了资源分配权重向量确定的问题,而动态资源利用率的计算则能较为准确的反映当前服务器集群的平均资源利用率.
该方法结合了多种方法的优势,能够合理的分配负载,放置虚拟机,并具有良好的收敛速度,测试结果也证明了其准确性和有效性,对于服务器集群资源利用率的提高,而使得能耗降低,具有一定的参考价值.
但本文仍有许多不足之处,如在实际应用中,在降低能耗优化方面还应考虑虚拟机迁移次数等方面因素,而模拟退火算法本身也可以进一步改进,在今后的研究中还需不断的完善.

DogYun(300元/月),韩国独立服务器,E5/SSD+NVMe

DogYun(中文名称狗云)新上了一批韩国自动化上架独立服务器,使用月减200元优惠码后仅需每月300元,双E5 CPU,SSD+NVMe高性能硬盘,支持安装Linux或者Windows操作系统,下单自动化上架。这是一家成立于2019年的国人主机商,提供VPS和独立服务器租用等产品,数据中心包括中国香港、美国洛杉矶、日本、韩国、德国、荷兰等。下面分享这款自动化上架韩国独立服务器的配置和优惠码信息。...

2021年国内/国外便宜VPS主机/云服务器商家推荐整理

2021年各大云服务商竞争尤为激烈,因为云服务商家的竞争我们可以选择更加便宜的VPS或云服务器,这样成本更低,选择空间更大。但是,如果我们是建站用途或者是稳定项目的,不要太过于追求便宜VPS或便宜云服务器,更需要追求稳定和服务。不同的商家有不同的特点,而且任何商家和线路不可能一直稳定,我们需要做的就是定期观察和数据定期备份。下面,请跟云服务器网(yuntue.com)小编来看一下2021年国内/国...

paypal$10的代金券,选购美国VPS

paypal贝宝可撸$10的代金券!这两天paypal出了活动,本次并没有其他的限制,只要注册国区的paypal,使用国内的手机号和62开头的银联卡,就可以获得10美元的代金券,这个代金券购买产品需要大于10.1美元,站长给大家推荐几个方式,可以白嫖一年的VPS,有需要的朋友可以看看比较简单。PayPal送10美元活动:点击直达活动sfz与绑定卡的号码可以重复用 注册的邮箱,手机号与绑的银联卡必须...

虚拟主机测评为你推荐
服务器空间租用网站服务器是租用好,还是购买服务器好,还是购买空间好..php虚拟主机免费的国内的php虚拟主机有吗域名注册公司域名注册公司是不是要向DNS根服务器交钱?免费国内空间网站免费空间(国内的)那里有?com域名注册com域名是永久注册的吗网站空间域名什么是网站域名和网站空间国外主机空间2个国外主机空间,都放了BLOG,看看哪个更快?重庆虚拟空间在重庆开一家VR体验馆价格要多少?虚拟主机软件谁知道这个虚拟机软件叫什么。虚拟主机评测浅谈建站新手如何挑选虚拟主机
成都主机租用 怎样申请域名 域名抢注工具 免费申请网页 云网数据 windows主机 edis 英语简历模板word unsplash 全能主机 网通代理服务器 java空间 亚马逊香港官网 河南移动网 国外免费asp空间 1美金 万网主机管理 免费网络 防cc攻击 酸酸乳 更多