【技术实现步骤摘要】
一种分布式多目标云任务的调度方法、装置及云服务系统
[0001]本申请涉及云计算
,特别是涉及一种分布式多目标云任务的调度方法、装置及云服务系统。
技术介绍
[0002]迄今为止,国内外研究学者已经开发出多种传统算法、博弈论算法和启发式算法来解决任务调度优化问题。经典的Min
‑
Min与Max
‑
Min算法通过优先安排计算量过小或过大的任务方式缩短总任务完成时间,但是这类算法没有考虑到云环境中的负载均衡,导致负载均衡较差。
[0003]目前,研究学者大多数采用启发式算法来解决云计算任务调度这一多项式复杂程度的非确定性问题(Non
‑
deterministic Polynomial,NP问题)。启发式算法包括蚁群算法、粒子群算法、微生物遗传算法和布谷鸟搜索算法以及相关的改进融合算法。这类方法具备操作简单、扩充性好的特点,能够有效地缩短任务完成时间,解决资源负载均衡问题。例如,孙长亚等提出基于MGA
‑
PSO的云计算多目标任务调度,使粒子群优化 ...
【技术保护点】
【技术特征摘要】
1.一种分布式多目标云任务的调度方法,其特征在于,包括:步骤A,获取待调度的分布式多目标云任务的任务参数,以及云服务系统的可用虚拟机的虚拟机参数,并构建适应度函数;步骤B,基于步骤A构建的适应度函数,使用微生物遗传算法缩小多目标云任务在云服务系统的最优调度方案的求解范围,得到相应的种群;步骤C,将步骤B得到的种群随机分为染色体数量相等的第一种群和第二种群;步骤D,在所述第一种群上使用粒子群优化算法,得到第一种群中的调度方案的当前最优解并记为第一最优解;步骤E,在所述第二种群上使用布谷鸟搜索算法,得到第二种群中的调度方案的当前最优解并记为第二最优解;步骤F,判断是否到达第一最优解和第二最优解进行共享的时刻;当算法整体迭代次数达到预设的次数时,则判定对第一最优解和第二最优解进行共享,并执行步骤G;当算法迭代次数未达到预设的次数时,则判定对第一最优解和第二最优解不进行共享,并跳过步骤G,直接执行步骤H;步骤G,共享第一最优解与第二最优解中的优秀个体,更新第一最优解与第二最优解,相应第一种群和第二种群也得到更新;步骤H,将第一最优解中适应度最小的个体与第二最优解中适应度最小的个体进行比较,保存比较结果中适应度更小的一个个体,并将比较结果中适应度更小的一个个体作为全局最优解;步骤I,重复步骤D至步骤H,直至算法整体迭代次数达到预设的最大算法整体迭代次数;步骤J,输出所述全局最优解,所述全局最优解即为多目标云任务在云服务系统的最优调度方案。2.根据权利要求1所述的调度方法,其特征在于,所述分布式多目标云任务的任务参数包括所述分布式多目标云任务的子任务数目以及每个子任务的任务大小;所述可用虚拟机的虚拟机参数包括可用虚拟机数目以及每个虚拟机的处理能力;所述可用虚拟机数目是由所述云服务系统的资源决策器根据云任务的任务信息和云服务系统的资源使用机器学习算法来分配的。3.根据权利要求2所述的调度方法,其特征在于,所述云任务的任务信息包括云任务的预算、开销、内存和截止日期;所述云服务系统的资源包括计算资源、网络资源和存储资源;所述机器学习算法包括循环神经网络算法和深度神经网络算法。4.根据权利要求2所述的调度方法,其特征在于,步骤A中所述构建适应度函数具体包括:设获取到的多目标云任务的子任务数目为n,A={α1,α2,...,α
n
},其中α
i
表示第i个子任务,0≤i≤n,每个子任务的任务大小为SIZE
i
;另设云服务系统的可用虚拟机数目为p,B={β1,β2,...,β
p
},其中β
j
代表第j个可用虚拟机,0≤j≤p,每个虚拟机的处理能力为MIPS
j
;n个子任务被调度到P个虚拟机上执行,n>p;(1)基于各子任务在各虚拟机上的执行时间计算执行全部子任务所花费的最大时间:任务i在虚拟机j上的执行时间T
ij
的计算公式如下:
T
ij
=SIZE
i
/MIPS
j
虚拟机j的释放时间RT
j
初始化为0,当有任务i在虚拟机j上执行时,RT
j
的计算公式如下:RT
j
=RT
j
+T
ij
任务i是虚拟机j上的第一个任务时,其开始执行时间ST
Ij
定义为0,否则定义为虚拟机j的释放时间RT
j
:ST
ij
=RT
j
任务i在虚拟机j上的完成时间FT
ij
为任务i在虚拟机j上的开始执行时间ST
ij
与执行时间T
ij
之和,FT
ij
的计算公式如下:FT
ij
=ST
ij
+T
ij
任务的最大完工时间Makespan为所有虚拟机释放时间的最大值,Makespan的计算公式如下:(2)根据各虚拟机的执行成本计算总执行成本:为云服务系统的内存、带宽、处理器和存储空间预先设置相应的单位价格,通过统计任务调度过程中各虚拟机对内存、带宽、处理器和存储空间的使用量,计算P个虚拟机对n个子任务的总执行成本Cost;(3)基于所有虚拟机的释放时间计算云环境的负载均衡:云服务系统的负载均衡定义为所有虚拟机释放时间的标准差,负载均衡的计算公式如下:其中是所有虚拟机释放时间的平均值;云服务系统中虚拟机使用得越均衡,虚拟机释放时间的标准差越小,云服务系统负载均衡的值越小;(4)基于所述执行全部子任务所花费的最大时间、所述总执行成本以及负载均衡构建适应度函数,所述适应度函数为任务完工时间、总执行成本及云环境负载均衡的加权和,用于衡量云计算任务调度的性能,适应度函数的公式表示如下:fitness=λ1×
Makespan+λ2×
LB+λ3×
Cost式中λ1+λ2+λ3=1,λ1、λ2和λ3的取值根据云任务需求调整;适应度越小,对应的多目标云任务的调度方案越优,最小适应度对应的调度方案为所述多目标云任务的最优调度方案。5.根据权利要求1所述的调度方法,其特征在于,所述步骤B具体包括:步骤B1,通过随机创建X个染色体对种群进行初始化,每个染色体为云任务在云服务系统的可用虚拟机上的一种调度方案,种群表示云任务的一系列调度方案;步骤B2,在种群上使用微生物遗传算法,在种群每次迭代过程中,随机抽取两个染色体作为父染色体并比较两个父染色体的适应度,对适应度小的一个父染色体不作任何处理,
对适应度大的父染色体进行交叉操作和变异操作,得到相应的子染色体;步骤B3,若所述子染色体的适应度<相应的父染色体的适应度,用所述子染色体取代所述适应度大的父染色体,更新种群;若所述子染色体的适应度≥相应的父染色体的适应度,保留原种群;步骤B4,重复步骤B2至B3,直至达到预设的第一迭代次数;步骤B5,输出最终得到的种群。6....
【专利技术属性】
技术研发人员:杨成伟,祝翠玲,马慧娴,王颖彬,
申请(专利权)人:山东财经大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。