基于自顶向下任务分级的云工作流任务调度方法与流程

文档序号:11386268阅读:359来源:国知局
基于自顶向下任务分级的云工作流任务调度方法与流程

本发明涉及云计算技术领域,特别是一种基于自顶向下任务分级的云工作流任务调度方法。



背景技术:

云计算以软硬件虚拟化技术为支撑,可以通过互联网向用户提供动态可扩展的服务,其可提供的服务类型包括:软件即服务saas、基础设施即服务iaas和平台即服务paas。由于其商业化的特征和市场为导向的商业模型,用户在使用诸如计算、存储和网络等云服务时通常是有偿付费的,使用模型类似于日常生活中使用的水、电、煤气等资源。除此之外,云服务的提供必须以满足用户服务质量qos为最终目标。云计算环境中的工作流调度问题即是实现各个相互关联的工作流任务与可用云资源间的映射问题,调度目标需要满足用户定义的目标函数。然而,工作流调度本身是np问题,多项式时间内无法找到其最优化。

工作流调度算法涉及两种类型:尽力服务调度和qos约束调度。尽力服务调度算法主要是最小化工作流调度时间为目标,而未考虑资源访问代价,主要应用于网格计算环境中,代表性算法有min-min、max-min和suffrage等。而网格计算环境与目前的商业云计算环境具有明显的不同,包括:1、云资源是按需动态提供的,用户对资源类型和数量的选择是较为灵活的,而网格环境中的资源类型、数量或使用时间都是比较固定的;2、云环境中的资源使用均是有偿付费的,且资源的定价模型根据资源类型的不同而不同,因此,任务执行代价将是必须考虑的要素,而网格环境中的任务调度通常只侧重于执行效率的优化问题。而qos约束调度算法则可以定义满足不同需求和qos的调度目标。云计算具有商业化特征,比较执行时间,其资源使用代价在调度过程中更是不可忽视的要素,因此,更适合以qos约束调度进行优化。

现有qos约束调度中,多以满足用户截止时间或预算约束进行任务调度优化,代表性算法有关键路径算法ic-pcp、增强ic-pcp算法eipr、分割均衡时间算法pbts和改进异质最早完成时间算法bheft。以上算法的不足之处在于:忽略了云资源提供的动态弹性特征以及资源性能和代价异构的特征,均无法直接应用于云计算环境中工作流调度优化。因此,需要寻找一种适用于云计算环境,结合任务特征和资源特征的云工作流调度qos方法。



技术实现要素:

本发明通过自顶向下的任务分级,得到初始的任务执行序列,使得调度方案的初始种群个体更加多样化,能够实现满足截止时间和预算约束的工作流执行代价最优化调度。

为了实现上述目的,本发明所采用的方法是:

步骤一:初始化工作流任务和主机资源相关参数、执行时间ect矩阵和执行代价ecc矩阵;

步骤二:计算工作流中所有任务的自顶向下分级;

步骤三:根据任务的自顶向下分级数的降序排列依次分配任务至可用主机资源,以此产生初始种群的第一个遗传个体;

步骤四:通过随机将任务分配至可用主机资源的方式产生剩余种群个体,每个个体使用二维方式编码,即一个种群个体为一种工作流任务调度方案(主机号,任务执行序列);

步骤五:如果不满足遗传终止条件,则继续执行以下步骤;否则,终止执行;

步骤六:根据个体适应度函数评估种群个体的适应度;

步骤七:利用轮盘赌选择策略从种群中选择父亲个体;

步骤八:在所有父亲个体上利用交叉操作产生新的子个体;

步骤九:在新产生的子个体上应用变异操作产生新的子个体;

步骤十:根据适应度函数评估每个子个体;

步骤十一:增加有效子个体,产生新种群;

步骤十二:返回步骤五,直到遗传终止。

与传统的云计算环境中工作流的调度方法相比,本发明具有以下优点:1、将用户定义的截止时间和预算约束引入云工作流调度问题中,通过这种多约束方式使用工作流调度更适应于云环境的商业化特征;2、改变了传统工作流调度方法只注重执行时间的优化,忽略了工作流执行代价优化的局限性;3、通过工作流结构中任务的特定位置,以自顶向下分级方式定义了任务的调度优先级,以此产生了更加合理和更多样性的遗传种群个体;4、通过更简单的方式定义了种群个体的编码方式,能够直接从编码染色体中解码出任务的调度方案;5、设计了互换变异和替代变异两种形式的个体变异操作,进一步丰富了种群个体;6、在适应度函数设计中兼顾考虑了时间因素和代价因素,并以此为标准,得到满足截止时间和预算约束的代价最小化的调度方法。

附图说明

图1为本发明的工作流结构示意图。

图2为本发明的主机资源结构图。

图3为本发明的基于自顶向下任务分级的一种调度结果图。

图4为本发明的种群个体交叉操作示意图。

图5为本发明的种群个体互换变异操作示意图。

图6为本发明的种群个体替代变异操作示意图。

图7为本发明的轮盘赌选择示意图。

图8为本发明的工作流任务调度流程图。

具体实施方式

下面结合附图对本发明作进一步的详细描述。

