一种云中科学工作流下费用预算约束的时间优化调度方法与流程

文档序号:18011960发布日期:2019-06-26 00:14阅读:611来源:国知局
一种云中科学工作流下费用预算约束的时间优化调度方法与流程

本发明属于云计算以及调度算法两大领域,尤其涉及一种云中科学工作流费用预算约束的时间优化调度方法。



背景技术:

科学工作流是处理特定顺序的任务集合,已成为规范化和结构化复杂科学过程的重要范式。随着科学计算系统的不断复杂化,其特征主要表现为数据密集型与计算密集型,需要更高性能的系统环境来执行大量的任务。云中科学工作流调度是根据一定的资源使用规则来分配与管理资源。它是一个n-p困难问题,也就是说没有确定的多项式来求最优解。对于工作流调度,在传统系统中得到了广泛的研究,如集群、网络中;但在传统的本地系统中应用不仅非常昂贵,而且不方便扩展资源。而云计算作为一种将计算机基础设施和软件作为服务按需使用提供给用户的模式,适合用来执行科学工作流,可实现即付即用而且使用非常灵活。

对于云中科学工作流调度而言,好的调度方法或者策略,不仅可以高效的完成任务-资源的映射,而且可以提高用户的服务质量(qualityofservice,qos)。现如今,众多用户都会在一定费用预算内进行任务的调度。因此,提出一种云中科学工作流在费用预算约束下优化时间的调度方法显得十分必要。



技术实现要素:

本发明的目的在于:针对费用预算约束的云中科学工作流调度所花费的时间问题,提出了一种云中科学工作流下费用预算约束的时间优化调度方法,旨在减少整个云中工作流任务调度时间。

为了达到上述目的,本发明所采用的技术方案包括如下部分:

1.一种云中科学工作流下费用预算约束的时间优化调度方法,具体实施步骤如下:

步骤1:用户提交工作流及相关的资源需求以及整个工作流调度费用预算,并对本文目标函数、约束条件进行定义;

步骤2:根据传统概率向上权值计算每个任务的权值并对任务降序排列得出任务序列sortedt;

步骤3:根据步骤2所得的任务概率向上权值为任务分配子截止期限;

步骤4:使用蚁群算法对排好序的任务在满足子调度费用下使时间最小化调度至虚拟机,使得最终调度时间最低。

2.根据权利要求1所述的用户所提交的工作流,其特征在于用有向无循环图g={t,e}描述工作流结构,图的节点t表示工作流中的任务集t={t1,t2,...,tn}共有n个任务,图的有向边e表示工作流中任务间的相互依赖关系集e={ei,j|ti∈t∩tj∈t}。

3.根据权利要求1中云中科学工作流下费用预算约束的时间优化调度方法,其特征在于,所述目标函数为调度所有任务所花费时间总和,也就是工作流中最后一个任务运行结束时间即为整个工作流的调度时间,约束条件为其完成费用需满足用户定义的费用预算。

其中在目标函数中,eftj表示任务tj的执行结束时间,ttj,end表示任务tj与任务tend之间传输数据的通信开销,etend,l表示任务tj在虚拟机vml上的执行时间;在约束条件中,lfl表示租赁虚拟机vml的结束时间,lsl表示租赁虚拟机vml的开始时间,cl表示租赁虚拟机单位时间内所需费用。

4.根据权利要求1中云中科学工作流时间优化调度方法,使用蚁群蚁群算法及进行调度,其特征在于,步骤4使用蚁群算法对排好序的任务进行调度的过程是一个迭代的过程,具体迭代步骤如下:

步骤4.1:初始化蚁群算法相关参数:相关参数包括初始蚁群信息素τ0、启发函数矩阵ηn×m、信息素启发因子α、启发式因子β、迭代次数itmax、蚁群数量antnmax等;

步骤4.2:迭代开始:判断是否已达到最大迭代次数itmax,若没有达到,则执行步骤4.3,否则迭代结束,转到步骤4.9;

步骤4.3:计算转移概率:蚂蚁antk从任务序列sortedt中依次取任务并计算任务ti分配至虚拟机vml的概率;

步骤4.4:选择虚拟机:为任务根据概率选择公式以及满足子预算费用调度虚拟机。

步骤4.5:判断蚂蚁antk是否完成搜索,若已完成搜索则转到步骤5.7,否则转到步骤4.3。

步骤4.6:局部更新信息素

步骤4.7:判断是否所有蚂蚁都已完成搜索,若已全部完成搜索则转到步骤4.9,否则转到步骤4.3。

步骤4.8:全局更新信息素并记录局部最优调度方案

步骤4.9:输出全局最优调度方案。

5.根据权利要求4中基于蚁群算法的云中科学工作流时间优化调度方法,所述的步骤4.3中,转移概率公式为:

其中,τi,l表示路径(i,l)上的信息素浓度;α为信息素启发因子,表示蚂蚁在路径上留下的信息素的重要性,越大说明信息素对后面其他蚂蚁选择路径的影响越大;β为期望启发因子,反映了启发函数的重要性,β越大说明蚂蚁在移动过程中启发信息受重视程度越高。

