在云计算工作流系统中,采用改进的最早结束时间算法 HEFT(Heterogeneous Earliest Finish Time)和局部优化的模拟退火算法 SAA(Simulate Anneal Algorithm)与提出的改进的粒子群算法MPSO进行对比。
HEFT算法没有进行优化,在算法运行过程中,只设置了任务的最早完成时间,作为判断的特殊情况。模拟退火算法在算法运行的过程中可以实现局部的任务最优调度,但不能考虑全局的优化调度,MPSO算法则改进了经典的粒子群算法中的适应度函数,实现了全局随机优化调度。
以上三种算法在云数据中心的任务调度策略中得到普遍应用,为了寻求任务的最优调度,实验从三种算法的执行时间、执行费用上进行比较。
表6-1和表6-2的实验结果分别为采用HEFT算法、SAA算法时工作流任务在调度执行时的时间对比情况。
表6-1 HEFT算法执行时间(ms)
表6-2 SAA算法执行时间(ms)
表6-3、表6-4分别为运用MPSO算法,并且种群选择概率为40%和60%时工作流任务执行的时间情况。
表6-3 MPSO(40%)执行时间(ms)
表6-4 MPSO(60%)执行时间(ms)
由表6-1~表6-4的数据可以看出,在相同的开始时间,MPSO算法相较于HEFT算法和SAA算法的用时更短,并且在任务的调度过程中,由于改进了编码和遗传操作,MPSO算法本身在执行过程中,对各个节点的调度分配更加灵活,提高了任务调度效率。
设定不同资源数,采用HEFT算法、SAA算法以及提出的改进的粒子群算法 MPSO(选择概率为 40%和 60%)时,云计算工作流系统任务执行的总费用、时间对比如图6-4、图6-5所示。
由图6-4、图6-5可知,由于改进的粒子群算法MPSO其优化效率高,对于资源的调度更有效,在给予执行任务相同的资源时,在利用三种算法的执行费用比较中,HEFT算法最高,MPSO算法费用最低,并且随着系统提供的资源占系统总资源的比例增加,任务执行的费用降低,而MPSO算法执行的费用仍然最低。(www.xing528.com)
同时,当选择概率为60%时,算法的优化能力增加,任务调度过程不断优化,使得工作流中任务执行的效率提升,任务执行消耗的资源减少,费用随之降低。与此同时,执行的过程中,随着资源量的不断增加,对于寻优能力强的算法,其对任务的调度优化过程的优势更明显,促使任务的执行期不断缩短,任务执行时间明显减少。
图6-4 三种算法的执行费用
图 6-5 三种算法的执行时间
6.4.2.2 面向负载感知的任务调度算法实验结果分析
从CPU、内存以及磁盘利用率进行比较,实验结果如图6-6、图6-7、图6-8所示。
实验选取系统工作流任务执行60分钟的情况,利用有负载感知的任务调度算法执行时,任务开始执行到20分钟时,系统的CPU利用率较低,但仍处于上升的趋势。当多个任务进入系统后,系统需要进行合理的资源分配,执行任务的调度。此时,有任务处于等待状态,系统的CPU利用率增长缓慢。等待前期任务被调度完毕,系统的任务执行进入良好的较为稳定的执行状态,此时对应的CUP的利用率从较高的水平趋于平稳。
图6-6 CPU利用率对比图
图6-7 内存利用率对比图
图 6-8 磁盘利用率对比图
在 60分钟执行过程中可知,选用有负载感知的任务调度算法时,系统的内存利用率、磁盘利用率增加,符合工作流中任务调度的特点,同时,表明利用有负载感知的任务调度算法能根据多数据中心的负载情况,优化任务调度,有效降低负载,因而减少了任务等待时间,保证了任务高效执行。在同样的时间段内,选取无负载感知的任务调度算法运行时,内存利用率以及磁盘利用率降低,系统任务调度不稳定,资源利用率波动较大。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。