《科学工作流调度处理方法及装置.pdf》由会员分享,可在线阅读,更多相关《科学工作流调度处理方法及装置.pdf(10页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104035819 A (43)申请公布日 2014.09.10 C N 1 0 4 0 3 5 8 1 9 A (21)申请号 201410302064.7 (22)申请日 2014.06.27 G06F 9/48(2006.01) G06F 9/50(2006.01) (71)申请人清华大学深圳研究生院 地址 518055 广东省深圳市南山区西丽大学 城清华校区 (72)发明人李秀 宋靖东 (74)专利代理机构深圳新创友知识产权代理有 限公司 44223 代理人杨洪龙 (54) 发明名称 科学工作流调度处理方法及装置 (57) 摘要 本发明公开了一种在网格环境下的。
2、科学工 作流调度处理方法及装置,该方法包括如下步 骤:查询作为目标的异构计算资源,记录每个 异构计算资源的计算能力PC j ;查询作为目标 的工作流中所有可调度的任务;计算所有可调 度的任务中的每个任务t i 在可利用的第j个 异构计算资源r j 上的任务百分比p(t i ,r j ): ct(t i ,r j ) ext(t i ,r j )+rt(t i ,r j );在获取的所有的任务百分 比中,获取最大的任务百分比p(t m ,r n ),将对应的 第m个任务t m 调度到第n个异构计算资源r n 上执 行。本发明具有较好的资源负载平衡性,适应静态 和动态环境,而且本身调度时间较短,总。
3、的执行时 间较短,综合性能在现有的调度算法中较优。 (51)Int.Cl. 权利要求书2页 说明书5页 附图2页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书5页 附图2页 (10)申请公布号 CN 104035819 A CN 104035819 A 1/2页 2 1.一种科学工作流调度处理方法,其特征是,包括如下步骤: S10,查询作为目标的异构计算资源,记录每个异构计算资源的计算能力PC j ,其中,PC j 表示第j个异构计算资源的计算能力; S20,查询作为目标的科学工作流中所有可调度的任务; S30,计算所有可调度的任务中的每个任务t i 在可。
4、利用的第j个异构计算资源r j 上的 任务百分比p(t i ,r j ): 执行完成时间ct(t i ,r j )ext(t i ,r j )+rt(t i ,r j ); 其中,ext(t i ,r j )是指第i个任务t i 在第j个异构计算资源r j 上的执行时间,rt(t i , r j )表示是指任务t i 在异构计算资源r j 开始执行前的等待时间,执行完成时间ct(t i ,r j )是 指任务t i 在异构计算资源r j 上的执行完成时间;PC是指所述作为目标的异构计算资源的 计算能力中最高的计算能力; S40,在获取的所有的任务百分比中,获取最大的任务百分比p(t m ,r 。
5、n ),将对应的第m个 任务t m 调度到第n个异构计算资源r n 上执行。 2.如权利要求1所述的科学工作流调度处理方法,其特征是,在步骤S40之后还包括如 下步骤: 若一个任务t x 在不同的异构计算资源上的任务百分比相同,则优先将所述任务t x 调度 到所述不同的异构计算资源中的一个异构计算资源r y 上,其中在所述不同的异构计算资源 中,所述任务t x 在所述异构计算资源r y 上的执行完成时间最小。 3.如权利要求1所述的科学工作流调度处理方法,其特征是,在步骤S40之后还包括如 下步骤: 若存在不同的任务在一个异构计算资源上的任务百分比相同,则优先调度所述不同的 任务中调度损失最大。
6、的一个任务t x ,其中,所述调度损失是指任务在所有目标异构计算资 源上的次小执行完成时间与最小执行完成时间的差值。 4.如权利要求1所述的科学工作流调度处理方法,其特征是,在步骤S30中: rt(t i ,r j )Max(art(t i ,r j ),att(t i ,r j ); 其中,art(t i ,r j )是指由于异构计算资源r j 正在执行其他任务而需要任务t i 等待的第 一等待时间;att(t i ,r j )是指在任务t i 能被异构计算资源r j 获取前任务t i 等待的第二等 待时间。 5.如权利要求4所述的科学工作流调度处理方法,其特征是,在步骤S10中还包括: 获。
7、取相邻异构计算资源之间的资源传输带宽; 根据任务t i 输出的从前一个异构计算资源输送至所述异构计算资源r j 的文件大小、以 及所述前一个异构计算资源至所述异构计算资源r j 之间的资源传输带宽来计算第二等待 时间att(t i ,r j )。 6.如权利要求4所述的科学工作流调度处理方法,其特征是, S50,在步骤S40之后,在调度完一个任务后,在所述所有可调度的任务中删除所述调 度完的一个任务,继续执行步骤S30和步骤S40,直至所述所有可调度的任务被调度完。 7.一种科学工作流调度处理装置,其特征是,包括如下单元: 权 利 要 求 书CN 104035819 A 2/2页 3 第一处理。
8、单元,用于查询作为目标的异构计算资源,记录每个异构计算资源的计算能 力PC j ,其中,PC j 表示第j个异构计算资源r j 的计算能力; 第二处理单元,查询作为目标的科学工作流中所有可调度的任务; 第三处理单元,计算所有可调度的任务中的每个任务t i 在可利用的第j个异构计算资 源r j 上的任务百分比p(t i ,r j ): 执行完成时间ct(t i ,r j )ext(t i ,r j )+rt(t i ,r j ); 其中,ext(t i ,r j )是指第i个任务t i 在第j个异构计算资源r j 上的执行时间,rt(t i , r j )表示是指任务t i 在异构计算资源r j。
9、 开始执行前的等待时间,执行完成时间ct(t i ,r j )任 务t i 在异构计算资源r j 上的执行完成时间;PC是指所述作为目标的异构计算资源的计算 能力中最高的计算能力; 第四处理单元,获取所有的任务百分比中,获取最大的任务百分比p(t m ,r n ),将对应的 第m个任务t m 调度到第n个异构计算资源r n 上执行。 8.如权利要求7所述的科学工作流调度处理装置,其特征是: 还包括第五处理单元,用于若一个任务t x 在不同的异构计算资源上的任务百分比相 同,则优先将所述任务t x 调度到所述不同的异构计算资源中的一个异构计算资源t y 上,其 中在所述不同的异构计算资源中,所述。
10、任务t x 在所述异构计算资源t y 上的执行完成时间最 小。 9.如权利要求7所述的科学工作流调度处理装置,其特征是: 还包括第五处理单元,用于若存在不同的任务在一个异构计算资源上的任务百分比相 同,则优先调度所述不同的任务中调度损失最大的一个任务t x ,其中,所述调度损失是指任 务在所有目标异构计算资源上的次小执行完成时间与最小执行完成时间的差值。 10.如权利要求7所述的科学工作流调度处理装置,其特征是: rt(t i ,r j )Max(art(t i ,r j ),att(t i ,r j ); 其中,art(t i ,r j )是指由于异构计算资源r j 正在执行其他任务而需要任。
11、务t i 等待的第 一等待时间;att(t i ,r j )是指在任务t i 能被异构计算资源r j 获取前任务t i 等待的第二等 待时间。 权 利 要 求 书CN 104035819 A 1/5页 4 科学工作流调度处理方法及装置 【 技术领域 】 0001 本发明涉及数据处理领域,具体涉及科学工作流调度处理方法及装置。 【 背景技术 】 0002 网格就是通过将大规模的、分散的、异构的计算资源、存储资源、数据资源等整合 起来实现一个全球的为科学研究、商业运营等提供虚拟服务的网络基础设施。近些年来越 来越多的科学领域例如生物医学、地理、天体物理等开始使用网格来进行学科内和学科间 的大数据集。
12、的分享、管理与处理。在这种大数据、密集计算的环境下,科学工作流在网格中 的应用显得越来越重要。采用科学工作流的主要目的在于可以将处理大数据的复杂过程模 块化、不透明化,可以实现把需要多次计算、重复计算的过程简单地调用和复用,可以将一 个大的工作流程分阶段化并且分配到不同的计算资源上实现并行化以减少时间提高效率。 一个安排好的工作流可以根据既定的子工作块的依赖关系和资源分布实现过程执行的自 动化,最大化节省资源和提高使用的满意度,因此工作流的调度问题成为网格计算中工作 流管理应用的关键。调度即为将具有内部关联的不同任务映射到异构的资源上进行执行的 过程。 0003 在网格环境下一个科学工作流应用。
13、通常表示为一个有向无回路图(Directed Acyclic Graph,缩写DAG),每个节点代表一个任务,图的边代表了各个任务间的依赖关系。 节点的权重代表了任务的大小,边的权重代表了任务结束输出文件的大小。由于DAG调度 问题是一个NP复杂度的问题,无法使用严格的数学推导得出最优的调度策略,目前国内外 的众多学者提出了很多启发式和元启发式算法。与此同时工作流的调度算法又可以分为两 大类即基于尽力而为(Best-Effort)和基于服务质量控制(QoS-constraint)的调度算法。 基于尽力而为的算法不考虑资源的金钱花费,竭尽全力实现最早完成执行任务或者最小化 工作流的总体完成时间。。
14、基于服务质量控制的调度算法不仅考虑尽早完成任务同时考虑使 用不同资源的物质花费,以达到不同网格用户的服务质量的要求。 0004 在公共网格(或称社区网格)环境下,网格资源的使用主要集中在科学研究领域, 为不同学科的科学家进行研究提供和支持,同时也可以为普通民众提供独立研究的平台。 在该环境下科学工作流的调度算法主要采用基于尽力而为的调度算法,尽可能的为科学家 或者民众提供好的资源服务。 0005 目前在基于尽力而为调度算法方面已有一些比较成熟的算法,各有优缺点,使用 的场景不尽相同。Myopic算法是一种最为简单的调度算法,每次任意调度一个可调度的任 务到一个最优的资源上,但是结果往往总执行时。
15、间较长,资源负载平衡性不好;Min-Min算 法每次在所有可执行的任务中执行具有最小预期执行时间的任务,分配到相应的资源,直 到所有的任务调度完成,调度结果一般可以缩短总的执行时间但是在资源差异较大时,负 载不均衡性较大,相应的总执行时间也会变长;Max-Min算法即是在Min-Min算法上进行改 进,在执行过程中只是每次执行所有可执行任务具有最大预期执行时间的任务,并且将其 映射到花费时间最小的资源上,负载均衡性好,但是在较少短任务较多长任务的情况下不 说 明 书CN 104035819 A 2/5页 5 如Min-Min算法。Sufferage算法寻找调度损失最大的任务优先执行,一般来说平。
16、衡性好, 但是当在多集群环境下执行效果不好;DCP(Dynamic Critical Path,动态关键路径算法) 首先要计算每个任务的最早开始时间与最晚开始时间,两者相等的任务认为是关键路径上 的任务优先执行,一般该调度算法时间花费相比前几种较长,在不规则工作流情况下总执 行时间也较长;遗传算法属于元启发式算法,需要在全局范围内搜索最优解,所以本身算法 执行时间最长,有时因为适应度函数等条件设置不当会陷入局部最优点,导致效果不理想, 而且动态特性较差,结果也不如以上几种算法。 【 发明内容 】 0006 为了克服现有技术的不足,本发明提供了一种科学工作流调度处理方法及装置。 0007 一种科。
17、学工作流调度处理方法,包括如下步骤: 0008 S10,查询作为目标的异构计算资源,记录每个异构计算资源的计算能力PC j ,其 中,PC j 表示第j个异构计算资源的计算能力; 0009 S20,查询作为目标的科学工作流中所有可调度的任务; 0010 S30,计算所有可调度的任务中的每个任务t i 在可利用的第j个异构计算资源r j 上的任务百分比p(t i ,r j ): 0011 0012 执行完成时间ct(t i ,r j )ext(t i ,r j )+rt(t i ,r j ); 0013 其中,ext(t i ,r j )是指第i个任务t i 在第j个异构计算资源r j 上的执行。
18、时间, rt(t i ,r j )表示是指任务t i 在异构计算资源r j 开始执行前的等待时间,执行完成时间ct(t i , r j )是指任务t i 在异构计算资源r j 上的执行完成时间;PC是指所述作为目标的异构计算资 源的计算能力中最高的计算能力; 0014 S40,在获取的所有的任务百分比中,获取最大的任务百分比p(t m ,r n ),将对应的第 m个任务t m 调度到第n个异构计算资源r n 上执行。 0015 在一个实施例中,在步骤S40之后还包括如下步骤: 0016 若一个任务t x 在不同的异构计算资源上的任务百分比相同,则优先将所述任务t x 调度到所述不同的异构计算资。
19、源中的一个异构计算资源r y 上,其中在所述不同的异构计算 资源中,所述任务t x 在所述异构计算资源r y 上的执行完成时间最小。 0017 在一个实施例中,在步骤S40之后还包括如下步骤: 0018 若存在不同的任务在一个异构计算资源上的任务百分比相同,则优先调度所述不 同的任务中调度损失最大的一个任务t x ,其中,所述调度损失是指任务在所有目标异构计 算资源上的次小执行完成时间与最小执行完成时间的差值。 0019 在一个实施例中,在步骤S30中: 0020 rt(t i ,r j )Max(art(t i ,r j ),att(t i ,r j ); 0021 其中,art(t i ,。
20、r j )是指由于异构计算资源r j 正在执行其他任务而需要任务t i 等待 的第一等待时间;att(t i ,r j )是指在任务t i 能被异构计算资源r j 获取前任务t i 等待的第 二等待时间。 0022 在一个实施例中,在步骤S10中还包括: 说 明 书CN 104035819 A 3/5页 6 0023 获取相邻异构计算资源之间的资源传输带宽; 0024 根据任务t i 输出的从前一个异构计算资源输送至所述异构计算资源r j 的文件大 小、以及所述前一个异构计算资源至所述异构计算资源r j 之间的资源传输带宽来计算第二 等待时间att(t i ,r j )。 0025 在一个实施。
21、例中,S50,在步骤S40之后,在调度完一个任务后,在所述所有可调度 的任务中删除所述调度完的一个任务,继续执行步骤S30和步骤S40,直至所述所有可调度 的任务被调度完。 0026 本发明还提供了一种科学工作流调度处理装置,包括如下单元: 0027 第一处理单元,用于查询作为目标的异构计算资源,记录每个异构计算资源的计 算能力PC j ,其中,PC j 表示第j个异构计算资源r j 的计算能力; 0028 第二处理单元,查询作为目标的科学工作流中所有可调度的任务; 0029 第三处理单元,计算所有可调度的任务中的每个任务t i 在可利用的第j个异构计 算资源r j 上的任务百分比p(t i 。
22、,r j ): 0030 0031 执行完成时间ct(t i ,r j )ext(t i ,r j )+rt(t i ,r j ); 0032 其中,ext(t i ,r j )是指第i个任务t i 在第j个异构计算资源r j 上的执行时间, rt(t i ,r j )表示是指任务t i 在异构计算资源r j 开始执行前的等待时间,执行完成时间ct(t i , r j )任务t i 在异构计算资源r j 上的执行完成时间;PC是指所述作为目标的异构计算资源的 计算能力中最高的计算能力; 0033 第四处理单元,获取所有的任务百分比中,获取最大的任务百分比p(t m ,r n ),将对 应的第m。
23、个任务t m 调度到第n个异构计算资源r n 上执行。 0034 在一个实施例中,还包括第五处理单元,用于若一个任务t x 在不同的异构计算资 源上的任务百分比相同,则优先将所述任务t x 调度到所述不同的异构计算资源中的一个异 构计算资源r y 上,其中在所述不同的异构计算资源中,所述任务t x 在所述异构计算资源r y 上的执行完成时间最小。 0035 在一个实施例中,还包括第五处理单元,用于若存在不同的任务在一个异构计算 资源上的任务百分比相同,则优先调度所述不同的任务中调度损失最大的一个任务t x ,其 中,所述调度损失是指任务在所有目标异构计算资源上的次小执行完成时间与最小执行完 成。
24、时间的差值。 0036 在一个实施例中,rt(t i ,r j )Max(art(t i ,r j ),att(t i ,r j ); 0037 其中,art(t i ,r j )是指由于异构计算资源r j 正在执行其他任务而需要任务t i 等待 的第一等待时间;att(t i ,r j )是指在任务t i 能被异构计算资源r j 获取前任务t i 等待的第 二等待时间。 0038 在本发明的实施例中,整合了科学工作流中所有任务信息和异构计算资源的信 息,通过计算并行任务在不同异构计算资源所占任务百分比完成调度任务,使调度处理方 法的整体性能更佳。与传统的调度算法相比,本发明的实施例充分考虑到。
25、异构资源的差异 性,尽可能实现异构资源负载的均衡性,并且通过调度处理方法的设计并行化缩短每个资 源上的使用时间,以达到缩短整个科学工作流的执行时间。本发明的实施例的科学工作流 说 明 书CN 104035819 A 4/5页 7 调度处理方法能在各种类型的科学工作流执行系统中缩短科学工作流总的执行时间,具有 较好的资源负载平衡性,适应静态和动态环境,而且本身调度时间较短,综合性能在现有的 调度算法中较优。 【 附图说明 】 0039 图1是本发明一种实施例的科学工作流模型展示图; 0040 图2是本发明一种实施例的科学工作流的应用示例图; 0041 图3是本发明一种实施例的科学工作流调度处理方。
26、法流程框图。 【 具体实施方式 】 0042 以下对发明的较佳实施例作进一步详细说明。 0043 如图1所示,图形表示的是科学工作流与网格异构计算资源的映射关系。科学工 作流的调度即,使不同的任务映射到不同的异构计算资源上进行执行的过程。 0044 如图2所示,是一个科学工作流的有向无环路图,每个圆圈代表一个节点,每个节 点代表科学工作流中的一个任务,这些节点构成任务集合TT0,T 1 ,T 2 ,T 3 ,T i ,每个 节点旁边的数字标明了对应任务的大小,任务的大小可以使用MI(million instructions, 百万指令)表示,例如任务T0和T1的大小分别为300000和2500。
27、000等。假设每个任务输 出文件大小为1GB(GigaByte,十亿字节)。图中箭头关系代表了任务之间的依赖关系,箭头 出发端的任务为父任务,箭头指向端的任务为子任务,初始任务无父任务,结束任务无子任 务。科学工作流的执行按照箭头指向顺序执行,父任务未结束,子任务不可开始执行。异构 计算资源构成异构计算资源集合Rr 1 ,r 2 ,r 3 , r j (图中未标出),第j个异构计算 资源r j 的指令处理速率为PC j ,传输带宽为BW j (定义为异构计算资源r j 向相邻的下一个异 构计算资源的资源传输带宽)。 0045 如图3所示,一种工作流调度处理方法,包括如下步骤: 0046 S10。
28、,查询作为目标的异构计算资源,记录每个异构计算资源的计算能力PC j ,以及 相邻的异构计算资源之间的资源传输带宽BW j ,其中,PC j 表示第j个异构计算资源的计算能 力,并记录其中计算能力最好的异构计算资源,该最好的计算能力为PC。 0047 S20,查询作为目标的工作流中所有可调度的任务;查询工作流中所有任务T,查 找所有可调度的任务(可调度的任务是指,即其父任务都已调用安排完毕),将所有可调度 的任务存入可调度任务列表avaT中,并且记录总的可调度任务数S,如果可调度任务数S为 空则结束调度。 0048 S30,在可调度任务列表avaT中的所有可调度的任务中,计算每个任务t i 在。
29、可利 用的第j个异构计算资源r j 上的任务百分比p(t i ,r j ): 0049 0050 执行完成时间ct(t i ,r j )ext(t i ,r j )+rt(t i ,r j ); 0051 其中,ext(t i ,r j )是指第i个任务t i 在第j个异构计算资源r j 上的执行时间(即 从执行任务t i 开始至执行任务t i 结束的时长),rt(t i ,r j )表示是指任务t i 在异构计算资 源r j 开始执行前的等待时间,执行完成时间ct(t i ,r j )是指任务t i 在异构计算资源r j 上 说 明 书CN 104035819 A 5/5页 8 的执行完成时。
30、间;PC是指所述作为目标的异构计算资源的计算能力中最高的计算能力;其 中, 0052 rt(t i ,r j )Max(art(t i ,r j ),att(t i ,r j ),art(t i ,r j )是指由于异构计算资源r j 正在执行其他任务而需要任务t i 等待的第一等待时间,也就是说异构计算资源r j 要经过第 一等待时间art(t i ,r j )才能出现空闲;att(t i ,r j )是指在任务t i 能被异构计算资源r j 获 取前任务t i 等待的第二等待时间,也即是说,任务t i 的父任务正在被前一个异构计算资源 执行,或者任务t i 的父任务输出的文件正向异构计算资。
31、源r j 传送当中。不同的资源传输时 间不同,如果父任务与子任务在同一资源上则传输时间记为0,如果父任务与子任务不再同 一资源上则传输时间记为父任务输出文件的大小比上父任务所在资源的带宽大小。 0053 S40,在获取的所有的任务百分比中,获取最大的任务百分比p(t m ,r n ),将对应的第 m个任务t m 调度到第n个异构计算资源r n 上执行。 0054 若同一个任务t x 在不同的异构计算资源上的任务百分比相同,则优先将所述任务 t x 调度到所述不同的异构计算资源中的一个异构计算资源r y 上,其中在所述不同的异构计 算资源中,所述任务t x 在所述异构计算资源r y 上的执行完成。
32、时间最小。 0055 若存在不同的任务在一个异构计算资源上的任务百分比相同,则优先调度所述不 同的任务中调度损失最大的一个任务t x ,其中,所述调度损失是指任务在所有目标异构计 算资源上的次小执行完成时间与最小执行完成时间的差值。 0056 S50,在调度完一个任务后,在可调度任务列表avaT中删除所述调度完的任务,并 且可调度任务数S自减1,如果可调度任务数S为0则跳回步骤S20,寻找新的可调度的任 务;如果可调度任务数S不为零,继续执行步骤S30和步骤S40,直至所述所有可调度的任 务被调度完。 0057 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定 本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在 不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明由 所提交的权利要求书确定的专利保护范围。 说 明 书CN 104035819 A 1/2页 9 图1 图2 说 明 书 附 图CN 104035819 A 2/2页 10 图3 说 明 书 附 图CN 104035819 A 10 。