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

文档序号:34391060发布日期:2023-06-08 09:57阅读:54来源:国知局
一种基于改进梯度优化器的多工作流调度方法

本发明属于云计算环境下的多工作流调度,具体涉及一种基于改进梯度优化器的多工作流调度方法。


背景技术:

1、云计算是科学和商业领域的一种大规模异构分布式计算基础设施,能够按需为用户提供高质量、低成本的服务,且其弹性扩展和按使用付费的特点,使其在各行各业的应用不断扩展和深入。工作流是从不同的研究领域构建大规模计算和数据密集型分布式应用的常见技术,随着云计算的不断发展和诸多优势,越来越多的企业和组织将其工作流应用迁移或者部署到云数据中心执行。

2、云环境下的多工作流调度旨在将一组工作流任务映射到合适的云服务资源集合上,寻找最优的工作流调度方法,以尽可能减少多个工作流应用的执行时间和成本,并同时满足多个用户的服务质量(quality of service,即qos)需求。一个合适的多工作流调度算法,应该能在保证多个用户qos需求的同时,提高云服务提供商的利益。因此,云环境下的多工作流调度是一个带约束的多目标优化问题。

3、目前,工作流调度问题主要采用启发式算法和元启发式算法来求解。启发式算法是一种针对某一类特定问题提出的基于规则或专家经验构造的优化算法,如异构最早完成时间算法(heft)、预算约束下的异构最早完成时间算法(bheft)、最大最小算法(max-min)等。该类算法易于实现、求解速度快,但无法保证所获得解的质量,且不适用于解决复杂或者大规模调度问题。元启发式算法则基于随机搜索技术,如遗传算法(ga)、粒子群优化算法(pso)、蚁群算法(aco)等,具有较好的适用性,通常不依赖于特定问题,且能够在有限时间内找到近似最优解,可以解决单目标优化问题。但是,云环境下的应用调度通常需要同时考虑云服务提供者和消费者的利益,即往往需要同时优化多个目标。已有的多目标优化算法,如多目标异构最早完成时间算法(moheft)、非支配排序的遗传算法(nsga ii)、基于多种群协同进化的粒子群优化算法(cmpso)和基于多种群的蚁群优化算法(moacs),分别对heft、ga、pso和aco算法做了改进,使其适合于多目标工作流调度问题。然而,该类算法找到的非支配解较少,且其分布距离真实pareto前沿较远。因此,现有的基于元启发式的多目标工作流调度算法的性能有待进一步提升。


技术实现思路

1、有鉴于此,本发明提供了一种基于改进梯度优化器的多工作流调度方法,实现了云环境下多工作流任务的调度。

2、本发明提供的一种基于改进梯度优化器的多工作流调度方法,包括以下步骤:

3、步骤1、对输入的带截止时间约束的多工作流任务及可供租赁的虚拟机资源建模;多工作流任务表示为为第i个工作流,为工作流集合所包含的工作流总个数;虚拟机资源表示为vf为第f个虚拟机;

4、步骤2、为工作流的所有子任务分配子截止期限,按照优先调度截止限期最早的任务的方式确定任调度序列;根据约束满足性评价指标θ评价不可行解的优劣,θ表示工作流超出约束的百分比之和;种群中的每个个体位置x=(x1,x2...,,...,xn)表示一个调度方案,个体每一维元素的索引表示一个工作流任务编号、每一维元素的值表示为该任务所分配的虚拟机;将九个预定义的初始粒子插入种群,采用随机生成方法对种群中的其余个体进行初始化;将九个预定义初始粒子中满足约束的个体插入全局外部档案集,完成全局外部档案集的初始化;

5、步骤3、若当前迭代次数n满足其中为迭代次数阈值,则利用k-means位置聚类算法将其划分为k个聚类子种群p1,...,pm,...,pk;否则,执行步骤5;

6、步骤4、根据种群p1,...,pm,...,pk中所有粒子的总适应度makespan和cost,为其确定最合适的进化方向ψ1,...,ψm,...,ψk;

7、步骤5、将进化过程中得到的种群全局非支配解存储在全局外部档案集中,再通过全局外部档案集中的精英个体引导各个聚类种群进行更新;

