基于蚁群优化算法的云数据中心中虚拟机放置方法技术

技术编号:18114768 阅读:61 留言:0更新日期:2018-06-03 08:08
本发明专利技术公开了一种基于蚁群优化算法的云数据中心中虚拟机放置方法,采用蚁群优化算法解决VMP问题,在虚拟机请求到达时,找到一种虚拟机的放置方法,使得云数据中心的总体能耗达到最小的同时减少虚拟机之间通信所需的网络总带宽。本发明专利技术的主要特征是生成虚拟机的放置次序及蚂蚁之间进行直接的信息交流等,其技术效果在于,在给定网络拓扑上通过运用基于蚁群优化算法,以最小能耗为优化目标,计算出一种满足实际部署要求的虚拟机部署放置方案。仿真实验与数据分析表明,本发明专利技术提出的蚁群优化算法相比于降序首次适应算法算法,在算法性能上具有显著优势,获得的虚拟机的部署方案能够明显地降低云数据中心的总体能耗,证明了本发明专利技术的可行性及优势。

【技术实现步骤摘要】
基于蚁群优化算法的云数据中心中虚拟机放置方法
本专利技术涉及云计算与虚拟化
,特别是一种基于蚁群优化算法的云数据中心中虚拟机放置方法。
技术介绍
近年来,云计算技术发展迅速,随着云计算的发展,云计算的模式无处不在,有越来越多基于云的解决方案出现(参考文献R.Cohen,L.Lewin-Eytan,J.S.Naor,andD.Raz,"Almostoptimalvirtualmachineplacementfortrafficintensedatacenters,"inINFOCOM,2013ProceedingsIEEE,2013,pp.355-359.)。云计算是一种新的计算模式和资源供给,既指在互联网上作为服务交付的一种应用,也指提供这些服务的数据中心中的硬件和软件(参考文献M.Armbrust,A.Foxetal.,“Aviewofcloudcomputing,”CommunicationsoftheACM,vol.53,no.4,pp.50–58,2010),其一般被分为三种服务模式:基础设施即服务(IaaS)、平台即服务(PaaS)、和软件即服务(SaaS)(参考文献BuyyaR,etal.CloudcomputingandemergingITplatforms:vision,hype,andrealityfordeliveringcomputingasthe5thutility.FutureGenerComputSyst2009;25(6):599–616.),云计算中的物理资源是由数据中心提供,随着云计算的快速发展,云数据中心的规模和数量的也在急剧增加,云数据中心中的能源消耗及设备散热成本也随之增加,数据中心通常有三个主要的用电设备:服务器,冷却系统和数据中心网络设备,通常估计为:服务器(40-55%),制冷系统(15-30%)和网络设备(10-25%)。全球数据中心在2010年消耗了201.8亿千瓦时的电力,足以满足美国1,900万平均家庭用户的需求,占全球耗电量的1.1-1.3%,到2020年预计将增长到8%(参考文献P.X.Gao,A.R.Curtis,B.Wong,andS.Keshav,“It’snoteasybeinggreen,”ACMSIGCOMMComputerCommunicationReview,vol.42,no.4,pp.211-222,Oct.2012.)。当前许多的云数据中心都采用了虚拟化技术(参考文献BarhamP,DragovicB,FraserK,etal.Xenandtheartofvirtualization[J].ACMSIGOPSOperatingSystemsReview,2003,37(5):164-177),虚拟化技术可以将物理资源抽象成逻辑资源,使得一台物理服务器可以虚拟化为多台虚拟机,将CPU、内存、IO等硬件资源池化,根据需求按需分配,从而提升了物理资源的利用率并且节约了能耗,在一个完全虚拟化的云数据中心,所有的应用程序都在虚拟机(VirtualMachine,简称VM)上运行。将虚拟机合理的部署到相应的物理机能够降低云数据中心的能源消耗和提升云数据中心系统性能,虚拟机放置(VirtualMachinePlacement,简称VMP)问题是一种将虚拟机合理放置在物理机上的NP难问题(参考文献R.K.GuptaandR.K.Pateriya,“Energyefficientvirtualmachineplacementapproachforbalancedresourceutilizationincloudenvironment,”Int.J.ofCloud-ComputingandSuper-Computing,vol.2,no.1,pp.9-20,2015.)。VMP问题是云数据中心(CloudDataCenter,简称CDC)中资源管理和分配的重要组成部分。一般来说,对于解决此类问题,很难开发出在短时间内生成最优解的算法。元启发式算法可以在合理的时间内提出接近最优解的解决方案来解决此类问题,因此元启发式算法也被广泛的应用到了VMP问题当中,许多元启发式算法已经被用来解决VMP问题,用以优化能耗,QoS,资源利用率等问题。常见的元启发式算法有模拟退火算法(simulatedannealing,简称SA)、遗传算法(geneticalgorithm,简称GA)、蚁群优化算法(antcolonyoptimisation,简称ACO)、粒子群优化算法(particleswarmoptimisation,简称PSO)等。蚁群算法是在1991年由MarcoDorigo等人提出的(参考文献M.Dorigo,V.Maniezzo,andA.Colorni.Positivefeedbackasasearchstrategy[R].TechicalReport91-106,DipartimentodiElettronic,PolitecnicodiMilano,IT,1991.),蚁群在觅食的过程中会分泌出一种称为信息素的生物激素,它们通过这种生物激素来交流觅食信息,从而可以快速的找到觅食目标,MarcoDorigo等人根据这种基于信息的正反馈原理提出了蚁群优化算法,蚁群优化算法是一种基于种群的启发式仿真算法,该算法最早应用于节解决著名的旅行商问题(Travellingsalesmanproblem,简称TSP),结合分布式正反馈并行计算机制,易于与其他方法结合,具有较强的鲁棒性。
技术实现思路
本专利技术的目的是采用蚁群优化算法解决VMP问题,在虚拟机(VirtualMachine,简称VM)请求到达时,找到一种虚拟机的放置方法,使得云数据中心的总体能耗达到最小的同时减少虚拟机之间通信所需的网络总带宽。实现本专利技术目的的技术方案如下:基于蚁群优化算法的云数据中心中虚拟机放置方法,数据中心物理机个数为M,采用胖树拓扑结构,包括以下步骤:步骤1获取请求创建的虚拟机个数N,获取每个虚拟机vi所需的CPU资源和Memory资源获取虚拟机vi与虚拟机vj间通信所需的流量以虚拟机vi与虚拟机vj间通信所需的流量累加和计算所耗总流量SumTraffic,计算虚拟机vi与虚拟机vj间通信所需的流量与总流量SumTraffic的比值获取每个物理机pj的CPU容量及Memory容量步骤2根据虚拟机之间通信所需的流量降序生成虚拟机的放置次序列表vmList,根据网络拓扑生成物理机pi和物理机pj之间通信所要经过的交换机个数其中pi≠pj;步骤3初始化蚁群算法所需的参数α、β、ρl、ρg及网络拓扑链路负载容量以启发素η0和信息素τ0分别对虚拟机vi与物理机pj之间的启发素η(vi,pj)和信息素τ(vi.pj)进行初始化,设置算法的最大迭代次数genmax,当前代数gen=0,当前蚂蚁k=0;所述α表示信息素的重要程度,β表示启发素的重要程度,ρl表示局部信息素的挥发程度,ρg表示全局信息素的挥发程度;步骤4选取第k个蚂蚁,使用和分别记录物理机pj已经占用的CPU和Memory资源,用Place(k)记录第k个蚂蚁所寻得的解,Energy(k)记录该解所需要的能耗本文档来自技高网
...
基于蚁群优化算法的云数据中心中虚拟机放置方法

