一种基于改进梯度优化器的多工作流调度方法技术

技术编号:37795145 阅读:22 留言:0更新日期:2023-06-09 09:25
本发明专利技术公开了一种基于改进梯度优化器的多工作流调度方法,针对已有的多种群多目标框架(MPMO)因均分粒子而导致的计算资源浪费问题,提出了基于粒子位置聚类的多目标多种群进化框架以解决云环境下的多工作流调度问题,通过基于K

【技术实现步骤摘要】
一种基于改进梯度优化器的多工作流调度方法


[0001]本专利技术属于云计算环境下的多工作流调度
,具体涉及一种基于改进梯度优化器的多工作流调度方法。

技术介绍

[0002]云计算是科学和商业领域的一种大规模异构分布式计算基础设施,能够按需为用户提供高质量、低成本的服务,且其弹性扩展和按使用付费的特点,使其在各行各业的应用不断扩展和深入。工作流是从不同的研究领域构建大规模计算和数据密集型分布式应用的常见技术,随着云计算的不断发展和诸多优势,越来越多的企业和组织将其工作流应用迁移或者部署到云数据中心执行。
[0003]云环境下的多工作流调度旨在将一组工作流任务映射到合适的云服务资源集合上,寻找最优的工作流调度方法,以尽可能减少多个工作流应用的执行时间和成本,并同时满足多个用户的服务质量(Quality of Service,即QoS)需求。一个合适的多工作流调度算法,应该能在保证多个用户QoS需求的同时,提高云服务提供商的利益。因此,云环境下的多工作流调度是一个带约束的多目标优化问题。
[0004]目前,工作流调度问题主要采用启发式算法和元启发式算法来求解。启发式算法是一种针对某一类特定问题提出的基于规则或专家经验构造的优化算法,如异构最早完成时间算法(HEFT)、预算约束下的异构最早完成时间算法(BHEFT)、最大最小算法(MAX

MIN)等。该类算法易于实现、求解速度快,但无法保证所获得解的质量,且不适用于解决复杂或者大规模调度问题。元启发式算法则基于随机搜索技术,如遗传算法(GA)、粒子群优化算法(PSO)、蚁群算法(ACO)等,具有较好的适用性,通常不依赖于特定问题,且能够在有限时间内找到近似最优解,可以解决单目标优化问题。但是,云环境下的应用调度通常需要同时考虑云服务提供者和消费者的利益,即往往需要同时优化多个目标。已有的多目标优化算法,如多目标异构最早完成时间算法(MOHEFT)、非支配排序的遗传算法(NSGA II)、基于多种群协同进化的粒子群优化算法(CMPSO)和基于多种群的蚁群优化算法(MOACS),分别对HEFT、GA、PSO和ACO算法做了改进,使其适合于多目标工作流调度问题。然而,该类算法找到的非支配解较少,且其分布距离真实Pareto前沿较远。因此,现有的基于元启发式的多目标工作流调度算法的性能有待进一步提升。

技术实现思路

[0005]有鉴于此,本专利技术提供了一种基于改进梯度优化器的多工作流调度方法,实现了云环境下多工作流任务的调度。
[0006]本专利技术提供的一种基于改进梯度优化器的多工作流调度方法,包括以下步骤:
[0007]步骤1、对输入的带截止时间约束的多工作流任务及可供租赁的虚拟机资源建模;多工作流任务表示为多工作流任务表示为为第i个工作流,为工作流集合所包含的工
作流总个数;虚拟机资源表示为v
f
为第f个虚拟机;
[0008]步骤2、为工作流的所有子任务分配子截止期限,按照优先调度截止限期最早的任务的方式确定任调度序列;根据约束满足性评价指标Θ评价不可行解的优劣,Θ表示工作流超出约束的百分比之和;种群中的每个个体位置X=(x1,x2...,,...,x
N
)表示一个调度方案,个体每一维元素的索引表示一个工作流任务编号、每一维元素的值表示为该任务所分配的虚拟机;将九个预定义的初始粒子插入种群,采用随机生成方法对种群中的其余个体进行初始化;将九个预定义初始粒子中满足约束的个体插入全局外部档案集,完成全局外部档案集的初始化;
[0009]步骤3、若当前迭代次数n满足其中为迭代次数阈值,则利用K

