科学工作流调度处理方法及装置制造方法

文档序号:6551365阅读:209来源:国知局
科学工作流调度处理方法及装置制造方法
【专利摘要】本发明公开了一种在网格环境下的科学工作流调度处理方法及装置,该方法包括如下步骤:查询作为目标的异构计算资源,记录每个异构计算资源的计算能力PCj;查询作为目标的工作流中所有可调度的任务;计算所有可调度的任务中的每个任务ti在可利用的第j个异构计算资源rj上的任务百分比p(ti,rj):ct(ti,rj)=ext(ti,rj)+rt(ti,rj);在获取的所有的任务百分比中,获取最大的任务百分比p(tm,rn),将对应的第m个任务tm调度到第n个异构计算资源rn上执行。本发明具有较好的资源负载平衡性,适应静态和动态环境,而且本身调度时间较短,总的执行时间较短,综合性能在现有的调度算法中较优。
【专利说明】科学工作流调度处理方法及装置
【【技术领域】】
[0001]本发明涉及数据处理领域,具体涉及科学工作流调度处理方法及装置。
【【背景技术】】
[0002]网格就是通过将大规模的、分散的、异构的计算资源、存储资源、数据资源等整合起来实现一个全球的为科学研究、商业运营等提供虚拟服务的网络基础设施。近些年来越来越多的科学领域例如生物医学、地理、天体物理等开始使用网格来进行学科内和学科间的大数据集的分享、管理与处理。在这种大数据、密集计算的环境下,科学工作流在网格中的应用显得越来越重要。采用科学工作流的主要目的在于可以将处理大数据的复杂过程模块化、不透明化,可以实现把需要多次计算、重复计算的过程简单地调用和复用,可以将一个大的工作流程分阶段化并且分配到不同的计算资源上实现并行化以减少时间提高效率。一个安排好的工作流可以根据既定的子工作块的依赖关系和资源分布实现过程执行的自动化,最大化节省资源和提高使用的满意度,因此工作流的调度问题成为网格计算中工作流管理应用的关键。调度即为将具有内部关联的不同任务映射到异构的资源上进行执行的过程。
[0003]在网格环境下一个科学工作流应用通常表不为一个有向无回路图(DirectedAcyclic Graph,缩写DAG),每个节点代表一个任务,图的边代表了各个任务间的依赖关系。节点的权重代表了任务的大小,边的权重代表了任务结束输出文件的大小。由于DAG调度问题是一个NP复杂度的问题,无法使用严格的数学推导得出最优的调度策略,目前国内外的众多学者提出了很多 启发式和元启发式算法。与此同时工作流的调度算法又可以分为两大类即基于尽力而为(Best-Effort)和基于服务质量控制(QoS_constraint)的调度算法。基于尽力而为的算法不考虑资源的金钱花费,竭尽全力实现最早完成执行任务或者最小化工作流的总体完成时间。基于服务质量控制的调度算法不仅考虑尽早完成任务同时考虑使用不同资源的物质花费,以达到不同网格用户的服务质量的要求。
[0004]在公共网格(或称社区网格)环境下,网格资源的使用主要集中在科学研究领域,为不同学科的科学家进行研究提供和支持,同时也可以为普通民众提供独立研究的平台。在该环境下科学工作流的调度算法主要采用基于尽力而为的调度算法,尽可能的为科学家或者民众提供好的资源服务。
[0005]目前在基于尽力而为调度算法方面已有一些比较成熟的算法,各有优缺点,使用的场景不尽相同。Myopic算法是一种最为简单的调度算法,每次任意调度一个可调度的任务到一个最优的资源上,但是结果往往总执行时间较长,资源负载平衡性不好;Min-Min算法每次在所有可执行的任务中执行具有最小预期执行时间的任务,分配到相应的资源,直到所有的任务调度完成,调度结果一般可以缩短总的执行时间但是在资源差异较大时,负载不均衡性较大,相应的总执行时间也会变长;Max-Min算法即是在Min-Min算法上进行改进,在执行过程中只是每次执行所有可执行任务具有最大预期执行时间的任务,并且将其映射到花费时间最小的资源上,负载均衡性好,但是在较少短任务较多长任务的情况下不如Min-Min算法。Sufferage算法寻找调度损失最大的任务优先执行,一般来说平衡性好,但是当在多集群环境下执行效果不好;DCP (Dynamic Critical Path,动态关键路径算法)首先要计算每个任务的最早开始时间与最晚开始时间,两者相等的任务认为是关键路径上的任务优先执行,一般该调度算法时间花费相比前几种较长,在不规则工作流情况下总执行时间也较长;遗传算法属于元启发式算法,需要在全局范围内搜索最优解,所以本身算法执行时间最长,有时因为适应度函数等条件设置不当会陷入局部最优点,导致效果不理想,而且动态特性较差,结果也不如以上几种算法。

