APP下载

一种改进的蝙蝠算法QoS—BA

2018-03-23谢剑王春霞

电子技术与软件工程 2018年4期
关键词:任务调度云计算

谢剑 王春霞

摘 要针对云计算环境下的任务调度问题,本文提出一种基于蝙蝠算法的QoS约束的调度算法QoS-BA,首先介绍了QoS-BA算法的模型,定义了基于用户和运营商的目标函数,接着提出了任务调度的核心步骤,最后通过仿真验证QoS-BA算法的有效性。

【关键词】云计算 蝙蝠算法 QoS 任务调度

1 引言

随着计算机技术的发展,云计算已经成为研究的热点问题。任务调度是云计算的核心技术之一,如何设计一种有效的任务调度方案是至关重要的。

针对上述问题,本文提出了基于蝙蝠算法的QoS约束的云计算任务调度算法,算法充分考虑了用户成本和运营商成本的QoS约束,在两者平衡中选取综合评价最好的调度组合方式最为调度方案,初始化当前蝙蝠算法的初始蝙蝠种群覆盖面选择的问题,有利于当前蝙蝠算法针对当前解空间的全局搜索和控制算法本身的过早收敛等能力的提高,有效提高蝙蝠算法的计算速度。

2 基于QoS约束的云计算任务调度算法QoS-BA

2.1 多QoS约束双边评价体系

本文主要依据用户及云资源提供商在云环境下最短时间内用户花费最小代价成本获得计算结果,云资源提供商花费最小成本完成用户提交的任务作为QoS的约束条件,因此QoS的目标约束函数为Minsize(Total_costuser)和Minsize(Total_costsupplier)。

云计算管理机制把用户提交的任务分解为子任务并调度到云资源主机中执行,子任务实际完成时间根据CloudSim模拟计算得出并赋值给ET执行时间数值矩阵,之后通过对各种QoS指标按照权重进行计算,可以分别得到基于用户和提供商的执行成本。其中,定义用户的成本如下:

定义提供商的成本如下:

Total_costsupplier

公式中成本的计算方式为:根据选定的调度方式M集合分别计算用户和提供商的关心成本要素,计算方式为在不同的成本矩阵中根据M集合调度方式加权求和。本文为方便起见默认为平均加权求和。

其中:ETij为子任务集合T在对应云资源主机C集合中执行时间的矩阵。

RCTij为子任务在云计算环境中云资源主机执行消耗的评价指数集合。

SETij表示子任务对云资源主机的安全性评价数值矩阵。

PTi为当前云计算环境下总的任务序列中一个编号优先执行顺位排序的一个集合。

STi表示子任务对云资源主机的适配性评价数值矩阵。

NSCIij为子任务完成后针对完成的结果需要传回用户或者汇总是需要网络资源成本评价指数集合。

ATij表示子任务在云资源主机中执行成功的概率数值矩阵。

2.2 基于蝙蝠算法的云计算调度

本文通过观察云调度过程的特点以及调度方案数据结构的特点,采用数据边界初始化蝙蝠种群的方式,使得在多维约束条件下单一边界内都有新的蝙蝠在蝙蝠种群中,蝙蝠种群演变时能全面覆盖解空间或者至少携带有一个或多个维度的最优特性在当前蝙蝠种群的最优结果中。

核心步骤如下:

步骤1:子任务在调度计算过程生成针对每一个云资源的QoS评价值,多个子任务针对多个云计算资源的评价值矩阵。

步骤2:找到子任务在云资源里面评价值最好的云资源,然后以此为基点构造蝙蝠种群的一只蝙蝠。

步骤3:重复步骤2,直到所有的子任务或者云资源都有单一维度选择最优情况的蝙蝠产生,其他子任务和云资源随机适配,然后以目前得到的蝙蝠种群作为算法启动的初始化种群。

3 仿真实验

3.1 实验数据初始化设置

为了能够针对本文采用的算法进行评估,将采用Cloudsim平台对QoS-BA与PoS算法和BA算法进行对比实验。

假定云环境拥有的主机种类有10种云计算主机资源,其主要性能如表1-3。

3.2 实验结果分析及其展望