本发明提供的优化调度方法具有如下优点和有益效果:本发明考虑到科学工作流中任务间相互约束的特性,利用传统概率向上权值对任务的执行顺序进行排序,然后使用蚁群算法进行预算费用约束下以优化执行时间为目标的任务-资源间的调度,此方法可有效缩短任务租赁虚拟机的时间。

附图说明

图1为云工作流实例结构图;

图2为本发明提供的云中科学工作流下预算费用约束的时间优化调度方法流程图;

具体实施方式

为了使本领域技术人员更好地理解本申请中的技术问题、技术方案和技术效果,下面结合附图和具体实施方式对本发明一种云中科学工作流下预算费用约束的时间优化调度方法作进一步详细说明。

如图1为本发明的方法具体实施步骤:

步骤1:用户提交工作流g={t,e}及整个工作流调度预算费用b;具体实例如图2所示,实例中每个顶点表示一个任务,此实例中共有13个任务;有向线段代表了任务间相互约束的关系,如从任务t2指向任务t8的有向线段表示任务t2为任务t8的前驱;有图中有向边上的数字表示任务间传输的数据,如从任务t2到任务8的有向边上的数字3代表从任务t2传输到任务8的数据量为单位3。

本发明假设共有m种虚拟机vms={vm1,vm2,...,vmm}且都处于同一数据中心下,那么所有虚拟机带宽(也就是bw)相同。

步骤2:本发明根据heft中将任务i的概率向上权值ri定义为从本身至tend的关键路径长度,定义公式如公式4所示,其中tti,j为任务间传输数据,表示任务ti的平均执行时间,定义公式如公式5所示。根据概率向上权值ri的大小对工作流中所有任务进行优先级大小排列,得任务排序队列sortedt。

步骤3:工作流的起始任务为t1,由公式11可知工作流的关键路径为任务t1的概率向上权值r1,subbi表示任务ti的子预算费用,当任务分配至虚拟机进行运行其结束执行时间需满足对应的子预算费用,定义公式如公式6所示。其中,b为给出的总的预算费用。

步骤4.1:初始化蚁群算法相关参数:相关参数包括初始蚁群信息素τ0、启发函数矩阵ηn×m、信息素启发因子α、启发式因子β、迭代次数itmax、蚁群数量antnmax等;

步骤4.2:迭代开始:判断是否已达到最大迭代次数itmax,若没有达到,则执行步骤4.3,否则迭代结束,转到步骤4.10;

步骤4.3:计算转移概率:蚂蚁antk从任务序列sortedt中依次取任务并计算任务ti分配至虚拟机vml的概率;

转移概率公式为:

其中,τi,l表示路径(i,l)上的信息素浓度;α为信息素启发因子,表示蚂蚁在路径上留下的信息素的重要性,越大说明信息素对后面其他蚂蚁选择路径的影响越大;β为期望启发因子,反映了启发函数的重要性,β越大说明蚂蚁在移动过程中启发信息受重视程度越高。

定义启发函数矩阵ηn×m,矩阵的每一行代表一个任务,每一列代表一个虚拟机,其中的ηi,l值代表任务ti分配至虚拟机vml的启发函数值。

我们定义执行时间的倒数作为启发项,也就是任务ti在虚拟机vml上执行所消耗的费用,定义公式如公式9所示。

步骤4.4:选择虚拟机:为任务根据概率选择公式以及满足子截止期限调度虚拟机。

步骤4.5:判断蚂蚁antk是否完成搜索,若已完成搜索则转到步骤4.7,否则转到步骤4.3。

步骤4.6:局部更新信息素:若一只蚂蚁完成对任务的调度,则进行局部更新信息素,转到步骤4.3,否则转到步骤4.4。局部信息素更新公式为:

其中δτki,l为路径(i,l)上第k只蚂蚁遗留的信息素增量矩阵之和,q表示信息素强度常量,tbk为第k只蚂蚁调度任务的所用时间。

步骤4.7:判断是否所有蚂蚁都已完成搜索,若已全部完成搜索则转到步骤4.9,否则转到步骤4.3。

步骤4.8:全局更新信息素并记录局部最优调度方案;

全部信息素更新公式为:

τi,l(t+1)=(1-ρ)τi,l(t)+δτi,l(11)

其中ρ表示信息素挥发系数;(1-ρ)表示信息素的残留因子,为了防止信息素无限积累,取值范围限定在0~1之间;δτi,l表示路径(i,l)上所有蚂蚁遗留的信息素增量矩阵之和,由公式12计算可得。

步骤4.9:输出全局最优调度方案。

以上实例仅用以说明本发明而非限本发明所描述的技术方案,对于本领域技术人员应该理解,对上述发明所公开的云中科学工作流下费用预算约束的时间优化调度方法,在不脱离大名远离的前提下,还可以在此基础上做出改进,这些改进也视为本发明的保护。

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