董倩,赵鹏,刘延萍
(廊坊燕京职业技术学院,河北 廊坊 065200)
随着互联网技术的发展,产生了一种新的计算模式---云计算。云计算是新兴的技术,它借助互联网实现资源的共享,并进行信息处理。云计算融合了多种计算机网络技术,对海量数据进行处理。资源调度在云计算中是一个NP问题[1],因此,提高资源调度效率是云计算的关键。近年来,许多学者把智能算法融入到云资源调度中。文献[2 ]采用粒子群算法对云计算资源进行优化,提高了资源利用效率;文献[ 3]的布谷鸟算法能够快速找到云计算资源调度的最佳方案。本文在总结智能算法应用于云资源调度基础之上,提出了改进灰狼算法在云计算资源调度中的应用。
灰狼算法是通过模拟大自然狼群搜捕猎物的一种智能优化算法[4]。狼群在捕猎过程中有着森严的等级制度,它们的社会等级分为四层,分别为α,β,δ,ω。α为狼群的首领,β狼和δ狼负责协助α狼进行捕猎,剩余ω狼处于最下层。
狼群狩猎时首先要包围猎物,在这个过程中,给出以下数学模型。
其中,Xp(t)表示第t代目标位置向量;X(t)为第t代一只灰狼的位置向量;D为灰狼与猎物的距离;A和C为系数;α随着迭代次数的增加从2线性递减到0;r1和r2为[0,1]之间的随机数。
狼群根据α,β和δ个体的位置来确定猎物的方位,有。
灰狼算法具有控制参数少、易于实现、搜索能力强等优点。但是参数的线性递减,会导致全局搜索能力不足,同时也容易陷入收敛精度低等缺点。针对这些缺点,本文从两个方面对灰狼算法进行改进。
①给出云计算资源调度的适应度函数,初始化参数,狼群规模为N,算法的最大迭代次数。②对狼群进行初始化,计算灰狼个体的适应度值,根据个体适应度值分别确定α,β,δ的位置。③依据公式(7)对灰狼个体进行位置更新,并更新相关参数。④采用贪心算法确定最优适应度值,及头狼α的位置。⑤若达到终止条件,则终止运算,输出最佳个体;否则迭代次数增加1,继续循环步骤c,d;⑥改进灰狼算法达到最大迭代次数,算法结束,输出云计算资源调度的最优解。否则,跳转至b。
仿真实验采用CloudSim 平台,选择遗传算法GA[6]、粒子群算法PSO[7]算法进行对照实验,最后得到不同算法的云计算资源调度任务完成时间,如图1所示。从实验结果来看,随着任务数量的增多,本文算法所用时间缩短,效率得到了提高。
图1 不同算法的资源完成效率对比
本文给出的改进灰狼算法应用于云计算资源调度,实验模拟结果表明,该算法能使完成任务时间缩短,成本变小,有效提高了资源调度效率。下一步工作是结合其它智能算法,进一步提高资源利用效率。