本发明通过自顶向下的任务分级,得到初始的任务执行序列,使得调度方案的初始种群个体更加多样化,能够实现满足截止时间和预算约束的工作流执行代价最优化调度。

为了实现上述目的,本发明在描述具体方法前先作出如下定义:

对云计算环境中的工作流应用定义:将工作流应用建立为有向无循环图dag,表示为二元组g(t,e),t表示任务集合{t1,t2,…,tn},|t|=n,e表示边e的集合,代表任务间的依赖性。每个任务ti∈t表示一个工作流应用的任务,每条边(ti,tj)表示任务ti与任务tj间的执行顺序约束,表明任务tj必须在任务ti完成后才可以开始执行。此时,称任务ti为任务tj的父任务,任务tj为任务ti的子任务。

具体地,如果在工作流dag中的任务不存在父任务,则称该任务为工作流应用的入口任务;如果在工作流dag中的任务不存在子任务,则称该任务为工作流应用的出口任务。

具体地,图1所示为一种典型工作流结构示意图,有向边上的数值表示任务间的数据传输时间,可表示为如下表格形式。

表1任务数据传输时间

当任务间不存在直接有向边时,即任务间不存在直接执行依赖关系,此时数据传输时间设置为∞。

具体地,该工作流应用中拥有九个任务,其中,入口任务有三个:t1、t2和t3,出口任务有三个:t7、t8和t9。

对云计算环境中的资源定义:将云资源定义为物理主机,它可以提供一定的计算能力、存储能力和网络带宽能力。假设云计算环境中拥有m台物理主机资源,表示为h={h1,h2,…,hm},规定云计算环境中的主机资源在同一时间内只能执行一个工作流任务,直到任务完成才能执行其他任务,即资源在同一时间内是单一任务独占的。同时,用户任务在主机资源上执行时,需向云资源提供方支付一定费用,以资源代价的形式表示,且每个任务在不同资源上的执行代价是不相同的。

具体地,如图2所示为一种云计算环境中提供的物理主机资源示意图,一共拥有三台主机资源。

对任务的估计完成时间矩阵ect的定义:ect为n×m矩阵,其元素ectij表示任务ti在主机hj上的估计完成时间。

具体地,下表2是图1所示工作流任务在图2所示三个主机资源上的估计完成时间ect。

表2ect

对任务的完成代价时间矩阵ecc的定义:ecc为n×m矩阵,其元素eccij表示任务ti在主机hj上的执行代价。

具体地,下表3是图1所示工作流任务在图2所示三个主机资源上的执行代价ecc。

表3ecc

对工作流任务自顶向下分级的定义:定义任务的自顶向下分级leveltop-down为该任务至其子任务的最长短径的长度,表示为:

其中,aeti表示任务ti在不同主机资源上的平均执行时间,succ(ti)表示ti的所有子任务集合,dttij表示任务ti与tj间的数据传输时间。

具体地,对于出口任务,由于没有子任务,其自顶向下分级等于任务在不同主机上的平均执行时间。

具体地,下表4是根据ect矩阵得到的工作流各任务的自顶向下分级值及相应的任务执行序列,其中,任务执行序列按照任务自顶向下分级leveltop-down的降序排列进行,如果出现多个任务拥有相同自顶向下分级的情况,其执行序列以随机排列方式进行。

表4任务分级及执行序列情况

根据得到的各工作流任务的自顶向下分级值,在如图2所示的三台主机资源条件下,可以得到图3的一种调度方案,该方案即为一个遗传种群个体。

具体地,根据任务自顶向下分级得到任务执行序列后,在为任务选择相应主机资源时,应选择主机资源可用且执行代价最小的主机资源。

以下详细描述工作流任务的遗传调度方法过程。

1)遗传编码

本发明在进行种群个体编码时采用二维编码,一个种群个体可表示为调度s=(主机号,任务执行序列)。

具体地,如图3所得到的调度方案可编码为:s={(h1,t1,t5,t8),(h2,t2,t4,t7),(h3,t3,t6,t9)}。

2)遗传解码

对于编码后的染色体的解码方案是:将编码中的第一个字符直接解码为相应主机资源,之后的字符顺序解码为在该主机资源上执行的任务序列。

3)初始种群生成

本发明的初始种群生成方法为:根据任务的自顶向下分级数的降序排列依次分配任务至可用主机资源,以此产生初始种群的第一个遗传个体;并通过随机将任务分配至可用主机资源的方式产生剩余种群个体,以此得到遗传的初始种群。

4)适应度函数

种群适应度函数的目的是用来度量种群个体的优劣程度。对于截止时间和预算双重约束的工作流调度问题,本发明定义的适应度函数表示为:

其中,t(i)表示种群个体i所代表的调度方案的完成时间,deadline表示用户定义的工作流应用执行的截止时间,c(i)表示种群个体i所代表的调度方案的完成代价,budget表示用户定义的工作流应用执行的预算约束,α和β分别表示截止时间因子和预算因子,表明用户对qos的偏好,α∈[0,1],β∈[0,1],且α+β=1。