【技术保护点】
基于蚁群优化算法的云数据中心中虚拟机放置方法,其特征在于,数据中心物理机个数为M,采用胖树拓扑结构,包括以下步骤:步骤1获取请求创建的虚拟机个数N,获取每个虚拟机vi所需的CPU资源

【技术特征摘要】
1.基于蚁群优化算法的云数据中心中虚拟机放置方法,其特征在于,数据中心物理机个数为M,采用胖树拓扑结构,包括以下步骤:步骤1获取请求创建的虚拟机个数N,获取每个虚拟机vi所需的CPU资源和Memory资源获取虚拟机vi与虚拟机vj间通信所需的流量以虚拟机vi与虚拟机vj间通信所需的流量累加和计算所耗总流量SumTraffic,计算虚拟机vi与虚拟机vj间通信所需的流量与总流量SumTraffic的比值获取每个物理机pj的CPU容量及Memory容量步骤2根据虚拟机之间通信所需的流量降序生成虚拟机的放置次序列表vmList,根据网络拓扑生成物理机pi和物理机pj之间通信所要经过的交换机个数其中pi≠pj;步骤3初始化蚁群算法所需的参数α、β、ρl、ρg及网络拓扑链路负载容量以启发素η0和信息素τ0分别对虚拟机vi与物理机pj之间的启发素η(vi,pj)和信息素τ(vi.pj)进行初始化,设置算法的最大迭代次数genmax,当前代数gen=0,当前蚂蚁k=0;所述α表示信息素的重要程度,β表示启发素的重要程度,ρl表示局部信息素的挥发程度,ρg表示全局信息素的挥发程度;步骤4选取第k个蚂蚁,使用和分别记录物理机pj已经占用的CPU和Memory资源,用Place(k)记录第k个蚂蚁所寻得的解,Energy(k)记录该解所需要的能耗,Place(k,vi)记录第k个蚂蚁寻得的解中的虚拟机vi所放置的物理机;步骤5根据步骤2所生成的vmList按顺序取出虚拟机vi,按照物理机CPU和Memory以及网络链路的约束条件,获取能够放置虚拟机vi并且不会违背约束条件的物理机列表serverList;步骤6依次按顺序从步骤5所得的serverList中取出物理机pj,对虚拟机vi与物理机pj之间的启发素η(vi,pj)依据启发素更新式η1(vi,pj)和启发素更新式η2(vi,pj)计算出数值η1和数值η2,根据已放置的虚拟机数量n以方式更新;步骤7在0到1之间随机生成实数q,若q<q0执行步骤8;否则执行步骤10;其中q0为常数;步骤8依次按顺序从步骤5所得的serverList中取出物理机pj,根据虚拟机vi与物理机pj之间的启发素η(vi,pj)和信息素τ(vi.pj)计算出物理机pj的乘积因子值获取最大的物理机乘积因子值Γmax,并将的物理机pj从serverList中移除;步骤9依次按顺序从步骤8所得的serverList中取出物理机pj,根据启发素更新式η3(vi,pj)计算出新的物理机乘积因子值获取新的最大的物理机乘积因子值Γmax,将虚拟机vi放置到Γmax所对应的物理...

【专利技术属性】
技术研发人员:邢焕来朱菁叶佳杜圣东戴朋林
申请(专利权)人:西南交通大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1