means位置聚类算法将其划分为K个聚类子种群P1,...,P
m
,...,P
K
;否则,执行步骤5;
[0010]步骤4、根据种群P1,...,P
m
,...,P
K
中所有粒子的总适应度makespan和cost,为其确定最合适的进化方向ψ1,...,ψ
m
,...,ψ
K

[0011]步骤5、将进化过程中得到的种群全局非支配解存储在全局外部档案集中,再通过全局外部档案集中的精英个体引导各个聚类种群进行更新;
[0012]步骤6、经过设定次数的迭代后,根据种群进化速度自适应地更新变异维度数目η与变异率ρ,并在每次迭代中,按照当前的变异维度数目η与变异率ρ,对全局外部档案集中的个体执行一次变异操作,并利用变异结果更新全局外部档案集;
[0013]步骤7、利用筛选出的优秀父代集合进行交叉操作,依次将每个子工作流对应的较优任务到资源的映射序列复制到子代,通过基于精英继承的交叉操作生成子代个体,并用生成的新子代个体更新全局外部档案集;
[0014]步骤8、令迭代次数n自加1,如果n不小于最大迭代次数,则将当前全局外部档案集作为结果输出,结束本流程;否则,转至步骤3。
[0015]进一步地,所述虚拟机按照计算能力大小顺序进行编号。
[0016]进一步地,所述步骤2中为工作流的所有任务分配子截止期限,按照优先调度截止限期最早的任务的方式确定任调度序列的方式为:
[0017]任务的子截止期限为:
[0018][0019]其中,为入口任务的向上rank值,为工作流的截止期限约束;
[0020]任务向上rank值为:
[0021][0022]其中,pm为资源池中虚拟机的最快处理速度,为任务的指令长度,为从任务到其子任务的传输数据的大小,b为不同虚拟机之间的网络带宽。
[0023]进一步地,所述约束满足性评价指标Θ的计算方式为:
[0024][0025]其中,M
i
和D
i
分别为第
i
个工作流的总执行跨度时间和截止时间约束。
[0026]进一步地,所述步骤2中根据约束满足性评价指标Θ评价不可行解的优劣包括:对于两个不可行解X1和X2,当且仅当满足条件:时,则X1优于X2,其中,C(X1)、C(X2)分别表示调度方案X1和X2对应的工作流执行成本,Θ(X1)、Θ(X2)分别表示调度方案X1和X2的约束超出程度。
[0027]进一步地,所述九个预定义的初始粒子的定义方式为:通过将所有任务随机分配到同一类型的虚拟机上产生一个调度方案的方式,由6种类型的虚拟机即可得到6个预定义调度方案i1至i6;再采用HEFT算法产生一个预定义调度方案i7,先随机选择i7中调度到不同类型虚拟机上的两个任务,交换其所分配的虚拟机,产生一个新的预定义调度方案i8,再将i7中所有分配到处理能力最大的虚拟机上的任务分配到单位成本内处理能力最大的虚拟机上产生一个新的预定义调度方案i9,则i1至i9的预定义调度方案即为九个预定义的初始粒子。
[0028]进一步地,所述步骤3中利用K

means位置聚类算法将其划分为K个聚类子种群P本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进梯度优化器的多工作流调度方法,其特征在于,包括以下步骤:步骤1、对输入的带截止时间约束的多工作流任务及可供租赁的虚拟机资源建模;多工作流任务表示为作流任务表示为为第i个工作流,为工作流集合所包含的工作流总个数;虚拟机资源表示为v
f
为第f个虚拟机;步骤2、为工作流的所有子任务分配子截止期限,按照优先调度截止限期最早的任务的方式确定任调度序列;根据约束满足性评价指标Θ评价不可行解的优劣,Θ表示工作流超出约束的百分比之和;种群中的每个个体位置X=(x1,x2...,,...,x
N
)表示一个调度方案,个体每一维元素的索引表示一个工作流任务编号、每一维元素的值表示为该任务所分配的虚拟机;将九个预定义的初始粒子插入种群,采用随机生成方法对种群中的其余个体进行初始化;将九个预定义初始粒子中满足约束的个体插入全局外部档案集,完成全局外部档案集的初始化;步骤3、若当前迭代次数n满足其中为迭代次数阈值,则利用K

