一种工作流的任务调度方法、多工作流调度方法及其系统技术方案

技术编号:10193967 阅读:115 留言:0更新日期:2014-07-10 00:49
本发明专利技术涉及一种工作流的任务调度方法以及多工作流调度方法和系统,所述任务调度方法包括:步骤1,计算工作流中每个任务的向上权值,按向上权值的降序将任务放入待调度任务列表;步骤2,选择向上权值最大的任务,遍历并计算该任务在每个处理机上的最早完成时间,将该任务部署到最早完成时间最短的处理机上;步骤3,按待调度任务列表中的任务顺序,采用步骤2的方法为其余任务部署相应的处理机。所述多工作流调度方法主要原理为:将实时接收的工作流的优先级与正在被调度执行的工作流的优先级相比较,根据比较结果实施公平性策略或回填策略,再利用WSS策略进行任务调度。本发明专利技术基于云计算环境,能在效地进行多优先级的多工作流调度。

【技术实现步骤摘要】
一种工作流的任务调度方法、多工作流调度方法及其系统
本专利技术涉及面向云计算的工作流的任务调度领域,特别是涉及一种工作流的任务调度方法,以及针对在不同时间提交的具有多优先级的多工作流调度方法及其系统。
技术介绍
工作流作为一种协作和集成支撑技术,在过去的20年里,已经在电子政务、电子商务、科学计算等领域得到了广泛的应用。伴随着云计算的兴起,一些业界厂商的云工作流的产品也开始出现,然而,现有技术普遍忽视了针对多种QoS需求类型的多个工作流在不同时间提交到云中执行的调度问题,为此而普遍采用的一个简单办法是利用“顺序法”,将所有的工作流放入一个队列按顺序调度,将队列中的一个工作流利用单个工作流调度方法将其所有任务调度完毕后,再调度下一个工作流。然而,这种方法既不能充分利用资源,也存在着较大的不公平问题。针对这种不公平问题,有人提出了将多个工作流合并成一个复合工作流的方法用于处理和解决多工作流之间调度的时间不公平问题。同时,也有人提出了关于多工作流调度的时间公平性定义方法和两个公平调度方法,Fairness-Fl是其中之一,但是该方法没有进一步考虑不同用户在不同时间提交工作流的情况。在很多情况下,不同用户提交工作流的时间是随机的,不一定是在同一时间提交,系统如果让先到达的工作流等待其他工作流到来后同时调度,显然会降低资源利用率和工作流的吞吐量。为此,有人提出了动态的调度模型和策略,采用的方法是:将所有具备执行条件的任务根据任务的权值的大小按降序或者升序放入调度队列中,如果这些具备执行条件的任务来自同一个工作流,则调度队列中的任务按降序排列,否则按升序排列,从而避免早到达的工作流中权值较小的任务得不到调度的情况。然而,这种方法仍然会造成不同程度的不公平问题,因为如果后续被提交的工作流的任务的权值总是低于那些先来工作流中未被调度的任务的权值,那么先来的工作流中的剩余任务将得不到调度,所以只适合于多个工作流之间结构和复杂程度相近的情况。针对这个问题,有人提出了对已经准备好调度的任务池中来自不同工作流的任务进行优先级权值确定的方法,同时考虑每个工作流剩余任务完成时间和数量占工作流总任务的百分比,从而达到了较好的公平性。然后,上述这些研究仅仅针对多个工作流具有相同服务质量需求类型的情况,在云计算环境下,通常会面临多个工作流来自不同的用户,而不同的用户的工作流可能具有不同的服务质量需求类型。例如金融市场分析、监控系统等应用的多个任务之间存在先后约束关系,并且这些应用要求整个工作流的完成时间越短越好。如果完成时间过于滞后,执行结果将失去意义,同时,有些应用则对执行时间的要求不严格。因此当上述这些服务质量需求不同的多个工作流共享资源进行混合调度时,对完成时间要求的紧急程度是不一样的,并且用户可能会随时提交新的工作流来要求调度执行。为此,本专利技术提出了一种工作流的任务调度方法以及多工作流调度方法和系统。
技术实现思路
本专利技术所要解决的技术问题是提供一种工作流的任务调度方法以及多工作流调度方法和系统,用于解决在不同时间提交的具有多优先级的多工作流的调度方问题。本专利技术解决上述技术问题的技术方案如下:一种工作流的任务调度方法,包括:步骤I,计算工作流中每个任务的向上权值,按向上权值的降序排序将任务放入待调度任务列表;其中,任意任务Iii的向上权值rank(Iii)被递归地定义为:本文档来自技高网
...