具体地,如果用户对于工作流任务的完成时间和完成代价具有同等偏好,则可设置α=β=0.5;如果用户对于工作流任务的完成时间具有更大偏好,则可设置α>0.5,β<0.5;如果用户对于工作流任务的完成代价具有更大偏好,则可设置α<0.5,β>0.5。

具体地,本发明评估个体适应度的过程是:如果t(i)/deadline≤1且c(i)/budget≤1,则表明该种群个体是满足要求的适应种群个体;否则,则将该个体从种群中抛弃。

同时,需要说明的是,种群个体遗传进化过程中,在确保种群个体为可行个体的前提下,应优先保留适应度更小的个体,这可以保证工作流调度的执行时间和执行代价更优。

5)遗传交叉

本发明的遗传交叉操作可以通过联合两个优适应度的个体得到更好的种群个体,以此得到当前种群的新个体,两个个体按交叉概率pc进行交叉操作,pc∈[0,1],交叉点根据任务在当前主机资源上的分配情况随机进行选择,从而将特定主机上的任务序列在交叉点进行分割并交叉互换。

具体地,如图4所示,父个体1表示的调度方案s={(h1,t1,t5,t8),(h2,t2,t4,t7),(h3,t3,t6,t9)}和父个体2表示的调度方案s={(h3,t1,t5,t8),(h1,t2,t4,t7),(h2,t3,t6,t9)},选择交叉点并经过遗传交叉操作后,得到两个新的子个体分别为s={(h1,t1,t4,t7),(h2,t2,t6,t9),(h3,t3,t5,t8)}和s={(h1,t3,t5,t8),(h2,t1,t4,t7),(h3,t2,t6,t9)}。

6)遗传变异

本发明采用两种类型的遗传变异操作:互换变异和替代变异。

具体地,互换变异随机选择一个主机,然后在该主机上随机选择两个任务进行互换位置;替代变异在种群个体中重新分配可用主机至任务,即:随机选择一个任务,将其当前的分配资源以随机选择且可执行的资源进行替换。

具体地,两种遗传变异操作的执行过程是:遗传变异以变异概率pm执行,pm∈[0,1]。如果产生的随机数小于pm,则执行互换变异,否则,执行替代变异。

具体地,如图5所示,主机资源h2上的任务调度方案s=(h2,t2,t4,t7)经过互换变异后,得到新的调度方案s=(h2,t2,t7,t4)。

具体地,如图6所示,调度方案s={(h1,t1,t5,t8),(h2,t2,t4,t7),(h3,t3,t6,t9)}经过替代变异后,得到新的种群个体s={(h1,t1,t5,t8,t9),(h2,t2,t4,t7),(h3,t3,t6)}。

7)遗传选择

本发明的种群个体选择采用轮盘赌策略进行,具体过程是:首先,根据适应度函数计算当前种群个体的适应度;其次,采用择优策略,将计算出的适应度最小的个体直接保留至子代种群中,作为遗传操作的复制算子;然后,根据各个个体适应度,计算其相比整个种群的相对适应度,以此作为该种群个体的选择概率,计算公式为:

其中,fitness(i)表示种群个体i的适应度,dsize表示整个种群的规模。

最后,采用轮盘赌的选择策略对个体进行选择。根据选择概率p(i),i=1,2,…,dsize,将一个圆盘划分为dsize份,其中,第i个扇形的中心角大小为2πp(i),随机转动轮盘,直到停止。如果选择的参照点落入轮盘选择策略的第i个扇形区内,则选择个体i。如图7所示为轮盘赌选择策略示意图。

具体地,对于遗传选择而言,个体适应度占总体适应度的比例,以此作为该种群个体的选择概率,概率越大,该种群个体越优先被选择。

8)遗传终止

本发明的遗传终止的条件设置为遗传最大迭代次数为100次,当遗传迭代数到达100次后,遗传过程立即终止。

基于以上的遗传定义,本发明的调度方法的具体步骤是:

步骤一:初始化工作流任务和主机资源相关参数、执行时间ect矩阵和执行代价ecc矩阵;

步骤二:计算工作流中所有任务的自顶向下分级;

步骤三:根据任务的自顶向下分级数的降序排列依次分配任务至可用主机资源,以此产生初始种群的第一个遗传个体;

步骤四:通过随机将任务分配至可用主机资源的方式产生剩余种群个体,每个个体使用二维方式编码,即一个种群个体为一种工作流任务调度方案(主机号,任务执行序列);

步骤五:如果不满足遗传终止条件,则继续执行以下步骤;否则,终止执行;

步骤六:根据个体适应度函数评估种群个体的适应度;

步骤七:利用轮盘赌选择策略从种群中选择父亲个体;

步骤八:在所有父亲个体上利用交叉操作产生新的子个体;

步骤九:在新产生的子个体上应用变异操作产生新的子个体;

步骤十:根据适应度函数评估每个子个体;

步骤十一:增加有效子个体,产生新种群;

步骤十二:返回步骤五,直到遗传终止。

本发明所采用的工作流任务调度方法更适应于云计算的商业化特征,能够满足截止时间和预算的双重约束,实现工作流执行代价的最优化。

本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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