本次实验中,种群的规模设置为50,初始种群随机产生,迭代次数为50,将提出的MGAA算法和改进的遗传算法LGA[100]、BIGA[101]算法进行比较,结果如图4-2所示。
图4-2 三种算法的任务数量与执行时间对比
根据图4-2可以看出,在任务数量较少时,三种算法的执行时间没有差别,但是随着任务数据增加,当任务数量大于100时,MGAA算法的时间成本明显低于其他算法。这是由于MGAA算法利用遗传算法进行搜索后,融合了蚁群算法,在判断是否执行蚁群算法时,已经将优化解作为下一步执行的蚁群算法的初始信息素,加速了收敛的速度,加快了算法的执行效率。
三种算法的任务数量与执行费用的对比如图4-3所示。
图4-3 三种算法的任务数量与执行费用对比
由图4-3可知,在各个算法运行的早期,任务数量较少,费用差距不大,应用MGAA算法执行时,其费用与BIGA算法、LGA算法几乎没有差别。但随着任务数量逐渐增加,任务在数据中心执行所需的费用变化明显,并且应用BIGA算法、LGA算法呈明显增加趋势,偶有波动,但均高于利用MGAA算法执行时所需的服务费用,而MGAA算法由于其逐步完成任务调度优化,系统中任务执行费用波动较平稳。
此种情况从另一角度表明任务执行时系统的负载变化对任务执行费用的影响。任务数量增多,负载率增加,导致系统性能下降,数据中心中任务占用通信资源时间增加,从而导致费用升高。
三种算法执行时,其中的任务数量的变化和节点负载率的影响如图4-4所示。图4-4表明,由于MGAA算法对交叉算子进行了符合优化设置的更改,使之随着种群中个体的变化而适应性变化,同时,由于结合了蚁群算法,算法的寻优能力增强,对于任务的分配有效性以及任务执行对负载率的影响较低。IGA算法中考虑了任务在执行时期的优先级,但在处理任务分配时会由于任务优先级的设置不能动态地进行资源的调度。在BIGA算法中,通过设置缓冲区域,在一定程度上缓解了任务排队等待给系统带来的负载压力,但在任务进行调度时,由于算法本身的机制仍然会限制执行中的任务获得资源的动态性,没有将需要的资源根据任务的执行情况进行动态调整,导致任务调度不合理,使得各节点负载不均衡。
(www.xing528.com)
图4-4 三种算法的任务数量与节点负载率对比
图4-5~图4-7给出了三种算法运行时CPU、内存以及磁盘利用率的对比情况。
图4-5 算法执行时的CPU利用率变化
图4-6 算法执行时的内存利用率变化
图4-7 算法执行时的磁盘利用率变化
根据图4-5、图4-6、图4-7给出的对应的云数据中心基础层应用MGAA算法、BIGA算法、LGA算法执行时,系统的主要资源利用率可看出,由于BIGA算法、LGA算法的寻优过程较复杂,都是在特定情况下对于系统中执行任务的属性及系统性能的寻优,在一定范围内,也有局部最优解出现,但整体上,对于任务的调度不能完全达到最优方案,仍存在任务在云数据中心基础层不能合理分配的情况。任务是否优化调度与云数据中心基础层的资源能否合理分配、资源的利用率的变化具有直接的关系,未进行完全优化的任务调度算法直接影响了云数据中心基础层的资源分配及调度,进而通过云数据中心的CPU、内存及磁盘利用率的变化反映出来。而MGAA算法经过遗传算法与蚁群算法的融合,利用遗传算法自身的寻优特点,完成了为进一步寻优的前提准备,以遗传算法的最优结果作为之后蚁群算法的寻优数据源的初始值,尽最大可能达到最优的任务调度,从而使得云数据中心基础层的资源利用率提高,并保持在相对平稳水平。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。