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

技术编号:10408619 阅读:171 留言:0更新日期:2014-09-10 17:56
本发明专利技术公开了一种在网格环境下的科学工作流调度处理方法及装置,该方法包括如下步骤:查询作为目标的异构计算资源,记录每个异构计算资源的计算能力PCj;查询作为目标的工作流中所有可调度的任务;计算所有可调度的任务中的每个任务ti在可利用的第j个异构计算资源rj上的任务百分比p(ti,rj):ct(ti,rj)=ext(ti,rj)+rt(ti,rj);在获取的所有的任务百分比中,获取最大的任务百分比p(tm,rn),将对应的第m个任务tm调度到第n个异构计算资源rn上执行。本发明专利技术具有较好的资源负载平衡性,适应静态和动态环境,而且本身调度时间较短,总的执行时间较短,综合性能在现有的调度算法中较优。

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

【技术保护点】
一种科学工作流调度处理方法,其特征是,包括如下步骤:S10,查询作为目标的异构计算资源,记录每个异构计算资源的计算能力PCj,其中,PCj表示第j个异构计算资源的计算能力;S20,查询作为目标的科学工作流中所有可调度的任务;S30,计算所有可调度的任务中的每个任务ti在可利用的第j个异构计算资源rj上的任务百分比p(ti,rj):p(ti,rj)=ext(ti,rj)ct(ti,rj)×PCjPC;]]>执行完成时间ct(ti,rj)=ext(ti,rj)+rt(ti,rj);其中,ext(ti,rj)是指第i个任务ti在第j个异构计算资源rj上的执行时间,rt(ti,rj)表示是指任务ti在异构计算资源rj开始执行前的等待时间,执行完成时间ct(ti,rj)是指任务ti在异构计算资源rj上的执行完成时间;PC是指所述作为目标的异构计算资源的计算能力中最高的计算能力;S40,在获取的所有的任务百分比中,获取最大的任务百分比p(tm,rn),将对应的第m个任务tm调度到第n个异构计算资源rn上执行。

【技术特征摘要】
1.一种科学工作流调度处理方法,其特征是,包括如下步骤:S10,查询作为目标的异构计算资源,记录每个异构计算资源的计算能力PCj,其中,PCj表示第j个异构计算资源的计算能力;S20,查询作为目标的科学工作流中所有可调度的任务;S30,计算所有可调度的任务中的每个任务ti在可利用的第j个异构计算资源rj上的任务百分比p(ti,rj):执行完成时间ct(ti,rj)=ext(ti,rj)+rt(ti,rj);其中,ext(ti,rj)是指第i个任务ti在第j个异构计算资源rj上的执行时间,rt(ti,rj)表示是指任务ti在异构计算资源rj开始执行前的等待时间,执行完成时间ct(ti,rj)是指任务ti在异构计算资源rj上的执行完成时间;PC是指所述作为目标的异构计算资源的计算能力中最高的计算能力;S40,在获取的所有的任务百分比中,获取最大的任务百分比p(tm,rn),将对应的第m个任务tm调度到第n个异构计算资源rn上执行。2.如权利要求1所述的科学工作流调度处理方法,其特征是,在步骤S40之后还包括如下步骤:若一个任务tx在不同的异构计算资源上的任务百分比相同,则优先将所述任务tx调度到所述不同的异构计算资源中的一个异构计算资源ry上,其中在所述不同的异构计算资源中,所述任务tx在所述异构计算资源ry上的执行完成时间最小。3.如权利要求1所述的科学工作流调度处理方法,其特征是,在步骤S40之后还包括如下步骤:若存在不同的任务在一个异构计算资源上的任务百分比相同,则优先调度所述不同的任务中调度损失最大的一个任务tx,其中,所述调度损失是指任务在所有目标异构计算资源上的次小执行完成时间与最小执行完成时间的差值。4.如权利要求1所述的科学工作流调度处理方法,其特征是,在步骤S30中:rt(ti,rj)=Max(art(ti,rj),att(ti,rj));其中,art(ti,rj)是指由于异构计算资源rj正在执行其他任务而需要任务ti等待的第一等待时间;att(ti,rj)是指在任务ti能被异构计算资源rj获取前任务ti等待的第二等待时间。5.如权利要求4所述的科学工作流调度处理方法,其特征是,在步骤S10中还包括:获取相邻异构计算资源之间的资源传输带宽;根据任务ti输出的从前一个异构计算资源输送至所述异构计算资源rj的文件大小、以及所述前一个异构计算资源至所述异构计算资源rj之间的资源传输带...

【专利技术属性】
技术研发人员:李秀宋靖东
申请(专利权)人:清华大学深圳研究生院
类型:发明
国别省市:广东;44

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

1