云计算中融合群体智能软件优化算法的计算机动态调度
2018-01-29李岚
李 岚
(安徽交通职业技术学院 水运工程系,合肥 230001)
计算机调度系统是一类以云计算作为基础的新型计算策略与服务形式[1],可以通过应用虚拟化的处理技术为计算数据提供可变的存储空间与计算机数量[2-3].当前,各类信息数据不断增加,对于数据处理速度也提出了新的要求[4-5].同时随着信息处理系统复杂度的持续提升,要求进一步整合云计算架构,从而确保系统计算性能获得提高的前提下进一步减少运行成本[6],而关于综合考虑性能方面的内容还需进一步深入研究[7].
本文综合分析了云计算中的计算机调度系统存在的缺陷,引入了群体智能软件优化算法以完成云计算多目标的调度.在引入群体智能软件优化算法后,选择更加合理的计算机调度系统也能够提高计算机的动态调度速率.所以,可利用群体智能软件优化算法完成云计算中的调度系统.
1 计算机调度系统
1.1 多目标计算机的初始化配置
本文提出了群体智能软件优化方法,将n个不同序号进行组合成为队列形式,然后结合搜索方法求得m个云环境下群体软件的响应关系.将群体的各计算机位置与速率表示成如下形式:
(1)
(2)
在每次调度中的不同计算机速率与位置可以按照式(3)与式(4)的形式更新.
vid(t+1)=ωvid(t)+c1r1[pid(t)-vid(t)]+c2r2[pgd(t)-vid(t)]
(3)
vid(t+1)=vid(t)+vid(t+1)
(4)
式中:i表示群体智能软件中计算机编号;d表示计算机维数;r1、r2表示0~1范围内的随机数;c1、c2表示在线的学习因子,一般情况下c1、c2在0~4范围内的选取大小相同的数;ω表示群体的惯性权重;Pid表示个体i处在此刻在调度后的最佳位置;Pgd表示目前智能软件所在的最佳位置.
考虑到惯性权值的最终确定可以按照式(5)来表示的:
ω=(ωmax-ωmin)×tan[m×(1-(t/num)k)]+ωmin
(5)
式中:m值主要是用来确保ω值,当{ωmin,ωmax}之间发生的改变;k值的变化将会对惯性权重产生影响;num表示系统一共的调度次数;t表示在调度过程所用的时间.
在群体智能软件优化算法中加入了全局搜索的思想.利用解的调度形成另一个解,通过对目标函数变化量的计算,可以判断是否接受或拒绝该解,并且在调度完成后参照比例相应的降低t值,全局搜索公式为
T(t+1)=α×T(t)
(6)
式中:α是模拟全局搜索过程中的冷却衰减因子,其值是比1.00略大的正常数.
1.2 云计算中群体智能软件优化算法
采用群体智能软件优化算法先对计算机放置位置进行搜索,确保平台具有良好运行性能的前提下进一步提升计算机的利用率,从而显著减少能耗.
1)云计算中CPU利用率对服务等级协议具有直接影响.如式(7)所示,是在CPU使用率基础上得到的SLA评价函数.
fSLA(UCPU)=1/(1+ep-UCPU)
(7)
其中:UCPU代表相应云计算所具有的CPU使用率,p对SLA阈值范围进行限定.
2)以计算机的剩余利用率来判断当前计算机的利用率.可以用表达式(8)进行描述:
(8)
式中:Ri表示第i维在进行标准化后剩余的计算机,Rmin表示不同标准化剩余计算机对应的最小取值.
3)节点能耗包括运行能耗与基础能耗共两类,可利用CPU使用率来评价节点能耗的大小,在式(9)中显示了节点能耗相应的评价函数.
(9)
式中:Pidle表示在空载的情况下电能消耗,Pbusy表示在满载情况下的电能消耗,利用公式可以得到低能耗节点,并将其作为搜索过程的解.
4)根据不同的目标优化标准可以对权值进行合理设定,以此完成多目标的优化处理.对于综合适应度函数的定义见式(10):
f(UCPU,Umem,Ubw)=K1fSLA+K2fr+K3fp
(10)
1.3 计算机动态调度过程
利用时间序列预测平滑指数模型对热点进行预测,明显降低了热点的误判概率同时也减少了分配次数.结合历史数值,对后续CPU使用率进行预测分析.在第t+1时刻时相应的负载见式(11):
xt+1=αxt+α2xt-1+…+αn+1xt-n+αt
(11)
式中:α是对平滑指数进行预测的参数,是一个比1小的正数,用于预测后续窗口CPU利用率的影响程度;αt是正态分布中的一个随机变量,确保预测结果能够符合随机性特征.
云计算对于目标的优化作用是降低分配次数以及计算机的分配时间,从而实现目标优化过程,这对分配质量及效率都将产生显著影响.
1)选择CPU利用率与计算机内存策略,对计算机进行分配时要确保其具有良好的分配质量,得到式(12)所示的分配函数.
(12)
式中:UCPU代表计算机的CPU利用率,Rram是计算机内存大小.
2)对计算机进行分配时需对数据进行全面复制.式(13)给出了计算机的评价公式.
(13)
式中:UCPU、Uram、Ustorage分别表示计算机的CPU、内存、硬盘的占用值,UFCPU、UFS与UFR分别代表计算机的CPU、硬盘及内存容量.
3)对分配效果与时间进行综合分析,利用较少的分配时间并显著降低分配次数与节点利用率,以此确保云计算能够长期稳定高效的运行,结果见式(14).
E=a×Q+b×V
(14)
式中:a与b都是权值.
2 实验结果与分析
2.1 仿真环境
利用CloudSim模拟云计算进行实验,为仿真测试总共构建400个两种云计算,并创建了263个四类配置计算机,每个计算机各自都能运行5个云计算任务.模拟实验总共进行了1周时间,对算法的长期稳定性与效率进行了测试.
2.2 参数设置
本文探讨了k在式(5)惯性权重中的取值结果.当k值依次等于0.3、1.0、2.0与3.0的情况下,当k等于不同的取值时,惯性权重将表现为不同的曲线形式,从而对群体智能软件优化算法的搜索区域与收敛速率产生明显影响,结果见图1与图2.
从图1与图2中可以发现,在k值等于2.0的情况下,惯性权重曲线表现为凹函数形态,采用群体智能软件优化算法可以获得良好的效果.
图1 不同k值算法收敛性
图2 各k值下的算法适应度
2.3 仿真与分析
2.3.1 SLA违背率分析
SLA违背率仿真结果如表1所示.
表1 SLA违背率
根据表1可知,违背率最高的是贪心算法,FIFS分配方法具有最低的SLA违背率.从长期运行状态看,SISOA在前期具有更高的SLA违背率,当运行时间达到4天之后,其SLA违背率比标准群体智能软件优化算法更低,而且不断降低,体现出了SISOA在长期负载中的优势.
2.3.2 云计算中剩余计算机利用率
表2显示了剩余计算机的测试结果.
表2 剩余计算机利用率
表2表示了不同算法的计算机利用率,从中可以发现平均剩余计算机保持稳定状态,当任务完成后,为确保计算机能够进一步获得高效利用,要求集中放置低载节点计算机.FIFS剩余计算机在任务完成后不断增加,这是由于当任务完成之后,内存与CPU的占用空间都降低了.PSO具有良好的初期表现状态,但后续运行中无法获得较高的剩余计算机利用率.SISOA则与PSO刚好相反,其前期剩余计算机利用率较低,而在长时间的运行中表现出了更好的优化效果.由此可见,此动态调度能够达到更佳的长期集群计算机利用率.
2.3.3 平台能耗分析
表3显示了各算法的平台能耗测试结果.其中,FIFS使用了集群的所有云计算,从而导致后续能耗不断增大.贪心算法所需的节点数量最少,所以能耗也最低.SISOA与标准计算机群具有相近的能耗,不过对于长期运行过程而言,SISOA表现出较低的能耗.
表3 各算法平台能耗
2.3.4 计算机分配次数分析
表4显示了各算法在电力云计算中持续运行7天所得分配次数.
表4 计算机分配次数
由表4可知,PSO是一个初期适应度最佳的函数,因此其前期分配次数更少,但在长时间的后续仿真中,SISOA具有明显更优的分配效果,而贪心算法则需要最多的分配次数.
3 结论
本文对计算机调度系统进行了深入研究,分析了各算法的计算机利用率、SLA、分配次数与能耗方面的测试结果.提出了融合群体智能软件优化算法的计算机动态调度,对该算法进行了优化处理并将其应用到计算机调度系统中,确保系统具有良好的SLA.同时,在其他各项性能方面也能达到均衡性.仿真测试结果显示,此方法具有良好的服务性能与计算机利用率,有效地提高了云计算性能.
[1] BASHIR,SUSARLA,VAIRAVAN.A statistical study of the performance of a task scheduling algorithm[J].IEEE Transactions on Computers,2016,C-32(8):774-777.
[2] RENAULT M P,ROSÉN A, STEE R V.Online algorithms with advice for bin packing and scheduling problems[J].Theoretical Computer Science,2015,600(C):155-170.
[3] GEORGIOU C,KOWALSKI D R, ZAVOU E.Online parallel scheduling of non-uniform tasks[J].Theoretical Computer Science,2015,590(C):129-146.
[4] YANG X S,DEB S,FONG S,et al.From swarm intelligence to metaheuristics:nature-inspired optimization algorithms[J].Computer,2016,49(9):52-59.
[5] SINGH S, CHANA I.Qrsf:qos-aware resource scheduling framework in cloud computing[J].Journal of Supercomputing,2015,71(1):241-292.
[7] CICIRELLI F,FOLINO G,FORESTIERO A,et al.Strategies for parallelizing swarm intelligence algorithms[J].IEEE Transactions on Computers,2015,60(7):329-336.