任务调度是合理利用有限的计算资源处理用户的各类任务请求,而服务质量参数(QoS)则是在任务调度算法中不可避免的一项评价指标,在不违反服务级别协议(SLA)的前提下,有效完成各类用户提交的硬性指标,避免负载利用不充分等问题[1]。目前,许多云计算任务调度模型通过引入启发式优化算法解决任务调度[2-4]。如以布谷鸟搜索算法和粒子群算法为基础,通过将布谷鸟算法的随机搜索方式与粒子群算法的快速收敛优点相结合,使得算法能够较为高效地提高本身的搜索精度[2]。本文提出了以天牛群搜索算法为基础进行改进的任务调度策略,对云任务调度分配中的任务完成时间、费用以及负载均衡度等多目标进行优化。1标准天牛群算法1.1天牛须算法天牛须算法是在2017年由Jiang等经过研究、实验提出的一种智能仿生优化算法[5],其算法代码简洁、运算速度快,但是算法精度过低。该算法主要是通过天牛本身的两只左右须上的触角对周围气味浓度进行比较,从而判断前行方向。1.2粒子群算法粒子群算法是以研究飞鸟的捕猎行为为基础形成的算法。当飞鸟进行捕猎时,最简单直接的方法就是对距离食物最近的鸟类进行跟踪。该算法将单独的飞鸟抽象为一个独立的粒子,将捕食范围抽象为多维空间。用矢量X定义其在搜索空间的位置,用矢量V定义其在搜索时的速度。通过对粒子的位置信息进行比较,确定飞鸟群中个体最优位置以及目前飞鸟自身位置,以此作为粒子群体的寻优经验,找到搜寻范围内的最优适应度值。1.3天牛群算法天牛群算法是以天牛须搜索算法和粒子群算法为基础研究出的一种仿生智能算法。该算法源于研究天牛通过本身触角比较周围气味浓度觅食的行为而产生,并以粒子群算法为模型赋予天牛种群概念,通过天牛种群以一定的行为方式在有效范围内对目标进行搜索。2改进天牛群算法在云计算调度模型的应用中,天牛群算法虽然全局搜索能力大幅度提高,但搜索时天牛不够灵活,搜索前期易收敛过快,从而只能陷入局部最优解的困境,耽误搜索时间。因此,本文通过引入信息反馈策略及对天牛群的速度以及步长进行自适应调整对天牛群算法进行优化。2.1引入自适应权重以及步长步长是影响天牛群算法搜索能力的关键参数,在引入骑兵反馈策略确定大致目标区域后,需要将天牛的速度与步长进行相应改变。随着迭代次数的增加,在锁定大致目标区域后,天牛需要将自身的步长逐渐变小,以免步长过大导致天牛群跳出目标区域,陷入局部最优,而天牛速度则需要逐渐增加抵消天牛因步长变小带来的影响,提高天牛在目标大致区域的搜索速度,降低天牛对食物的搜索时间,有效避免因天牛过早收敛陷入局部最优解。因此,本文引入正弦自适应和动态自适应权重机制,以改进天牛群算法的位置与速度。2.2加入奇兵反馈策略在天牛进行搜索前,先随机选出小部分天牛,其数量定位在天牛群总数量的10%。在每次迭代搜索时进行随机搜索,即将这部分天牛随机传送到有效搜索区域内,得到随机天牛位置的反馈信息,在这部分天牛中选出适应度最佳的天牛位置与大部分正常搜索的天牛群中最佳天牛位置进行比较。如果随机天牛选出的位置适应度更好,则将正常搜索天牛向选定随机天牛位置靠拢,反之则不影响天牛的正常搜索,最终通过不断迭代,找到最佳适应度位置。随着算法的迭代,外出搜索的天牛作用会越来越小,所以迭代后期使得外出天牛慢慢回归群体,天牛群搜索数量变多,提高了算法后期搜索精度,并在对于群体最优个体与个体最优的学习因子中进行适应性改变。2.3改进天牛群算法的任务调度流程文章将改进天牛群算法作为云任务调度策略时,需要将云任务调度的可行解空间与天牛群个体的位置进行映射编码处理。运算步骤为:(1)初始化云计算数据中心物理主机列表和每个物理主机上虚拟机列表。(2)初始化参数,将天牛群中所有天牛随机传送至搜索区域内,并根据天牛所在位置利用目标函数计算出其适应度值。(3)对天牛的速度、位置进行迭代更新后,确定云任务调度中适应度值,选出最优个体以及群体最优位置。(4)判断种群最优位置,确定每次迭代的各类天牛的位置,若当次迭代的天牛位置为调度分配中历次迭代中最优值,则用其代替个体天牛中的历史最优值,否则对天牛群的历史全局最优位置进行更新。(5)若提前确定全局最优解或者算法的迭代次数达到设定最大值时,则算法终止,返回当前所有天牛群最优解即云任务调度中最小适应度值。(6)任务调度结束。3仿真实验对比实验环境:Inter Core(TM)i5-4076U CPU 4.0 GHz;系统平台为windows 8操作系统;软件为matlab2015。本文通过仿真平台对改进天牛群算法(BSOS)、天牛群算法(BOS)、粒子群算法(POS)和萤火虫算法(FA)在云计算任务调度中针对适应度、任务完成时间、费用以及负载均衡等目标方面进行仿真以及结果分析。3.1收敛速度、精度对比为了测试改进算法的收敛速度以及收敛精度,将云计算任务数量设置为700,种群数量以及迭代次数均设置为100,虚拟机数量设置为6。通过算法的迭代次数与任务的完成时间、费用、均衡度以及适应度函数的关系对其算法性能进行验证,试验结果如图1~图4所示。从图1~图4可以看出,对于时间、费用、负载均衡度3个优化目标,BSOS算法无论是前期搜索时收敛速度、后期搜索时的收敛精度都较强于其他算法。主要原因是改进算法引入奇兵反馈策略后,迭代前期对于目标搜索的范围变得更加广泛,可以帮助BSOS算法更快速地锁定有效的搜索空间,通过自适应步长与权重的相互配合,随着算法的后续搜索,搜索精度则会逐渐提高。对于多目标函数构建的适应度数而言,BSOS算法迭代前期与3种算法收敛速度基本持平,但随着散落奇兵天牛的陆续回归,增加的天牛群在目标区域的搜索数量,加快天牛群对于目标的搜索效率,使得BSOS算法的收敛速度显著提升。10.19301/j.cnki.zncs.2023.08.015.F001图1适应度收敛性对比10.19301/j.cnki.zncs.2023.08.015.F002图2时间收敛性对比10.19301/j.cnki.zncs.2023.08.015.F003图3均衡度收敛性对比10.19301/j.cnki.zncs.2023.08.015.F004图4费用收敛性对比3.2优化目标结果对比将虚拟机的数量设置为6,云计算任务数量分别设置为100、400、700、1 000。通过与BSO、POS、FA三种算法仿真结果进行比较、分析,得出试验结果如图5~图8所示。从图5~图8可以看出,随着任务数量的不断增加,BSOS算法在完成云计算任务的时间、费用、均衡度以及对多目标函数所构成的适应度值的搜索上,优化效果均优于其他3种算法。当任务为100个和400个时,4种算法无论是在单目标还是多目标的搜索上均差别不大,但当任务数量增加到700个和1 000个时,对于时间、费用、均衡度3个单目标而言,BSOS算法的优化效果与其他3种算法的差异逐渐变大。这是因为BSOS算法引入奇兵反馈策略后,能够迅速提高对有效搜索区域的搜索效率,避免算法前期无法跳出局部最优的困境问题,并因为天牛步长、权重因子以及个体、群体学习因子的自适应变化,增加了算法在目标区域的搜索效率,保证BSOS算法较其他算法在局部搜索和全局搜索方面均有很大程度地提高,在规模较大的云计算任务调度过程中优化效果更加明显。10.19301/j.cnki.zncs.2023.08.015.F005图5任务完成时间对比10.19301/j.cnki.zncs.2023.08.015.F006图6任务完成费用对比10.19301/j.cnki.zncs.2023.08.015.F007图7任务完成均衡度对比10.19301/j.cnki.zncs.2023.08.015.F008图8适应度函数对比4结语对天牛群算法改进,并以任务完成时间、费用以及均衡度构建为多目标函数,应用在云计算任务调度中。经过对改进算法的理论分析以及实验结果仿真对比可以看出,随着任务数量的增加,BSOS算法在收敛速度、完成任务时间、费用以及负载均衡方面表现均较为优越。
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读
复制地址链接在其他浏览器打开
继续浏览