8、步骤6、经过设定次数的迭代后,根据种群进化速度自适应地更新变异维度数目η与变异率ρ,并在每次迭代中,按照当前的变异维度数目η与变异率ρ,对全局外部档案集中的个体执行一次变异操作,并利用变异结果更新全局外部档案集;

9、步骤7、利用筛选出的优秀父代集合进行交叉操作,依次将每个子工作流对应的较优任务到资源的映射序列复制到子代,通过基于精英继承的交叉操作生成子代个体,并用生成的新子代个体更新全局外部档案集;

10、步骤8、令迭代次数n自加1,如果n不小于最大迭代次数,则将当前全局外部档案集作为结果输出,结束本流程;否则,转至步骤3。

11、进一步地,所述虚拟机按照计算能力大小顺序进行编号。

12、进一步地,所述步骤2中为工作流的所有任务分配子截止期限,按照优先调度截止限期最早的任务的方式确定任调度序列的方式为:

13、任务的子截止期限为:

14、

15、其中,为入口任务的向上rank值,为工作流的截止期限约束;

16、任务向上rank值为:

17、

18、其中,pm为资源池中虚拟机的最快处理速度,为任务的指令长度,为从任务到其子任务的传输数据的大小,b为不同虚拟机之间的网络带宽。

19、进一步地,所述约束满足性评价指标θ的计算方式为:

20、

21、其中,mi和di分别为第i个工作流的总执行跨度时间和截止时间约束。

22、进一步地,所述步骤2中根据约束满足性评价指标θ评价不可行解的优劣包括:对于两个不可行解x1和x2,当且仅当满足条件:时,则x1优于x2,其中,c(x1)、c(x2)分别表示调度方案x1和x2对应的工作流执行成本,θ(x1)、θ(x2)分别表示调度方案x1和x2的约束超出程度。

23、进一步地,所述九个预定义的初始粒子的定义方式为:通过将所有任务随机分配到同一类型的虚拟机上产生一个调度方案的方式,由6种类型的虚拟机即可得到6个预定义调度方案i1至i6;再采用heft算法产生一个预定义调度方案i7,先随机选择i7中调度到不同类型虚拟机上的两个任务,交换其所分配的虚拟机,产生一个新的预定义调度方案i8,再将i7中所有分配到处理能力最大的虚拟机上的任务分配到单位成本内处理能力最大的虚拟机上产生一个新的预定义调度方案i9,则i1至i9的预定义调度方案即为九个预定义的初始粒子。

24、进一步地,所述步骤3中利用k-means位置聚类算法将其划分为k个聚类子种群p1,...,pm,...,pk时采用以下方式计算种群中个体间的距离:

25、种群中第q个个体与第w个个体之间的欧氏距离dq,w为其中,为第q个个体的第个维度的值,为第w个个体的第个维度的值,为工作流的任务总数。

26、进一步地,所述步骤4中根据种群p1,...,pm,...,pk中所有粒子的总适应度makespan和cost,为其确定最合适的进化方向ψ1,...,ψm,...,ψk的方式为:

27、计算出聚类种群中每个粒子关于makespan在整个种群中的排名,得到该聚类中所有粒子的排名的平均值;根据k个聚类种群的k个平均值,对聚类种群p1,...,pm,...,pk进行排序,依次得到每个聚类种群pm在p1,...,pm,...,pk中的排名如果pm的排名小于预设的makespan排名阈值hm,则在pm的进化方向集合ψm中加入makespan;

28、计算出聚类种群中每个粒子关于cost在整个种群中的排名,得到该聚类中所有粒子的排名的平均值;根据k个聚类种群的k个平均值,对聚类种群p1,...,pm,...,pk进行排序,依次得到每个聚类种群pm在p1,...,pm,...,pk中的排名如果小于预设的cost排名阈值hc,则在pm的进化方向集合ψm中加入cost;

29、由此得到各个聚类种群p1,...,pm,...,pk相应的进化方向ψ1,...,ψm,...,ψk。

30、进一步地,所述步骤5中将进化过程中得到的种群全局非支配解存储在全局外部档案集中,再通过全局外部档案集中的精英个体引导各个聚类种群进行更新包括:

31、步骤5.1、为k个聚类种群p1,...,pm,...,pk分别定义非改进标志ε1,...,εm,...,εk,在整个迭代过程中,每隔代重新进行一次位置聚类,并将ε1,...,εm,...,εk复位为零;在每个聚类间隔内,若聚类种群pm的优化方向ψm中对应的适应度值减小,则令pm的非改进标志εm为零;否则,令εm为1;

32、若ψm不为空集且εm=0,则当ψm={makespan}或ψm={cost}时选择pm中makespan最优的粒子作为最优解选择pm中makespan最差的粒子作为最差解当ψm={makespan,cost}时从pm中makespan最优的粒子和cost最优的粒子中随机选出一个粒子作为pm的最优解若为pm中makespan最优的粒子则最差解为pm中makespan最差的粒子,若为pm中cost最优的粒子则最差解为pm中cost最差的粒子;

33、若ψm为空集或εm=0,则从和的并集中随机选出一个粒子,作为聚类pm的最优解若来自则从全局外部档案集中选出makespan最差的个体作为最差解若来自则从全局外部档案集中选出cost最差的个体作为最差解其中,与分别表示全局外部档案集中makespan与cost的优秀个体集合;

34、将一个最优解、一个最差解及四个从种群随机选取的解作为引导解;

35、步骤5.2、采用引导解根据gbo算法的更新公式更新种群p、计算新粒子的适应度,并进行快速非支配排序,再使用p中的非支配解更新全局外部档案集。

36、进一步地,所述步骤6中根据种群进化速度自适应地更新变异维度数目η与变异率ρ的方式为:

37、若当前迭代次数n满足为预先设定的迭代次数,则计算hv值的变化量δhv,当时将非改进迭代次数增加为最小变化量,并令η=1;当即时则将清零,并令η为其中,为向下取整函数,为工作流的任务总数;且基于当前的非改进迭代次数计算此时的变异概率ρ为

38、若当前迭代次数n不满足则不更新变异维度数目η与变异率ρ。

39、有益效果:

40、1、本发明针对已有的多种群多目标框架(mpmo)因均分粒子而导致的计算资源浪费问题,提出了基于粒子位置聚类的多目标多种群进化框架(pcmo),解决云环境下的多工作流调度问题,通过基于k-means的位置聚类,将整个种群划分为多个聚类种群,每个聚类种群根据自身的适应度水平选择优化目标,既提高了搜索的多样性,也能避免交叉进化,探索更有潜力的区域,找到更多的非支配解。

41、2、本发明提出了基于动态聚类的多种群协同进化机制,以平衡全局和本地开发,首先将进化过程划分为多个聚类阶段,在每一个聚类阶段,先根据适应度变化将整个种群按位置聚类为多个子种群,再基于适应度排序将多个聚类子种群划分为优势和劣势两类;其次利用全局外部档案集(gea)的精英个体引导劣势种群更新,加快了劣势粒子的进化速度,并结合优势种群的进化情况,有选择性地采用聚类种群的局部最优解或者gea的全局精英解进行更新,不仅增强了全局搜索能力,还提高了计算资源利用率。

42、3、本发明提出了基于自适应变异的精英增强策略,提高了对精英个体的开发能力,首先根据帕累托(pareto)前沿的超体积变化率判断种群的进化速度,再依次计算变异率、变异维度数目;然后按照变异率从gea中挑选要变异的个体,并采用基于随机分布的多维度变异和基于高斯函数的单点变异两种方式,增强对精英个体搜索的多样性,在整个迭代过程中,通过自适应地调整变异规模和范围,大大增加了算法的局部搜索能力。

43、4、本发明利用单个工作流调度方案的优势提出了工作流感知的精英交叉与继承策略,首先采用当代种群的优秀个体以及gea的精英个体构建父代精英种群,从中选取两个父代个体,并在其对应的多工作流调度方案中,依次遍历每个工作流对应的任务-资源映射子序列,选择较好的子序列复制到子代,实现基于精英继承的交叉操作;其次通过集成所有的优秀子序列生成新的精英个体,以替换gea中被支配的个体,探索更有潜力的精英解。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1