改进蚁群算法的云计算资源调度模型
来源:叨叨游戏网
第55卷第3期 吉林大学学报(理学版) Journal of Jilin University(Science Edition) Vo1.55 No.3 Mav 2017 2017年5月 研究简报 doi:10.13413/j.cnki.jdxblxb.2017.03.37 改进蚁群算法的云计算资源调度模型 邹燕飞,刘淑英 (咸阳师范学院计算机学院,陕西咸阳712000) 摘要:针对当前云计算系统资源调度算法的资源利用率低、浪费严重等缺陷,提出一种基于 改进蚁群算法的云计算资源调度优化模型,以获得更理想的云计算资源调度方案.首先对云 计算资源调度的工作原理进行分析,建立云计算资源调度优化目标函数;然后利用蚁群优化 算法模拟蚁群找到一条从起点到目的地的路径,即云计算资源调度目标函数的最优解,并结 合目标函数对蚁群算法进行相应地改进;最后采用MATLAB2014R编程实现云计算资源调 度优化模型.实验结果表明,该模型在短时间内可找到云计算资源调度的最优解,使资源利 用率得到了改善. 关键词:云计算系统;资源利用率;目标函数;蚁群算法;资源调度方案 中图分类号:TP18 文献标志码:A 文章编号:1671—5489(2017)03—0679—05 Resources Scheduling Model of Cloud Computing Based on Improved Ant Colony Algorithm ZOU Yanfei,LIU Shuying (College of Computer,Xianyang Normal University,Xianyang 712000,Shaanxi Province,China) Abstract:Aiming at the defects of lOW resource utilization rate and serious waste of the resource scheduling algorithm in cloud computing system,in order to obtain a more ideal cloud computing resource scheduling scheme,we proposed an improved ant colony optimization algorithm for cloud computing resource scheduling.Firstly,the working principle of cloud computing resource scheduling was analyzed,and the ohjective function of cloud computing resource scheduling optimization was established.Secondly,ant colony optimization algorithm was used to simulate the ant colony to find a path from the starting point to the destination,which was the optimal solution of obj ective function for cloud computing resource scheduling,and ant colony algorithm was improved according to the objective function.Finally,the MATLAB2014R programming was used to optimize resource scheduling model of cloud computing.The experimental results show that the proposed model can find the optimal solution of cloud computing resource scheduling in a short time,which can improve the resource utilization rate. Key words:cloud computing system;resource utilization rate;obj ective function;ant colony algorithm;resource scheduling scheme 云计算系统通过互联网把分散在不同区域的计算机、存储资源及一些终端设备如打印机等组织在 一起,构成一台高性能的虚拟计算机,且具有较高的可靠性和灵活性.资源调度是云计算系统应用中 收稿日期:2016-07—06. 作者简介:邹燕飞(1981一),女,汉族,硕士,讲师,从事并行计算与云计算的研究,E—mail:zouyL31582@163.corn. 基金项目:陕西省教育科学“十二五”规划项目(批准号:SGH140808)和咸阳师范学院专项科研基金(批准号:13XSYK057) 68O 吉林大学学报(理学版) 第55卷 的关键技术,设计性能优异的云计算资源调度模型是提高云计算系统资源利用率,避免资源浪费的主 要途径.云计算资源调度根据用户提交到云计算系统中的任务分配最合理的资源,尽可能以最快的速 度完成任务,同时保证任务完成的质量满足用户要求.目前存在大量的云计算资源调度模型L1],根据 发展阶段不同,可分为传统批任务调度模型和现代启发式调度模型.传统云计算资源调度模型主要 有:贪心算法、轮转调度算法等[2],其中贪心算法是最原始的云计算资源调度模型,工作过程简单,不 需要任何复杂的处理,将找到的资源节点作为宿主机,但该方法资源利用率较低,很难满足用户需求; 轮转调度算法采用轮询方式将用户任务依次分配到相应的资源节点上,使资源节点的负载相对均衡, 但未考虑节点处理负载能力的差异性,通用性较差,且对于大规模任务,找到云计算资源调度方案的 效率较低【3].为了克服贪心算法、轮转调度算法等的不足,人们提出了基于最小连接算法的云计算资 源调度模型,根据前次节点任务连接数的容量实现资源节点的分配,当各资源节点的性能差异较小 时,负载均衡,而实际上云计算资源节点之间的性能差异较大,因此易出现负载极不均衡,资源点的 利用率低等现象[4].现代云计算资源调度模型主要是基于人工智能理论和非线性理论,有遗传算法、 粒子群算法和蜂群算法等 。],它们对云计算资源调度求解原理相似,通过模拟自然界的生物行为找到 云计算资源调度问题的最优解,但其自身存在不同程度的局限性,如遗传算法没有反馈机制,当陷入局 部最优解时不能及时反馈;粒子群算法的收敛速度较慢,影响云计算资源调度问题求解的实时性;蜂群 算法虽然具有实时信息的反馈功能,但寻优过程中迭代次数较多,影响云计算任务的实时分配[8 ]. 蚁群优化(ant colony optimization,ACO)算法[1 0]是一种模拟自然界蚁群觅食行为的算法.本文针 对当前云计算资源调度模型存在资源利用率较低,资源浪费严重等缺陷,为了得到最优云计算资源调 度解,提出一种基于改进蚁群优化(MACO)算法的云计算资源调度优化模型.首先建立云计算资源调 度优化的目标函数,然后采用改进蚁群优化算法实现云计算资源调度目标函数求解,并在 MATLAB2014R平台进行资源调度实验,以验证模型的有效性和优越性. 1传统蚁群优化算法 蚁群优化算法是一种模拟自然界蚂蚁搜索食物回巢行为的人工智能优化算法,通过蚁群个体间协 作对问题进行求解,在旅行商问题、网络路由、模式识别等领域应用广泛.设共有 个节点, 表示 节点i和节点J路径上在t时刻的信息素浓度,则对于蚂蚁k,在下一时刻访问节点J的概率为 f ‘ q-1 j (l “。 r (£)) ( (£)) 表示节点J和节点i间的距离. f1 I, ,J∈ l一 lowed , 其他, (1、 、 其中:allowed 表示尚未访问的节点集合;Ol表示蚂蚁对信息素的敏感程度;口表示蚁群对信息素的敏 感程度;珊表示启发因子,用于描述节点J对节点i上蚂蚁的吸引程度,可表示为%:1/d 式中,d 蚂蚁搜索食物过程中,路径上的原始信息素会不断挥发,同时蚂蚁又会在路径上不断释放新信 息,因此蚁群优化算法会对路径上的信息素不断进行更新操作,信息素的全局和局部更新公式分别为 r ( +1)一(1一lD) ( )+A (£), △ ( )一∑A k( ), 一(2) 1 其中:10表示信息素挥发程度;A r (£)表示蚁群在路径上释放的信息素总量;A rk (£)表示第k只蚂蚁 在路径上释放的信息素总量.目前信息素增量模型较多,本文采用如下信息素增量模型: △r c + 一{ ’ 蚂蚁经过路径 其中:Q表示完成一次搜索后路径上遗留的信息素总量;L 表示蚂蚁k搜索路径总长度. 2改进蚁群优化算法 c3, 蚁群优化算法虽然有很多优点,但也存在一些不足,本文结合云计算资源调度优化问题的特点对 其进行改进: 第3期 邹燕飞,等:改进蚁群算法的云计算资源调度模型 681 1)由于信息素挥发程度fD对算法搜索性能影响较大,lD越大,全局搜索能力越差;lD越小,局部搜 索能力越差,收敛速度也越慢,因此p取值采用如下自适应方式进行调整: ‘ {; :i :, —— ’ 其他 —— ≥IDmm’ Pc ,==c4, 2)对信息素更新方式进行改进,当蚂蚁k完成一次路径搜索后,全局路径信息素更新方式发生改 变,而局部更新方式仍采用标准蚁群优化算法更新,即 一(1--p)X -t-px Q_。. 3云计算资源调度原理 云计算系统是一种为了解决海量任务的并行式处理系统,与单节点计算机系统工作模式不同,它 是一种按需工作模式,且要付费,即有偿服务模式,在该模式下,服务器、存储设备、网络、打印机等 被抽象成为云计算资源,它们属于共享资源,提供快捷可靠的服务访问接vI,任何用户都可按需申请 服务.要建立一个云计算系统,需要采用虚拟技术、分布式文件系统等关键技术,典型的云计算系统 结构如图1所示. 源节点3 图1云计算系统的基本结构 Fig.1 Basic structure of cloud computing system 4云计算资源的目标函数构建 在云计算系统中,资源分配是重要的组成部分,且资源最优调度方案是保证能快速完成用户任 务的基础.由于资源具有多种类型,同一种类型 的资源性能也不同,即资源的异构性. Map/Reduce模型是云计算系统的常用文件管理模 式,通常情况下,一个大型云计算任务被划分为 不同规模的子任务,然后根据子任务的要求分配 相应的资源节点,在不同时刻,任务与资源节点 之间是一种动态变化关系.Map/Reduce模型的工 作原理如图2所示. 云计算系统中,有虚拟机D一{d ,d ,…,d }, 图2 Map/Reduce的工作原理 节点V一{ 1, 2,…, ),任务T一{t1,t2,…,t ), Fig.2 Working principle of Map/Reduce 则资源调度模型可表示为S一{丁,V,D,M , ),其中M 和M 分别表示资源与物理、资源与设备 之间的映射关系. 用户任务与节点之间是“一对一”的对应关系,即在一个时刻,一个节点只能完成一个任务,且一 个任务仅由该节点完成,否则就会发生资源节点冲突,出现“饥饿”节点.设任务t 在节点d 上的执行 时间为ETC( ,d ),则可以建立如下模型: ETC 一ETC(t M ,d^), 1≤i≤m, 1≤忌≤ , (5) 任务t 的最早完成时间应为任务开始执行时间与执行时间之和,即 Finish( fM ,d )一Start(d )+ETC(t M ,d ). (6) 对于一个资源节点d ,其完成任务的总时间为 682 吉林大学学报(理学版) 第55卷 sum c 一善c Finishc M , ,c ={ : i M ̄ =≠d k ,, 间为total(T)一>:Sum(d^). 置 c7, 其中C 一1表示任务t 在资源节点d 上完成.对于一个用户,所有任务T一{t ,t。,…,t }完成的总时 要获得理想的云计算资源调度结果,就是要使用户任务完成的总时间最少,即可将其作为云计算 资源调度的目标函数,公式为Goal(T)===min>:Sum(d ). 5 改进蚁群优化算法的云计算资源调度问题求解步骤 1)对蚁群优化算法的相关参数进行初始化,包括迭代次数和信息素浓度; 2)将,z只蚂蚁随机部署于初始节点上; 3)计算每只蚂蚁移动到下一个节点的概率,蚂蚁根据计算结果移动到相应的节点上; 4)当蚂蚁移动到新节点后,更新其经过路径的信息素,并对禁忌表进行相应的修改; 5)重复执行2)~4),直到整个蚁群中的每个个体均找到一个可行路径为止; 6)根据云计算资源调度问题的目标函数对所有可行路径进行评价,并选择当前最优路径; 7)对所有路径上的信息素进行全局更新操作; 8)迭代次数增加,如果迭代次数达到最大迭 代次数,则停止搜索,得到云计算资源调度问题的 最优解. 6实验结果与分析 中心服务器 为了测试MACO算法对云计算资源调度问题 求解的有效性,在MATLAB2014R平台进行仿真 实验,采用CloudSim平台模拟云计算环境,测试 环境的拓扑结构如图3所示.服务器和节点的配置 列于表1.选择粒子群优化(PsO)算法、文献[10] 算法进行对比测试,所有算法的迭代次数均为500, 图3测试环境拓扑结构 Fig.3 Topology structure of test environment 种群规模为5O,蚁群优化算法的参数a一2,口一3. 表1云计算系统的配置 Table 1 C0nfigurati0n of cloud computing system 为了体现算法的公平性,所有算法均进行1O次仿真实验,统计其平均值,不同规模任务完成的时 间如图4所示.由图4可见,随着任务数不断增加,所有算法完成的时间也不断增加,其中粒子群优化 算法增加幅度最大,文献Elo]算法增加的幅度次之,而改进蚁群优化算法增加的幅度最小,变化相对 较缓,表明改进蚁群优化算法的云计算资源调度方案更理想,可使资源节点能在最短的时间完成用户 提交的任务.不同算法的云计算负载均衡度变化曲线如图5所示.由图5可见,粒子群优化算法的负 载均衡度超过了0.6,而文献E1o]算法的负载均衡度有一定程度的降低,但仍高于改进蚁群优化算法 的负载均衡度,表明改进蚁群优化算法可有效保证资源节点的负载均衡,较好地防止了“饥饿”节点的 出现,更合理地分配了用户任务,提高了任务执行的效率,得到了更理想的云计算资源调度结果. 综上所述,为了解决当前云计算资源调度模型存在的局限性,提高云计算资源利用率,使资源负 载更均衡,本文设计了一种基于改进蚁群优化算法的云计算资源调度优化模型.该模型根据蚁群优化 第3期 邹燕飞,等:改进蚁群算法的云计算资源调度模型 683 厘 曹 餐 根 褥 任务数,1、 图4任务完成时间比较 Fig.4 Comparisons of task completion time 图5资源节点的负载对比 Fig.5 Load comparisons of resource nodes 算法的正反馈性、分布式计算等特点,结合云计算资源调度的特点设计了相应的目标函数,然后模拟 蚂蚁群落搜索食物过程得到云计算资源调度目标函数的最优解,最后在MATLAB2014R平台进行仿 真实验.实验结果表明,本文模型简单、易实现,可以快速搜索到云计算资源调度问题的全局最优解, 保证了云计算系统资源的负载均衡,提高了云计算资源的利用率. 参 考 文 献 [1] 师雪霖,徐格.云虚拟机资源分配的效用最大化模型[J].计算机学报,2013,36(2):252—262.(SHI Xuelin, XU Ge.Utility Maximization Model of Virtual Machine Scheduling in Cloud Environment[J].Chinese Journal of Computers,2013,36(2):252—262。) 4): [2] 赵宏伟,申德荣,田力威.云计算环境下资源需求预测与调度方法的研究口].小型微型计算机系统,2016,37(659—663.(ZHAO Hongwei,SHEN Derong,TIAN Liwei.Research on Resources Forecasting and Scheduling Method in Cloud Computing Environment[J].Journal of Chinese Computer Systems,2016,37(4):659—663.) [3] 程春玲,潘钰,张登银.云环境下一种节能的资源调度算法[J].系统工程与电子技术,2013,35(11):2416—2423.(CHENG Chunling,PAN Yu,ZHANG Dengyin.Energy Saving Resource Scheduling Algorithm in Cloud Environment[J].Systems Engineering and Electronics,2013,35(11):2416-2423.) zed Task Scheduling and Resource Allocation on Cloud Computing [4] Tsong T J,Cen F J,Horng C J.OptimiEnvironment Using Improved Differential Evolution Algorithm[J].Computers&Operations Research,2013, 40(9):3045—3055. 186. [5] 李建锋,彭舰.云计算环境下基于改进遗传算法的任务调度算法[J].计算机应用,2011,31(1):184—(LI Jianfeng,PENG Jian.Task Scheduling Algorithm Based on Improved Genetic Algorithm in Cloud Computing Environment[J].Journal of Computer Applications,2011,31(1):184—186.) 406. [6] 袁正午,李君琪.基于改进粒子群算法的云资源调度[J].计算机工程与设计,2016,37(2):401—(YUAN Zhengwu,LI Junqi.Cloud Resource Scheduling Based on Improved Particle Swarm Optimization Algorithm[J].Computer Engineering and Design,2016,37(2):401—406.) ao,YU Xiang,QIAN Ying.Task Scheduling Algorithm Based on Load Balancing Ant Colony [7] CAO YuxiOptimization in Cloud Computing[J].Microelectronics&Computer,2015,32(10):31—35. Yun, [8] 魏赞,陈元元.基于改进蚁群算法的云计算任务调度模型[J].计算机工程,2015,41(2):12—16.(WEICHEN Yuanyuan.Cloud Computing Task Scheduling Model Based on Improved Ant Colony Algorithm[J]. Computer Engineering,2015,41(2):12—16.) J].吉林大学学报(理学版),2016,54(5): [9] 曹阳,刘亚军,俞琰.基于遗传一蚁群算法的云计算任务调度优化型[1077—1081.(CAO Yang,LIU Yajun,YU Yan.Task Scheduling and Optimization of Cloud Computing Based on Genetic Algorithm and Ant Clony lgoriAthm[J].Journal of Jilin University(Science Edition),2016,54(5):1077—1081.) J].电光与控制,2014,21(11):93—96.(YE Feng. [101 叶枫.双向收敛蚁群算法在云计算资源调度中的QoS应用[Application of Two Way Convergence Ant Colony Algorithm in QoS of Cloud Computing Resource Scheduling [J].Electronics Optics&Control,2014,21(11):93—96.) (责任编辑:韩啸)