【技术保护点】
一种工作流的任务调度方法,其特征在于,包括:步骤1,计算工作流中每个任务的向上权值,按向上权值的降序排序将任务放入待调度任务列表;其中,任意任务ni的向上权值rank(ni)被递归地定义为:rank(ni)=w‾i+maxnj∈succ(ni)(ci,j‾+rank(nj));]]>式中,nj表示任务ni的直接后继节点,succ(ni)表示ni的直接后续节点集合,nj∈succ(ni);表示任务ni在所有处理机上的平均预计执行时间;表示ni和nj之间数据传递的平均时间;步骤2,选择向上权值最大的任务,遍历并计算该任务在每个处理机上的最早完成时间,将该任务部署到最早完成时间最短的处理机上执行;步骤3,按待调度任务列表中的任务顺序,采用步骤2的方法为工作流中其余任务部署相应的处理机。

【技术特征摘要】
1.一种工作流的任务调度方法,其特征在于,包括: 步骤1,计算工作流中每个任务的向上权值,按向上权值的降序排序将任务放入待调度任务列表; 其中,任意任务Iii的向上权值rank (IIi)被递归地定义为: 2.根据权利要求1所述的任务调度方法,其特征在于,所述步骤I中,采用以下公式计算Hi和η」之间数据传递的平均时间^: 3.根据权利要求1所述的任务调度方法,其特征在于,所述步骤2中计算任务在每个处理机上的最早完成时间的步骤包括: 步骤21,用Iii表示任意任务,Mj表示任意处理机,并用EST (Hi, Mj)和EFT (叫,Mj)分别表示任务Iii在处理机Mj上的最早开始时间和最早完成时间; 步骤22,采用以下公式计算EST (叫,Mj): 4.根据权利要求3所述的任务调度方法,其特征在于,所述步骤22还包括:若一个工作流有多个出口节点Iiradt,则Iiradt的实际完成时间表示为AFT(Iiradt),从而采用下列公式计算该工作流的调度长度Makespan:Makespan = max {AFT (nexit)}。5.一种多工作流调度方法,采用权利要求1至4中任一所述的任务调度方法,其特征在于,包括: 步骤A,接收不同用户在不同时间提交的工作流,识别各工作流的优先级; 步骤B,将实时接收的工作流的优先级与正在被调度执行的工作流的优先级相比较,并执行以下步骤: 步骤BI,若实时接收的工作流的优先级与正在被调度执行的工作流的优先级相同,则将正在被调度执行的工作流的还未被执行的任务组撤销,并将其与实时接收的工作流合并,再采用权利要求1至4中任一所述的任务调度方法进行调度; 步骤B2,若实时接收的工作流的优先级小于正在被调度执行的工作流的优先级,则将实时接收的工作流插入到正在被调度执行的工作流的还未被执行的任务组的时隙中,并采用权利要求1至4中任一所述的任务调度方法进行调度; 步骤B3,若实时接收的工作流的优先级大于正在被调度执行的工作流的优先级,则将正在被调度执行的工作流的还未被执行的任务组撤销,采用权利要求1至4中任一所述的任务调度方法调度实时接收的工作流,再将撤销的任务组插入实时接收的工作流的任务组的时隙中,并采用权利要求1至4中任一所述的任务调度方法进行调度。6.根据权利要求5所述的多工作流调度方法,其特征在于...

【专利技术属性】
技术研发人员:张鹏张世鹏李焱朱嵬刘庆云谭建龙
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

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

1