means位置聚类算法将其划分为K个聚类子种群P1,...,P
m
,...,P
K
;否则,执行步骤5;步骤4、根据种群P1,...,P
m
,...,P
K
中所有粒子的总适应度makespan和cost,为其确定最合适的进化方向ψ1,...,ψ
m
,...,ψ
K
;步骤5、将进化过程中得到的种群全局非支配解存储在全局外部档案集中,再通过全局外部档案集中的精英个体引导各个聚类种群进行更新;步骤6、经过设定次数的迭代后,根据种群进化速度自适应地更新变异维度数目η与变异率ρ,并在每次迭代中,按照当前的变异维度数目η与变异率ρ,对全局外部档案集中的个体执行一次变异操作,并利用变异结果更新全局外部档案集;步骤7、利用筛选出的优秀父代集合进行交叉操作,依次将每个子工作流对应的较优任务到资源的映射序列复制到子代,通过基于精英继承的交叉操作生成子代个体,并用生成的新子代个体更新全局外部档案集;步骤8、令迭代次数n自加1,如果n不小于最大迭代次数,则将当前全局外部档案集作为结果输出,结束本流程;否则,转至步骤3。2.根据权利要求1所述的多工作流调度方法,其特征在于,所述虚拟机按照计算能力大小顺序进行编号。3.根据权利要求1所述的多工作流调度方法,其特征在于,所述步骤2中为工作流的所有任务分配子截止期限,按照优先调度截止限期最早的任务的方式确定任调度序列的方式为:任务t
j
i的子截止期限为:其中,为入口任务的向上rank值,为工作流的截止期限约束;任务向上rank值为:
其中,pm为资源池中虚拟机的最快处理速度,为任务的指令长度,为从任务到其子任务的传输数据的大小,b为不同虚拟机之间的网络带宽。4.根据权利要求1所述的多工作流调度方法,其特征在于,所述约束满足性评价指标Θ的计算方式为:其中,M
i
和D
i
分别为第i个工作流的总执行跨度时间和截止时间约束。5.根据权利要求1所述的多工作流调度方法,其特征在于,所述步骤2中根据约束满足性评价指标Θ评价不可行解的优劣包括:对于两个不可行解X1和X2,当且仅当满足条件:,当且仅当满足条件:时,则X1优于X2,其中,C(X1)、C(X2)分别表示调度方案X1和X2对应的工作流执行成本,Θ(X1)、Θ(X2)分别表示调度方案X1和X2的约束超出程度。6.根据权利要求1所述的多工作流调度方法,其特征在于,所述九个预定义的初始粒子的定义方式为:通过将所有任务随机分配到同一类型的虚拟机上产生一个调度方案的方式,由6种类型的虚拟机即可得到6个预定义调度方案i1至i6;再采用HEFT算法产生一个预定义调度方案i7,先随机选择i7中调度到不同类型虚拟机上的两个任务,交换其所分配的虚拟机,产生一个新的预定义调度方案i8,再将i7中所有分配到处理能力最大的虚拟机上的任务分配到单位成本内处理能力最大的虚拟机上产生一个新的预定义调度方案i9,则i1至i9的预定义调度方案即为九个预定义的初始粒子。7.根据权利要求1所述的多工作流调度方法,其特征在于,所述步骤3中利用K

means位置聚类算法将其划分为K个聚类子种群P1,...,P
m
,...,P
K
时采用以下方式计算种群中个体间的距离:种群中第q个个体与第w个个体之间的欧氏距离d
q,w
为其中,x
w,l
为第q个个体的第l个维度的值,x
w,l
为第w个个体的第l个维度的值,为工作流的任务总数。8.根据权利要求1所述的多工作流调度方法,其特征在于,所述步骤4中根据种群P1,...,P
m
,...,P<...

【专利技术属性】
技术研发人员:李慧芳陈博远黄经纬夏元清柴森春姚分喜崔灵果张百海
申请(专利权)人:北京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1