CN110287011A - 一种基于局部路径与截止期限分配的云工作流调度算法 - Google Patents
一种基于局部路径与截止期限分配的云工作流调度算法 Download PDFInfo
- Publication number
- CN110287011A CN110287011A CN201910523877.1A CN201910523877A CN110287011A CN 110287011 A CN110287011 A CN 110287011A CN 201910523877 A CN201910523877 A CN 201910523877A CN 110287011 A CN110287011 A CN 110287011A
- Authority
- CN
- China
- Prior art keywords
- task
- algorithm
- node
- time limit
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于局部路径与截止期限分配的云工作流调度算法,属于云计算技术领域。其技术方案为:一种基于局部路径与截止期限分配的云工作流调度算法,包括两个阶段:期限分配与资源选择两个阶段,期限分配阶段中,全局任务DAG的截止期限在个体任务间进行分配,若每个任务可在其子期限内完成,则整个任务DAG可在截止期限内完成;资源选择阶段中,在满足任务子期限的同时,为每个任务选择最优资源完成任务调度。本发明的有益效果为:本发明的调度方法是将全局期限在所有工作流任务上进行分割,以得到任务的子期限,然后在实例提供时仅满足子期限。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种基于局部路径与截止期限分配的云工作流 调度算法。
背景技术
工作流结构广泛应用于复杂计算问题建模,云计算特有的按需提供和付即用的定制资 源使用方式使其成为调度工作流的有效方法。与传统批任务调度不同,工作流结构的任务 具有严格的逻辑执行次序,需要在满足给定QoS约束的同时,实现了与资源间的映射。工 作流调度通常由选择被调度任务和选择提供实例两个阶段构成,两阶段决策对于是否能够 满足给定约束和全局调度代价均具有重要影响。传统工作流调度方法仅注重执行效率/时 间,忽略了资源使用的费用,此时的调度问题在不同资源和不同调度方案下的执行时间和 代价均有所不同。因此,同步考虑用调度时间和代价更加符合云资源的使用环境。
为了解决期限约束时的工作流调度代价优化问题,本文设计的调度方法是将全局期限 在所有工作流任务上进行分割,以得到任务的子期限,然后在实例提供时仅满足子期限即 可。
对于工作流调度过程的调度与提供两个阶段,给定资源集,调度阶段的目标是决定任 务执行的最优序列和与用户相应约束下的任务部署;提供阶段的目标是为工作流内的任务 选择资源类型和相应资源数量,并为任务执行预留资源。相关研究中,DBL和DTL算法是典 型的基于期限分配的启发式调度算法。前者以down-top方式对任务进行划分,后者则以 top-down方式对任务进行划分。由于工作流可以有向无循环图建模,故DBL将任务划分为 不同层次,每个层次所包含的任务不具有依赖性;而DTL将任务划分为不同路径(作为同 步任务或简单任务,同步任务定义为拥有一个以上父任务或子任务的任务)。为任务分配期 限时,全局期限以正比于每个层次的最小执行时间的方式在各层次间进行分割。然而,在 DBL算法,首先需要计算最快实例资源,然后再将期限与估算值之差以均匀分布方式在所有 层次间进行分配。DET算法将任务被分为两种类型:关键和非关键任务。关键任务利用动态 规化进行调度,非关键任务则在关键任务间进行回填式调度,但该算法忽略了任务间的通 信时间。
另外,还有提出了云工作流调度算法PDC,算法将期限以正比于各层次中任务执行时间 的方式在层次间进行分割。最迟完成时间LFT算法,该算法也是将期限在各任务间进行分 割,并确保工作流在用户定义期限条件完成下时任务可完成其执行的最早时间。与本文思 想相似,局部关键路径算法MI)P,算法可以根据任务在工作流中所处的局部关键路径对任务 进行分类,同时,期限根据定义的路径时进行重分配。然而,算法在每个局部关键路径PCP 执行后,需要重新计算最迟完成时间,开销较大。基于动态代价最小的JIT算法,该算法 在期限约束下将联合管道任务集建立为单个任务,以消除任务间的数据传输时间。然而, 该算法在任务执行实例的选择上并非最优,有待改进。
如何解决上述技术问题为本发明面临的课题。
发明内容
本发明的目的在于提供一种基于局部路径与截止期限分配的云工作流调度算法。
本发明是通过如下措施实现的:一种基于局部路径与截止期限分配的云工作流调度算 法,其中,所述云工作流调度算法是基于局部关键路径和截止期限的云工作流调度算法包 括两个阶段:期限分配与资源选择两个阶段,期限分配阶段中,全局任务DAG的截止期限 在个体任务间进行分配,若每个任务可在其子期限内完成,则整个任务DAG可在截止期限 内完成;资源选择阶段中,在满足任务子期限的同时,为每个任务选择最优资源完成任务 调度。
作为本发明提供的一种基于局部路径与截止期限分配的云工作流调度算法的进一步优 化方案,所述云工作流调度算法主要包括WS-PCPDC算法、AssignParent算法、Costdecrease PathAssigning Algorithm算法、Fair PathAssigning Algorithm算法和Planning算法;
所述云工作流调度算法具体为:对于每个未调度任务ti,令EST(ti)表示任务ti的最早 开始时间,该时间是未考虑实际执行该任务的资源时得到的时间;由于云环境是异构环境, 任务执行时间在不同资源间是变化的;数据传输时间取决于所选资源及资源间的传输带宽, 任务ti的最小执行时间MET(ti)和最小传输时间可分别定义为:
基于以上定义,最早开始时间可定义为:
其中,pred(ti)表示ti的父节点任务;
对于每个未调度任务ti,令LFT(ti)为整个任务DAG在截止时间D内保证完成时任务ti能够完成执行的最迟时间,则:
对于每个调度任务ti,令SS(ti)为执行ti的所选资源,AST(ti)为任务ti在资源上的实 际开始时间。
作为本发明提供的一种基于局部路径与截止期限分配的云工作流调度算法的进一步优 化方案,所述云工作流调度算法还包括WS-PCPDC算法的伪代码,添加两个傀儡节点至任务 DAG中,计算所需参数值后,节点tentry和texit分配子期限,并将这两个任务标记为已 分配assigned节点,已分配节点表明该任务节点已经分配子期限,未分配子期限的节点称 为未分配unassigned节点;texit的子期限设置为截止期限D,出口任务在截止期限D内 完成,对出口任务调用AssignParent算法,该算法的目标是为输入节点的所有未分配父节 点分配子期限,从出口任务texit开始分配可证为DAG中的所有任务分配子期限,AssignParent算法负责在所有任务间分配全局截止期限,调用Planning算法,用于在满足子期限的情况下为每个任务选择执行资源;
所述AssignParent算法伪代码为:输入一个已分配节点,并分配子期限至其所有父节 点上,AssignParent算法要寻找终止于输入的未分配节点的局部关键路径。
作为本发明提供的一种基于局部路径与截止期限分配的云工作流调度算法的进一步优 化方案,所述云工作流调度算法中的关键父节点的定义如下:
定义1:任务ti的关键父节点为数据到达时间最迟的未分配父节点,即满足下式的ti 的父节点tp:
定义2:任务节点ti的局部关键路径为:
1)若ti不存在任一未分配父节点,则为空;
2)若ti存在任一未分配父节点,则由其关键父节点tp和tp的局部关键路径组成;
AssignParent算法由输入节点开始,沿关键父节点直到到达没有未分配父节点的节点 任务,以形成一条局部关键路径,第一次调用该算法时,由texit开始,向回追溯其关键 父节点,直到到达tentry,算法可以找到穿越整个DAG的全局关键路径,调用AssignPath算法,该算法接收一条路径任务节点序列作为输入,在任务的最迟完成时间内分配子期限至路径上的每个节点上,当子期限分配至任务后,其未分配后继节点的EST和其未分配父节点的LFT可能发生改变,算法需要在下一次循环中更新路径上所有任务的这两个值,算法通过递归调用AssignParent为局部关键路径上的每个任务节点的父节点分配子期限。
作为本发明提供的一种基于局部路径与截止期限分配的云工作流调度算法的进一步优 化方案,所述AssignPath算法接受一条路径作为输入,分配子期限至其上的每个任务节点, 为路径创建预计调度方案,并使用算法为路径上的任务分配子期限。
作为本发明提供的一种基于局部路径与截止期限分配的云工作流调度算法的进一步优 化方案,在texit上调度AssignParent算法,由于该任务有3个父节点,while循环将执 行三次,将之称为Step1至Step3,需要选择路径分配策略;
Step1:AssignParent追踪texit的局部关键父节点寻找其局部关键路径,为t2-t6-t9, 调用AssignPath算法,分配子期限至这些任务,对于以上三个任务共有27种可能的资源 分配,其中,S2,3-t2、S6,2-t6和S9,1-t9为拥有最小代价的最优可行分配,该分配用于 决定每个任务的子期限值;下一步是更新这些任务的所有未分配子节点的EST,即t5和t8, 及未分配父节点的LFT,即t3,变化后的值如表2的Step1,最后一步是在路径上的所有任 务上递归调用AssignParent,由于t2和t9没有未分配父节点,在Step1.1中仅需在t6上调用AssignParent;
Step1.1:当在t6上调用AssignParent时,寻找该任务的局部关键路径,即t3,调用AssignPath寻找t3的最优分配,即S3,3,由于t3没有未分配子节点或父节点,Step1完 成;
Step2:回到任务texit,AssignParent试图寻找下一条该任务的局部关键路径,即t5-t8,调用AssignPath,这两个任务的所有9种可能分配,并选择最优可行分配,即 S5,1-t5,S8,3-t8,这两个任务没有未分配子节点,但算法需要更新其未分配父节点的LFT, 即t1和t4,算法在路径上的所有任务上调用AssignParent,t5没有未分配父节点;
Step2.1:当在任务t8上调用AssignParent时,寻找其局部关键路径,即t1-t4,调用AssignPath,计算该路径的最优可行分配,即S1,3-t1,S4,2-t4,这两个任务没有未分 配父节点,算法需要更新t4的子节点的EST,即t7,由于t1和t4没有未分配父节点,Step2 停止;
Step3:在最后一步中,AssginParent寻找texit的最后一条局部关键路径,即t7,AssignPath寻找最优可行分配为S7,2-t7,由于没有未分配父节点或子节点,算法停止。
作为本发明提供的一种基于局部路径与截止期限分配的云工作流调度算法的进一步优 化方案,调用Planing算法,Planning将每个任务调度至AssignParent算法计算得到的相 同资源上。
本发明的有益效果为:本发明提出了一种基于局部关键路径和截止期限分配的工作流 任务调度算法。为了满足期限约束,并最小化执行代价,算法将工作流任务的调度过程划 分为两个阶段:期限分配阶段和调度资源选择阶段;期限分配阶段定义工作流的局部关键 路径,并以递归的方式在局部关键路径上的任务间进行子期限分配;调度资源选择阶段在 满足任务子期限的同时,为每个任务选择执行代价最低的资源进行任务调度,以实现调度 代价优化,分析了算法的时间复杂度,并通过一个算例对算法的实现思路进行了详细阐述, 最后,通过科学工作流结构的仿真实验,证明了算法不仅可以满足截止期限约束,而且可 以降低工作流任务的执行代价;本发明的调度方法是将全局期限在所有工作流任务上进行 分割,以得到任务的子期限,然后在实例提供时仅满足子期限即可。
附图说明
图1为本发明实施例中任务DAG的示意图。
图2为本发明实施例中工作流结构图示意图。
图3为本发明实施例中CyberShake、Epigenomics、LIGO、Montage和SPIHT的小规模、 中规模和大规模对比示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,对本方案进行阐述。
参见图1至图3,本发明是:一种基于局部路径与截止期限分配的云工作流调度算法, 其中,所述云工作流调度算法是基于局部关键路径和截止期限的云工作流调度算法包括两 个阶段:期限分配与资源选择两个阶段,期限分配阶段中,全局任务DAG的截止期限在个 体任务间进行分配,若每个任务可在其子期限内完成,则整个任务DAG可在截止期限内完 成;资源选择阶段中,在满足任务子期限的同时,为每个任务选择最优资源完成任务调度。
其中,所述云工作流调度算法主要包括WS-PCPDC算法、AssignParent算法、Costdecrease PathAssigning Algorithm算法、Fair PathAssigning Algorithm算法和Planning 算法;
所述云工作流调度算法具体为:对于每个未调度任务ti,令EST(ti)表示任务ti的最 早开始时间,该时间是未考虑实际执行该任务的资源时得到的时间;由于云环境是异构环 境,任务执行时间在不同资源间是变化的;数据传输时间取决于所选资源及资源间的传输 带宽,任务ti的最小执行时间MET(ti)和最小传输时间可分别定义为:
基于以上定义,最早开始时间可定义为:
其中,pred(ti)表示ti的父节点任务;
对于每个未调度任务ti,令LFT(ti)为整个任务DAG在截止时间D内保证完成时任务ti能够完成执行的最迟时间,则:
对于每个调度任务ti,令SS(ti)为执行ti的所选资源,AST(ti)为任务ti在资源上的实 际开始时间。
其中,所述云工作流调度算法还包括WS-PCPDC算法的伪代码,添加两个傀儡节点至任 务DAG中,计算所需参数值后,节点tentry和texit分配子期限,并将这两个任务标记为 已分配assigned节点,已分配节点表明该任务节点已经分配子期限,未分配子期限的节点 称为未分配unassigned节点;texit的子期限设置为截止期限D,出口任务在截止期限D内完成,对出口任务调用AssignParent算法,该算法的目标是为输入节点的所有未分配父节点分配子期限,从出口任务texit开始分配可证为DAG中的所有任务分配子期限,AssignParent算法负责在所有任务间分配全局截止期限,调用Planning算法,用于在满足子期限的情况下为每个任务选择执行资源;
所述AssignParent算法伪代码为:输入一个已分配节点,并分配子期限至其所有父节 点上,AssignParent算法要寻找终止于输入的未分配节点的局部关键路径。
其中,所述云工作流调度算法中的关键父节点的定义如下:
定义1:任务ti的关键父节点为数据到达时间最迟的未分配父节点,即满足下式的ti 的父节点tp:
定义2:任务节点ti的局部关键路径为:
1)若ti不存在任一未分配父节点,则为空;
2)若ti存在任一未分配父节点,则由其关键父节点tp和tp的局部关键路径组成;
AssignParent算法由输入节点开始,沿关键父节点直到到达没有未分配父节点的节点 任务,以形成一条局部关键路径,第一次调用该算法时,由texit开始,向回追溯其关键 父节点,直到到达tentry,算法可以找到穿越整个DAG的全局关键路径,调用AssignPath算法,该算法接收一条路径任务节点序列作为输入,在任务的最迟完成时间内分配子期限至路径上的每个节点上,当子期限分配至任务后,其未分配后继节点的EST和其未分配父节点的LFT可能发生改变,算法需要在下一次循环中更新路径上所有任务的这两个值,算法通过递归调用AssignParent为局部关键路径上的每个任务节点的父节点分配子期限。
其中,所述AssignPath算法接受一条路径作为输入,分配子期限至其上的每个任务节 点,为路径创建预计调度方案,并使用算法为路径上的任务分配子期限。
表1执行时间和执行代价
利用WS-PCPDC算法调度图1的DAG,首先需要将所有任务分配至最快资源上计算EST 和LFT,其值如表2第二栏所示。然后,算法设置tentry和texit的子期限分别为0和35,并标记两个任务为已分配。接下来算法需要调用AssignParent和Planning。
其中,在texit上调度AssignParent算法,由于该任务有3个父节点,while循环将执行三次,将之称为Step1至Step3,需要选择路径分配策略;
Step1:AssignParent追踪texit的局部关键父节点寻找其局部关键路径,为t2-t6-t9, 调用AssignPath算法,分配子期限至这些任务,对于以上三个任务共有27种可能的资源 分配,其中,S2,3-t2、S6,2-t6和S9,1-t9为拥有最小代价的最优可行分配,该分配用于 决定每个任务的子期限值;下一步是更新这些任务的所有未分配子节点的EST,即t5和t8, 及未分配父节点的LFT,即t3,变化后的值如表2的Step1,最后一步是在路径上的所有任 务上递归调用AssignParent,由于t2和t9没有未分配父节点,在Step1.1中仅需在t6上调用AssignParent;
Step1.1:当在t6上调用AssignParent时,寻找该任务的局部关键路径,即t3,调用AssignPath寻找t3的最优分配,即S3,3,由于t3没有未分配子节点或父节点,Step1完 成;
Step2:回到任务texit,AssignParent试图寻找下一条该任务的局部关键路径,即t5-t8,调用AssignPath,这两个任务的所有9种可能分配,并选择最优可行分配,即 S5,1-t5,S8,3-t8,这两个任务没有未分配子节点,但算法需要更新其未分配父节点的LFT, 即t1和t4,算法在路径上的所有任务上调用AssignParent,t5没有未分配父节点;
Step2.1:当在任务t8上调用AssignParent时,寻找其局部关键路径,即t1-t4,调用AssignPath,计算该路径的最优可行分配,即S1,3-t1,S4,2-t4,这两个任务没有未分 配父节点,算法需要更新t4的子节点的EST,即t7,由于t1和t4没有未分配父节点,Step2 停止;
Step3:在最后一步中,AssginParent寻找texit的最后一条局部关键路径,即t7,AssignPath寻找最优可行分配为S7,2-t7,由于没有未分配父节点或子节点,算法停止。
表2算法每一步的详细计算结果如下:
其中,调用Planing算法,Planning将每个任务调度至AssignParent算法,计算得到 的相同资源上;数据传输时间是固定的,且资源是完全可用的,这两个假设使得AssignPath 得到的估计调度方案是实际的调度方案,所选资源如表2所示,总时间为35,总代价为64, 包括执行代价48和数据传输代价16。
本发明的仿真实验对算法进行测试,利用工作流仿真工具包WorkflowSim对算法进行 实验分析,在Workflow平台上配置10个异构数据中心,每个数据中心随机配置10~100 个资源节点,资源处理能力与代价配置参考Amazon EC2,单个数据中心的资源拥有相同的 处理器速率,数据中心内的资源处理能力约定最快为最慢的10倍。数据中心内部的资源间 的带宽随机分布于[100Mbps,512Mbps]之间,数据传输代价正比于带宽,即带宽越高,代 价越高。
同时,实验为了测试任务规模对算法性能的影响,配置了三种规模的任务数量,分别 为小规模small为30个任务,中规模medium为100个任务,大规模large为1000个任务。使用五种不同科学领域中的合成工作流结构作为数据源,包括:1、Montage工作流:天文学,2、Epigenomics工作流:生物学,3、SIPHT:生物信息学,4、LIGO工作流:引力物 理学,5、CyberShake工作流:地震学,其结构如图2[12]。不同工作流形式在其任务关联、 数据聚合、数据分布及数据重分布等组成方面均有所不同。Montage工作流的任务以I/0密 集型为主,对CPU处理能力的要求相对较低,且串行任务结构极少。Epigenomics工作流的 任务以计算密集型为主,且对内存要求较多,串行任务也较多。SIPHT工作流与Epigenomics 同为生物学工作流形式,任务类型相似,但SIPHT工作流结构更为复杂,串行任务极少。 LIGO工作流的任务多以CPU计算密集型为主,且拥有较多内存需求,拥有大量较短的串行 任务。CyberShake任务以数据密集型为主,同时拥有较大内存需求和CPU计算能力请求。
实验结果:利用标准化调度长度makespan(NM)和标准化代价cost(NC)对算法性能进行衡量:
其中,MHEFT表示利用质构最早完成时间算法HEFT[13]得到的调度长度,CC为将所有 任务调度至代价最低资源上的调度代价。
为了评估算法性能,需要将截止期限分配至整个工作流任务。该截止期限须大于或等 于HEFT算法得到的调度长度。为了设置截止期限,定义一个截止期限因子α,并设置工作 流的期限为其到达时间加上αMHEFT。实验中α值的取值范围为[1,5]。选取的基准算法为MDP算法[10]。
表3标准化调度长度小于期限因子的平均比例
表3给出了算法的标准化调度长度小于期限因子的平均比例,可以看出,算法均可以 在期限约束内完成所有工作流调度,即使期限较紧的情况下(更小的期限因子取值)。对于 LIGO和CyberShake工作流,两种算法几乎利用了所有可用的期限使得执行代价达到最小, 即平均差值比例小于1%。Montage工作流几乎是同样的情况,而对于Epigenomics和SIPHT 工作流,MDP算法拥有更高的平均差值比例,分别是中规模Epigenomics工作流中的3.07% 和小规模SPIHT工作流中的5.99%。而发明中的三种算法在小规模SPIHT中也均有相对更高 的差值比例。
表4 WS-PCPDC算法比较MDP算法的性能优势:
图3给出了调度算法得到的执行代价情况。大致上,中小规模工作流拥有类似结果, 两类算法在较宽松期限下(期限因子为5)拥有基本相同的标准化代价值(约为2),这表明当将期限从MHEFT至5MHEFT增加5倍时,对于中小规模工作流标准化代价降低幅度约小于两倍CC,除了中规模Montage例外。对于大规模工作流则拥有完全不同的结果,仅有SIPHT工作流维持与中小规模工作流相同的结果,而Montage工作流拥有最差的性能表现。这表明拥有大数量任务的大规模工作流中,工作流任务间的结构特征比中小规模工作流更加影响任务调度过程。图3还表明,Optimized在三种策略中及所有工作流类型中拥有最佳的性能表现,即最小的代价,也优于参考算法MDP。
对于CyberShake、LIGO和SIPHT工作流,利用Optimized策略的WS-PCPDC算法拥有最佳性能,而Cost Decrease策略则拥有近似表现。Fair策略拥有最差的性能,但仍然比MDP算法表现更优。表4给出WS-PCPDC算法比较MDP算法的性能优势。
对于Epigenomics工作流,MDP在某些情况下拥有比WS-PCPDC更好的性能,在大中规 模情况下可以得到更小的平均代价降低幅度,主要原因是Epigenomics工作流结构中主要 由多个并行线性任务组成。初始状态下,WS-PCPDC寻找工作流的关键路径时,工作流拥有 多个入口任务,一个是并行管道任务,其它三个为工作流的终端任务。WS-PCPDC试图为这 条关键路径寻找最优调度时,未考虑第一个和第六个任务间的并行性。若考虑并行性,需 分配最长的子期限到这四个任务上,由于此时可以留下更多的空闲时间,全局代价也可以 得到降低。
大规模Montage在所有算法上均拥有最差性能,即截止期限的增加并未带来代价降低 幅度的增加。在大规模Montage中,当增加期限至5倍时,代价降低约为初始值的一半。进一步,利用Optimized的WS-PCPDC算法从小规模至大规模工作流中有所降低,尤其在大规模工作流中,其性能差于MDP。原因在于,对于Montage结构,其全局关键路径由9个任 务组成,需优先为该路径分配子期限。对于小规模工作流,所分配的子期限在资源选择阶 段得以保留。然而,对于大规模工作流,全局关键路径上第三个任务前的很多任务会在资 源选择阶段被调度到更慢的资源上,这会导致关键路径上的第三个任务无法按时完成,并 会将这推迟传导至其子节点,从而降低最终的调度性能。Fair在大规模工作流中拥有较好 性能,比较MDP的平均代价降低比例为12.07,该策略在中规模工作流中也有较好性能。
本发明未经描述的技术特征可以通过或采用现有技术实现,在此不再赘述,当然,上 述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人 员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
Claims (7)
1.一种基于局部路径与截止期限分配的云工作流调度算法,其特征在于,所述云工作流调度算法是基于局部关键路径和截止期限的云工作流调度算法包括两个阶段:期限分配与资源选择两个阶段,期限分配阶段中,全局任务DAG的截止期限在个体任务间进行分配,若每个任务可在其子期限内完成,则整个任务DAG可在截止期限内完成;资源选择阶段中,在满足任务子期限的同时,为每个任务选择最优资源完成任务调度。
2.一种如权利要求1所述的基于局部路径与截止期限分配的云工作流调度算法,其特征在于,所述云工作流调度算法主要包括WS-PCPDC算法、AssignParent算法、Costdecrease PathAssigning Algorithm算法、Fair PathAssigning Algorithm算法和Planning算法;
所述云工作流调度算法具体为:对于每个未调度任务ti,令EST(ti)表示任务ti的最早开始时间,该时间是未考虑实际执行该任务的资源时得到的时间;由于云环境是异构环境,任务执行时间在不同资源间是变化的;数据传输时间取决于所选资源及资源间的传输带宽,任务ti的最小执行时间MET(ti)和最小传输时间可分别定义为:
基于以上定义,最早开始时间可定义为:
其中,pred(ti)表示ti的父节点任务;
对于每个未调度任务ti,令LFT(ti)为整个任务DAG在截止时间D内保证完成时任务ti能够完成执行的最迟时间,则:
对于每个调度任务ti,令SS(ti)为执行ti的所选资源,AST(ti)为任务ti在资源上的实际开始时间。
3.根据权利要求2所述的基于局部路径与截止期限分配的云工作流调度算法,其特征在于,所述云工作流调度算法还包括WS-PCPDC算法的伪代码,添加两个傀儡节点至任务DAG中,计算所需参数值后,节点tentry和texit分配子期限,并将这两个任务标记为已分配assigned节点,已分配节点表明该任务节点已经分配子期限,未分配子期限的节点称为未分配unassigned节点;texit的子期限设置为截止期限D,出口任务在截止期限D内完成,对出口任务调用AssignParent算法,该算法的目标是为输入节点的所有未分配父节点分配子期限,从出口任务texit开始分配可证为DAG中的所有任务分配子期限,AssignParent算法负责在所有任务间分配全局截止期限,调用Planning算法,用于在满足子期限的情况下为每个任务选择执行资源;
所述AssignParent算法伪代码为:输入一个已分配节点,并分配子期限至其所有父节点上,AssignParent算法要寻找终止于输入的未分配节点的局部关键路径。
4.根据权利要求3所述的基于局部路径与截止期限分配的云工作流调度算法,其特征在于,所述云工作流调度算法中的关键父节点的定义如下:
定义1:任务ti的关键父节点为数据到达时间最迟的未分配父节点,即满足下式的ti的父节点tp:
定义2:任务节点ti的局部关键路径为:
1)若ti不存在任一未分配父节点,则为空;
2)若ti存在任一未分配父节点,则由其关键父节点tp和tp的局部关键路径组成;
AssignParent算法由输入节点开始,沿关键父节点直到到达没有未分配父节点的节点任务,以形成一条局部关键路径,第一次调用该算法时,由texit开始,向回追溯其关键父节点,直到到达tentry,算法可以找到穿越整个DAG的全局关键路径,调用AssignPath算法,该算法接收一条路径任务节点序列作为输入,在任务的最迟完成时间内分配子期限至路径上的每个节点上,当子期限分配至任务后,其未分配后继节点的EST和其未分配父节点的LFT可能发生改变,算法需要在下一次循环中更新路径上所有任务的这两个值,算法通过递归调用AssignParent为局部关键路径上的每个任务节点的父节点分配子期限。
5.根据权利要求4所述的基于局部路径与截止期限分配的云工作流调度算法,其特征在于,所述AssignPath算法接受一条路径作为输入,分配子期限至其上的每个任务节点,为路径创建预计调度方案,并使用算法为路径上的任务分配子期限。
6.根据权利要求4所述的基于局部路径与截止期限分配的云工作流调度算法,其特征在于,在texit上调度AssignParent算法,由于该任务有3个父节点,while循环将执行三次,将之称为Step1至Step3,需要选择路径分配策略;
Step1:AssignParent追踪texit的局部关键父节点寻找其局部关键路径,为t2一t6-t9,调用AssignPath算法,分配子期限至这些任务,对于以上三个任务共有27种可能的资源分配,其中,S2,3-t2、S6,2-t6和S9,1-t9为拥有最小代价的最优可行分配,该分配用于决定每个任务的子期限值;下一步是更新这些任务的所有未分配子节点的EST,即t5和t8,及未分配父节点的LFT,即t3,变化后的值如表2的Step1,最后一步是在路径上的所有任务上递归调用AssignParent,由于t2和t9没有未分配父节点,在Step1.1中仅需在t6上调用AssignParent;
Step1.1:当在t6上调用AssignParent时,寻找该任务的局部关键路径,即t3,调用AssignPath寻找t3的最优分配,即S3,3,由于t3没有未分配子节点或父节点,Step1完成;
Step2:回到任务texit,AssignParent试图寻找下一条该任务的局部关键路径,即t5-t8,调用AssignPath,这两个任务的所有9种可能分配,并选择最优可行分配,即S5,1-t5,S8,3-t8,这两个任务没有未分配子节点,但算法需要更新其未分配父节点的LFT,即t1和t4,算法在路径上的所有任务上调用AssignParent,t5没有未分配父节点;
Step2.1:当在任务t8上调用AssignParent时,寻找其局部关键路径,即t1-t4,调用AssignPath,计算该路径的最优可行分配,即S1,3-t1,S4,2-t4,这两个任务没有未分配父节点,算法需要更新t4的子节点的EST,即t7,由于t1和t4没有未分配父节点,Step2停止;
Step3:在最后一步中,AssginParent寻找texit的最后一条局部关键路径,即t7,AssignPath寻找最优可行分配为S7,2-t7,由于没有未分配父节点或子节点,算法停止。
7.根据权利要求1-6任一项所述的基于局部路径与截止期限分配的云工作流调度算法,其特征在于,调用Planing算法,Planning将每个任务调度至AssignParent算法计算得到的相同资源上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910523877.1A CN110287011A (zh) | 2019-06-17 | 2019-06-17 | 一种基于局部路径与截止期限分配的云工作流调度算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910523877.1A CN110287011A (zh) | 2019-06-17 | 2019-06-17 | 一种基于局部路径与截止期限分配的云工作流调度算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110287011A true CN110287011A (zh) | 2019-09-27 |
Family
ID=68004359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910523877.1A Pending CN110287011A (zh) | 2019-06-17 | 2019-06-17 | 一种基于局部路径与截止期限分配的云工作流调度算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287011A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181656A (zh) * | 2020-09-30 | 2021-01-05 | 山东工商学院 | 一种数据密集型工作流调度方法及系统 |
CN113190336A (zh) * | 2021-05-19 | 2021-07-30 | 浙江中烟工业有限责任公司 | 一种基于有向无环图分层的工作流调度方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020184293A1 (en) * | 2001-04-20 | 2002-12-05 | Cheeniyil Lakshmi Kutty | System and method for managing a workflow process |
CN105068863A (zh) * | 2015-07-16 | 2015-11-18 | 福州大学 | 多云环境下带截止日期约束工作流的基于代价驱动调度方法 |
CN105260818A (zh) * | 2015-09-17 | 2016-01-20 | 福州大学 | 混合云环境下带截止日期约束工作流组的在线优化调度方法 |
CN108154317A (zh) * | 2018-01-25 | 2018-06-12 | 福建师范大学 | 多云环境下基于实例自适应分配整合的工作流组调度方法 |
-
2019
- 2019-06-17 CN CN201910523877.1A patent/CN110287011A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020184293A1 (en) * | 2001-04-20 | 2002-12-05 | Cheeniyil Lakshmi Kutty | System and method for managing a workflow process |
CN105068863A (zh) * | 2015-07-16 | 2015-11-18 | 福州大学 | 多云环境下带截止日期约束工作流的基于代价驱动调度方法 |
CN105260818A (zh) * | 2015-09-17 | 2016-01-20 | 福州大学 | 混合云环境下带截止日期约束工作流组的在线优化调度方法 |
CN108154317A (zh) * | 2018-01-25 | 2018-06-12 | 福建师范大学 | 多云环境下基于实例自适应分配整合的工作流组调度方法 |
Non-Patent Citations (2)
Title |
---|
JYOTI SAHNI: "A Cost-Effective Deadline-Constrained Dynamic Scheduling Algorithm for Scientific Workflows in a Cloud Environment", 《IEEE TRANSACTIONS ON CLOUD COMPUTING》 * |
SAEIDABRISHAMI: "Deadline-constrained workflow scheduling algorithms for Infrastructure as a Service Clouds", 《FUTURE GENERATION COMPUTER SYSTEMS》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181656A (zh) * | 2020-09-30 | 2021-01-05 | 山东工商学院 | 一种数据密集型工作流调度方法及系统 |
CN113190336A (zh) * | 2021-05-19 | 2021-07-30 | 浙江中烟工业有限责任公司 | 一种基于有向无环图分层的工作流调度方法及装置 |
CN113190336B (zh) * | 2021-05-19 | 2024-04-30 | 浙江中烟工业有限责任公司 | 一种基于有向无环图分层的工作流调度方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | On the performance of priority rules for the stochastic resource constrained multi-project scheduling problem | |
CN105068863B (zh) | 多云环境下带截止日期约束工作流的基于代价驱动调度方法 | |
CN101237469B (zh) | 运用蚁群算法优化多QoS网格工作流的方法 | |
CN108154317B (zh) | 多云环境下基于实例自适应分配整合的工作流组调度方法 | |
CN106055395A (zh) | 一种基于蚁群优化算法的云环境中截止时间约束工作流调度方法 | |
CN109960576A (zh) | 一种面向cpu-gpu异构的低能耗任务调度策略 | |
CN105260818A (zh) | 混合云环境下带截止日期约束工作流组的在线优化调度方法 | |
CN107656799B (zh) | 一种多云环境下考虑通信和计算代价的工作流调度方法 | |
CN110287011A (zh) | 一种基于局部路径与截止期限分配的云工作流调度算法 | |
CN108628665A (zh) | 基于数据密集型科学工作流的任务调度与虚拟机整合方法 | |
Genez et al. | Using time discretization to schedule scientific workflows in multiple cloud providers | |
Almi’ani et al. | On efficient resource use for scientific workflows in clouds | |
Faragardi et al. | An efficient scheduling of AUTOSAR runnables to minimize communication cost in multi-core systems | |
CN109298920A (zh) | 基于准划分思想的混合关键任务调度方法 | |
Biswas et al. | Multi-level queue for task scheduling in heterogeneous distributed computing system | |
CN103257900B (zh) | 减少cpu占用的多处理器上实时任务集资源预留方法 | |
Tariq et al. | Directed acyclic graph based task scheduling algorithm for heterogeneous systems | |
Almi'Ani et al. | Partitioning-based workflow scheduling in clouds | |
Almi'ani et al. | Resource demand aware scheduling for workflows in clouds | |
Li et al. | Scheduling microservice-based workflows to containers in on-demand cloud resources | |
He et al. | Dynamic scheduling of parallel real-time jobs by modelling spare capabilities in heterogeneous clusters | |
Chen et al. | Workflow scheduling in grids: an ant colony optimization approach | |
Ye et al. | Dynamic scheduling stochastic multiworkflows with deadline constraints in clouds | |
Li et al. | On scheduling of high-throughput scientific workflows under budget constraints in multi-cloud environments | |
Sun et al. | An improved budget-deadline constrained workflow scheduling algorithm on heterogeneous resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190927 |