第37卷 第11期 、b1.37 NO.11 计算机工程 2011年6月 June 201l Computer Engineering ・云计算专题・ 文章编号:10o0___3428(2o11)11—0o43—_02 文献标识码:A 中图分类号:TP311 基于MPSO算法的云计算资源调度策略 刘万军 ,张孟华 ,郭文越 (辽宁工程技术大学a.软件学院;b.电子与信息工程学院,辽宁葫芦岛125 105) 摘要:针对云计算服务集群资源调度和负载平衡的优化问题,提出一种基于改进的粒子群优化算法的云计算资源调度策略。将动态多群 体协作和变异粒子逆向飞行思想引入到粒子群优化算法中,从而控制全局搜索和局部搜索,尽量避免陷入局部最优。在CloudSim平台进 行模拟测试,结果表明,该调度策略有效且执行效率较高。 关健诃:云计算;粒子群优化算法;资源调度;CloudSim平台 Cloud Computing Resource Schedule Strategy Based 0n MPSO Algorithm LIU Wan-jun ,ZHANG Meng-hua ,GUO Wen-yue (a.School of Software;b.College of Electronics and Information Engineering,Liaoning Technical University,Huludao 125105,China) [Abstract]Aiming at the optimization problem of the cloud computing’S service cluster resource schedule and loading balance,this paper presents cloud computing resource schedule strategy based on Modiifed Particle Swarm Optimization(MPSO)algorithm.In order to control the global search and local search effectively,and to avoid falling into local optimal,it introduces dynamic multi—group collaboration nd ahe treverse of he tlifght of mutation particles to the Particle Swarm Optimization(PSO)algorihm.By exttending the cloud computing emulator CloudSim platform to test the simulation,the results show hatt hist method is effective,and the operation eficifency is high. [Key words]cloud computing;Particle Swarm Optimization(PSO)algorithm;resource schedule;CloudSim platform DOI:10.3969/j.issn.1000—3428.2011.11.015 1概述 云环境中采用虚拟化技术,将服务器整体虚拟化为一个 资源池,由于资源的种类多、规模大,云计算资源调度成为 云计算研究的热点之一。粒子群优化(Particle Swarm Optimi— 定的资源使用规则,在不同的资源使用者之间进行的资源调 整过程。目前的资源调度策略大多数是通过虚拟机级别上的 调度技术结合一定的调度策略来为虚拟机内部应用做资源调 度 J,并且调度算法过于简单,判断需要进行推测执行的任 务的算法造成过多任务需要推测执行,降低了整个任务的性 能 】。所以在虚拟机级别上采用什么算法实现资源调度是目 前待解决的一个难题。 zation,PSO)算法是一种模拟鸟群觅食行为的演化计算算 法…。因其结构简单、参数少、易实现,所以受到广泛重视 并被应用到了许多自然科学和工程科学领域。但对于存在较 多局部极值的搜索空间,它很容易陷入局部最优,在进化后 期收敛速度慢、鲁棒性差。本文从动态多群体协作和变异粒 子逆向飞行两方面对PSO算法加以改进,将改进的粒子群优 化(Modiifed Particle Swarm Optimization,MPSO)算法应用于 3标准粒子群算法 粒子群算法是一种基于群体的自适应搜索优化算法。通 云环境下的资源调度,服务集群能够推荐出一个较优的有效 资源,并且能尽量避免资源调度负载失衡。 过大量的实验研究,证实了群体中个体之间信息的社会共享 有助于整体进化,这是开发PSO算法核心思想 。标准的粒 子群算法通过惯性权重 来协调PSO算法的全局和局部寻 优能力, 过大有利于全局寻优, 过小则有利于局部寻优, 2云计算技术 云计算作为一种新兴的并行计算技术,是分布式处理、 并行处理、网格计算的发展和延伸,是这些计算机科学概念 的商业实现 J,适合当今巨型信息化处理需求。云计算提供 了更可靠、更安全的存储和计算数据能力、简化计算交付、 降低成本、具有更高的扩展性和灵活性。云计算采用计时付 经过先前的大量研究实验,专家建议 采用从0.9线性递减 到0.4的策略,如下: t= d+Clrl(Pld一玉td)+C2F2×(ptgd一. ) (1) (2) = t+ 其中,1≤d≤D,1≤i≤M,D是搜索空间的维数,肘是 粒子群内粒子的个数; =( , ,…, ) 表示粒子 当前位 置;1;i=( ,Vi ,…, ) 表示粒子 的当前速度; t是第t时 费的形式,用户交付很低的费用,能得到更优质的服务;程 序员只需关注应用程序本身,关于集群的处理问题,则交由 平台处理。云计算平台按需进行动态地部署、配置、重新配 置以及取消服务等 J。云计算重要特点之一是虚拟化。虚拟 化技术 范畴从简单的硬件抽象逐渐发展成为虚拟云操作系 统,云主机能够大量根据用户定义的服务质量(Quality of Service,QoS)规范执行应用程序的VMs并行分享。 云计算资源调度指的是在一个特定的云环境中,根据一 刻粒子 本身的最优位置的第d维变量;p 是第t时刻粒子 群全局最优位置的第d维变量;C1,C 是学习因子;‘,r2是均 基金项目:辽宁省教育厅基金资助项目(2009A350) 作者倚介:刘万军(1959--),男,教授,主研方向:云计算,智能优 化算法;张盂华、郭文越,硕士研究生 收穑日期:2010—11—12 E-mail ̄menghzh2008@163.com 计算机工程 2011年6月5日 匀分布在(0,1)区间的随机数。 式(1)、式(2)包含:(1)粒子对先前速度的继承,属于“继 承”部分;(2)粒子对本身的考虑,属于“认知”部分; (3)“社会”部分,粒子间的信息共享与相互合作。 4基于MPSO算法的云计算资源调度策略 PSO算法优点很多,但是由于算法随机性很大,仍有很 多不完善的地方。本文主要从动态多群体协作和变异粒子逆 向飞行两方面进行改进。动态多群体协作提高了算法的收敛 速度和求解精度,变异粒子逆向飞行可以一定程度上避免陷 入局部最优的风险,维持和增加了种群的多样性,对调节系 统的负载平衡有一定帮助。基于这种改进粒子群优化算法, 云计算服务集群实现资源发现、信息交互、次群推荐最优资 源到主群、主群筛选全局最优、变异粒子逆向飞行。 4.1改进的粒子群优化算法 对于每个资源请求者,云环境服务集群必须推荐出一个 较优的资源。采用动态多群体协作算法,次群侧重于全局搜 索,主群侧重于局部搜索。每一代,所有子群都把最优的个 体信息传递给主群,主群从中挑选最优子群个体进行进化。 算法中主一次群体结构如图1所示。 图1主一次群体结构 主群算法公式如下: 屹 ( +1)=wV (, )+Cl× ×(p (m)一 td(,"))+ C2×r2×(p t(, )一j t( ))+ (3) C3× ×(p (, )一 t(, )) ( +1)= d( )+ ( +1) (4) 其中, ’ +1)是第m+l代主群在t+l时刻第i个粒子的第 d维的速度; +1)是第m+l代主群在第t+l时刻第i个 粒子位置; (m)是第m代主群第i个粒子在t时刻迄今个体 最优值的第d维变量;pt ( )是第m代主群在t时刻迄今全 局最优值的第d维变量;比(m)是第 代所有次群迄今的子 群最优值的值; (m+1)是第m+l代主群在t・时刻第i个粒 子的第d维变量的位置;C 、C 、C3是学习因子。次群算法 公式与式(1)和式(2)类似,不再列出。为避免陷入局部最优的 风险,选择产生变异粒子逆向飞行。粒子反向飞行比按其他 角度飞行效果好 J,易实现,摆脱局部极值最快,公式如下: Vt + ‘( +1):一屹 ) (5) Xit+ +1)= (m)一 (m+1) (6) 4.2云环境下的资源调度 在CloudSim平台 J上,Datacenter类管理大量的主机体, 这些主机体按一定的分配策略能够被分配到一个或多个虚拟 机上,它们能模拟与云相关的基础设施服务。因此,在 CloudSim平台上不必考虑基础设施,可以更多考虑集群资源 调度策略。整个云计算服务集群首先初始化虚拟资源池,将 资源池分为 个,其中,1个是主群; 一1个是次群。执行 多群协作算法,主群执行式(3)和式(4),次群执行式(1)和 式(2), 通过式(7)线性递减得到: CO= 一丝二竺×t (7) 其中,国∈【0.4,0.9】; --0.4; =0.9;T是最大迭代次数; t是当前迭代次数。 产生下一代主群和次群粒子的搜索速度、当前位置、最 优位置和全局最优位置,然后产生变异粒子,变异粒子个数 由随机数产生,产生随机数通过“(int)(Math.random() 10)” Java代码实现。变异粒子执行式(5)和式(6),改变方向逆向飞 行,然后更新整体信息量,如果未达到最优解或未达到迭代 次数,则继续迭代。为保证资源分配时负载平衡,变异粒子 逆向飞行时,给它加上一个权重因子,衡量各资源负载情况, 避免所有同一资源的请求者聚集于某一服务器而造成负载失 衡。改进算法的流程如图2所示。 图2改进算法的漉程 改进算法的伪代码如下: for t in iteration I/初始化变量,然后进行循环迭代 for secondary swarms//遍历每个次群的操作 //遍历每个次群中每个粒子 for every particle in secondary swarms for d in dimensions v(i,d,t+l,m+1);x(i,d,t+l,m+1); //产生变异粒子 n=Integer.parsedouble(Math.random() 10); for each particlein n v(i,d,t+l,m+1)一v(i,d,t,m); x(i,d,t+l,m+1)=x(i,d,t+l,m)一v(i,d,t,m); refresh weighting factor; //转移到主群的最优值 v=optimal—.solution(v);x=optimal—.solution(x); //遍历主群粒子的操作 for every particle in master swarm for d in dimensions v1(i,d,t+l,m+1);xl(i,d,t+l,m+1): if(reach to the precision){escape;) n1=Integer.parsedouble(Math.random() 1O); ofr each particle in nl v1(i,d,t+l,m+1)一vl(i,d,t,m); xl(i,d,t+l,re+1)=xl(i,d,t+l,m)一vl(i,d,t m); refresh weighting factor; end iterationloop 算法中涉及到的迭代次数、次群个数、群内粒子个数和 维度的遍历,考虑到时间复杂度问题,各参数设置尽量合理。 5实验与分析 为了验证该MPSO算法在云计算资源调度策略的可行 性,本文实验扩展了云计算仿真平台CloudSim,编程工具为 Myeclipse6.0。 (下转第48页) 计算机工程 2011年6月5日 低的资源公平偏差。 Continuous Double Auction[C[//Proc of International Conference on Computer Design and Applications.Shenyang,China:IEEE Press,201 0. [41 Valkenhoef G,Ramchurn S D,Vytelingum 1]_et a1.Continuous 垩呈 ㈣ 姗 Double Auctions with Execution Uncer[ainty[C],/Proc. of Workshop on’Trading Agent Design and Analysis.Pasadena, 聪 妊{ California,USA:【S n.],2009. an H,Ladani B [5] 1zakiZamanifar K,et a1.A Continuous Double Auction Method for Resource Allocation in Computational Gr- ids[C]//Proc.of IEEE Symposium on Computational Intelligence 五用户个数 in Scheduling.1S.1.]:IEEE Press,2009:295—299. [6] 曹晋华可靠性数学引论[M1.北京:高等教育出版社,2006. am A,Squillante M S,et a1.Failure [7】 Sahoo R K,SivasubramaniData Analysis of a Large—scale Heterogeneous Server 图2资源公平偏差 5结束语 本文在基于连续双向拍卖机制的资源分配的基础上,提 出资源供需双方各自的报价策略,讨论云计算环境下节点资 源的失效规律,提出节点的可信性概念,结合连续双向拍卖 Environment[C]//Proc.of DSN’04.Florence,Italy:[S.n.】,2004: 772—784. l J,Cukic B,et a1.Software Aging and 【8】 Shereshevsky M,Crowel机制,提出基于可信性的资源动态分配策略。分析与实验仿 真表明,该策略明显优于没有考虑节点可信性的资源分配策 Multifractality of Memory Resources[C]//Proc.of DSN’03.[S.1.]: IEEE Press,2003:721—730. 略。在云计算环境下能够有效提高节点资源的执行效率。 参考文献 【1]Foster I,Zhao Yong,Raicu I,et a1.Cloud Computing and Grid Computing 360一degree Compared[C]//Proc.of Grid Computing Environments Workshop.Austin,USA:IEEE Press,2008:1-10. [9] Huang Kintala C,Kolett N,et a1.Softw ̄e Rejuvenation: 4 Analysis,Module and Applications[C]//Proc.of the 25th Symposium on Fault Tolerant Computer Systems.Pasadena, California,USA:[S.n.],1995:381—390 [10] 张晓东,张培林,傅建平,等.基于Matlab/Fluent的协同仿真技 [21 Weiss A.Computing in the Clouds[J[.Networker,2007,11(4): 16.25. 术[J1.计算机工程,2010,36(20):220—221. [3] Chang Guiran,Wang Chuan,Xiong Yu,et a1.Efficient Nash Equilibrium Based Cloud Resource Allocation by Using a ………………………………………………………………………………编辑……陆燕菲 …~~ (上接第44页) 使用Ant工具重编译重写DataCenterBroker、Cloudlet等 将改进惯性权重、学习因子等参数,考虑负载平衡等问题。 类,对上述算法进行测试模拟。设主服务集群数为1,次服 务集群数为3,规定群规模固定,各个群群体规模为50,最 大迭代次数为350次。主群的学习因子(.1:C,= =1.333,次 群学习因子C =C,=2。 参考文献 [1]Kenney J,Eberhart R.Particle Swarm Optimization[Cl//Proc.of IEEE International Conf.on Neural Networks.Perth,USA:Is.n.1, 1995 判定粒子群优化算法的好坏需要和事先设定好的El标函 数的适应值进行比较,这里将实验结果与CloudSim现有的调 [2] 郭本俊,王 鹏,陈高云,等.基于MPI的云计算模型[JJ_ 计算机工程,2009,35(24):84—85. 度策略得出的结果进行对比,各任务执行时间对比见图3。 圆CloudSirr [3】 陈康,郑纬民.云计算:系统实例与研究现状[JJ.软件学报, 2009,20(5):1337—1348. E 逗 留 ●咐基于 MPIS 嚣 1 l 蓁 石仕务1d Myerson J M.Cloud Computing Versus Grid Computing[EB/OL]. [2010-10—121.http://www.ibm.com/developerworks/web/library/ wa—cloudgrid/. 虚拟化与云计算小组.虚拟化与云计算【M].北京:电子工业出 版社,2009. 陈全,邓倩妮.云计算及其关键技术 .计算机应用,2009, 29f91:2562—2567. 图3任务执行时间对比 李丽,牛奔粒子群优化算法IM】.北京:冶金工业出版社, 从总体上看,基于MPSO算法的调度策略比CloudSim 2009. 现有的调度策略的执行时间短,执行效率更高。 冯骏.改进粒子群算法研究及其在网络路由中的应用【DI. 6结束语 本文提出一种基于MPSO算法的云计算资源调度策略, 能有效地完成云计算环境中计算资源搜索与分配的工作,执 行效率比一般的资源调度策略高,兼顾了资源分配的公平性, 具有较好的实用性和扩展性。但该策略仍需要改进,下一步 南京:河海大学,2006. CLOUDS Lab.A Framework for Modeling and Simulation of Cloud Computing Infrastructures and Services Introduction[EB/OL] [2010.10—121.http://www.buyya.com/gridbus/cloudsim/. 编辑顾姣健