在蝙蝠算法中模拟成在所有的调度解空间中由蝙蝠种群进行搜索的过程,蝙蝠种群中的每一只蝙蝠为一种调度方案,蝙蝠种群在数次迭代中不断根据解空间的位置进行自身的变异,最后通过计算最优值找到解空间的最优调度方案。在针对云计算任务调度相关参数的数据结构的调整后,分别对云计算主机和云计算任务进行分别随机抽取10个样本构成云计算主机集合和云计算任务集合,在相同条件下进行基础蝙蝠算法、QoS蝙蝠算法和PoS算法对比,并且在蝙蝠算法的不同代数进行测试,并观察比较三种不同算法的云计算调度方案的优劣。

由于蝙蝠种群中每一只蝙蝠都是一种调度方案,为了便于比较,在做对比图形的时候只记录蝙蝠种群最优和最差的调度方案。对比结果如图1。

经过100次的迭代运算后,运行结果趋向平稳,预测的成本最优值都比较接近,调度方案基本相同,达到了解空间中最优调度方案或者比较接近。

从图1中可以看出QoS-BA算法能在较短的时间和迭代次数下快速得到解空间中最优解,并在后续迭代中保持平稳。QoS-BA算法能适应在较大解空间中快速求解,满足云任务调度的时间要求,对比BA算法,QoS-BA算法能更好的从客户或者云资源提供商角度来控制成本,在采用了QoS-BA算法后成本会比BA算法低一些。

图2中,用户成本曲线是只考虑用户使用成本,云调度成本随着迭代次数增加的变化曲线。提供商成本曲线是在同样环境下计算云资源提供者随着迭代次数变化的成本变化曲线。综合成本曲线是计算提供商和使用者综合成本的计算结果。从图中可以看出,当只考虑云资源使用者单边效益时,对应的云资源提供者成本会产生变动,更有可能成本变大,只有考虑双方共同利益的情况下整体效益才会最高,达到双贏。随着迭代次数的不断增加,在保证用户利益的前提下,可以在一定范围内降低云资源提供者的成本。

因此,QoS-BA算法在性能上介于PoS和BA之间,在降低云资源成本上有着显著的效果,具有一定的有效性,并且由于QoS-BA收敛较快,在云任务调度的时间上具有一定优势。

4 结论

针对解决云环境下用户和提供商的成本约束的任务调度优化问题,建立了基于蝙蝠算法的调度算法QoS-BA,通过云仿真平台CloudSim将QoS-BA算法与PoS算法、BA算法进行比较,仿真结果表明QoS-BA算法能够使用户和提供商的成本能得到基本的优化,在一定约束条件范围内成本明显降低,从而降低云资源运行的成本和资源消耗。但是,本文仅仅考虑了执行的迭代的和总体成本的两个优化目标,下一步将考虑调度的时间限制和任务撤销等多因素影响下云计算任务调度问题和成本问题。

参考文献

[1]李枝勇,马良,张惠珍.蝙蝠算法在多目标多选择背包问题中的应用[J].计算机仿真,2013,30(10):350-353.

[2]金伟健,王春枝.基于蝙蝠算法的云计算资源分配研究[J].计算机应用研究,2015,32(04):1184-1187.

[3]许波,赵超,祝衍军等.云计算中虚拟机资源调度多目标优化[J].系统仿真学报,2014,26(03):592-595.

[4]周莲英.遗传算法与蚁群算法相融合的云计算任务调度算法研究[J].苏州大学,2013.

[5]张宇楠,刘付永.一种改进的变步长自适应蝙蝠算法及其应用[J].广西民族大学学报(自然科学版),2013,19(02):51-54.

作者简介

谢剑(1986-),男,壮族,广西壮族自治区柳州市人。硕士学位。科员,助理工程师。研究方向为网络技术与安全。

作者单位

广西科技大学网络与现代教育技术中心 广西壮族自治区柳州市 545006

猜你喜欢

任务调度云计算
基于PEPA的云计算任务调度性能分析
基于改进NSGA-Ⅱ算法的协同制造任务调度研究
基于时间负载均衡蚁群算法的云任务调度优化
实验云:理论教学与实验教学深度融合的助推器
基于小生境遗传算法的相控阵雷达任务调度
云计算环境中任务调度策略
云计算中基于进化算法的任务调度策略