【发明内容】

[0006]为了克服现有技术的不足,本发明提供了一种科学工作流调度处理方法及装置。
[0007]一种科学工作流调度处理方法,包括如下步骤:
[0008]S10,查询作为目标的异构计算资源,记录每个异构计算资源的计算能力?(:」,其中,PCj表示第j个异构计算资源的计算能力;
[0009]S20,查询作为目标的科学工作流中所有可调度的任务;
[0010]S30,计算所有可调度的任务中的每个任务\在可利用的第j个异构计算资源h上的任务百分比p(ti,rj):
【权利要求】
1.一种科学工作流调度处理方法,其特征是,包括如下步骤: S10,查询作为目标的异构计算资源,记录每个异构计算资源的计算能力PCp其中,PCj表示第j个异构计算资源的计算能力; S20,查询作为目标的科学工作流中所有可调度的任务; S30,计算所有可调度的任务中的每个任务\在可利用的第j个异构计算资源&上的任务百分比p(ti; rj):
2.如权利要求1所述的科学工作流调度处理方法,其特征是,在步骤S40之后还包括如下步骤: 若一个任务tx在不同的异构计算资源上的任务百分比相同,则优先将所述任务tx调度到所述不同的异构计算资源中的一个异构计算资源&上,其中在所述不同的异构计算资源中,所述任务tx在所述异构计算资源ry上的执行完成时间最小。
3.如权利要求1所述的科学工作流调度处理方法,其特征是,在步骤S40之后还包括如下步骤: 若存在不同的任务在一个异构计算资源上的任务百分比相同,则优先调度所述不同的任务中调度损失最大的一个任务tx,其中,所述调度损失是指任务在所有目标异构计算资源上的次小执行完成时间与最小执行完成时间的差值。
4.如权利要求1所述的科学工作流调度处理方法,其特征是,在步骤S30中:
rt (tj, Tj) = Max (art (tj, Tj), att (tj, Tj)); 其中,artayrp是指由于异构计算资源正在执行其他任务而需要任务\等待的第一等待时间^ttUi, 是指在任务&能被异构计算资源rj获取前任务&等待的第二等待时间。
5.如权利要求4所述的科学工作流调度处理方法,其特征是,在步骤SlO中还包括: 获取相邻异构计算资源之间的资源传输带宽; 根据任务\输出的从前一个异构计算资源输送至所述异构计算资源&的文件大小、以及所述前一个异构计算资源至所述异构计算资源h之间的资源传输带宽来计算第二等待时间 att (ti; rj)。
6.如权利要求4所述的科学工作流调度处理方法,其特征是, S50,在步骤S40之后,在调度完一个任务后,在所述所有可调度的任务中删除所述调度完的一个任务,继续执行步骤S30和步骤S40,直至所述所有可调度的任务被调度完。
7.—种科学工作流调度处理装置,其特征是,包括如下单元:第一处理单元,用于查询作为目标的异构计算资源,记录每个异构计算资源的计算能力PCj,其中,PCj表示第j个异构计算资源r」的计算能力; 第二处理单元,查询作为目标的科学工作流中所有可调度的任务; 第三处理单元,计算所有可调度的任务中的每个任务ti在可利用的第j个异构计算资源1^_上的任务百分比Pai,!^):
8.如权利要求7所述的科学工作流调度处理装置,其特征是: 还包括第五处理单元,用于若一个任务tx在不同的异构计算资源上的任务百分比相同,则优先将所述任务tx调度到所述不同的异构计算资源中的一个异构计算资源ty上,其中在所述不同的异构计算资源中,所述任务tx在所述异构计算资源ty上的执行完成时间最小。
9.如权利要求7所述的科学工作流调度处理装置,其特征是: 还包括第五处理单元,用于若存在不同的任务在一个异构计算资源上的任务百分比相同,则优先调度所述不同的任务中调度损失最大的一个任务tx,其中,所述调度损失是指任务在所有目标异构计算资源上的次小执行完成时间与最小执行完成时间的差值。
10.如权利要求7所述的科学工作流调度处理装置,其特征是: rt (tj, Tj) = Max (art (tj, Tj), att (tj, Tj)); 其中,artayrp是指由于异构计算资源正在执行其他任务而需要任务\等待的第一等待时间^ttUi, 是指在任务&能被异构计算资源rj获取前任务&等待的第二等待时间。
【文档编号】G06F9/50GK104035819SQ201410302064
【公开日】2014年9月10日 申请日期:2014年6月27日 优先权日:2014年6月27日
【发明者】李秀, 宋靖东 申请人:清华大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1