CN103336713A - 一种基于任务复制与聚簇的并行任务分配方法 - Google Patents
一种基于任务复制与聚簇的并行任务分配方法 Download PDFInfo
- Publication number
- CN103336713A CN103336713A CN2013102452013A CN201310245201A CN103336713A CN 103336713 A CN103336713 A CN 103336713A CN 2013102452013 A CN2013102452013 A CN 2013102452013A CN 201310245201 A CN201310245201 A CN 201310245201A CN 103336713 A CN103336713 A CN 103336713A
- Authority
- CN
- China
- Prior art keywords
- clustering
- task
- replicating
- limit
- critical path
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于任务复制与聚簇的并行任务分配方法,其特征在于:初始化并对子节点无约束类节点进行复制;应用DCPEZ过程,依据为聚簇的调度不增加原则,对任务进行聚簇,在聚簇关系的基础上对其余可复制节点进行复制;得到最终复制聚簇结果。本发明具有以下优点:PTDADC方法依据调度长度不增加原则,发展了子节点无约束复制的调度长度不增加定理、子结点带约束复制的调度长度不增加原则、动态关键路径聚簇的调度长度不增加原则,从而缩短了任务的执行时间。PTDADC方法遵循了最小化聚簇与复制的原则,减少了处理器的需求数量。
Description
技术领域
本发明属于分布与并行计算机领域的并行任务分配,涉及一种基于任务复制与聚簇的并行任务分配方法。
背景技术
在多处理器系统上需要将任务按照一定的规则和约束分配到相应的计算机或处理器中,任务的不恰当分配会使系统真正的潜在计算能力不能被开发出来,而且可能会抵消由并行所带来的利益。
如图1,一个典型的计算机任务模型实例:
在这个实例中包含任务n1,n2,n3,n4,n5,n6,n7,n8。其中,任务n2,n3依赖于任务n1的完成;n4,n5依赖于任务n3;n6依赖于任务n4,n5的完成;n7依赖于任务n5的完成;n8依赖于任务n2,n6,n7的完成。n2,n3可以并行计算n4,n5可以并行计算;n6,n7可以并行计算。
对于这类任务模型,如何把任务分配到计算资源上,以获得优选的计算时间,是一个很重要的问题。
目前,解决该问题的方法主要包括基于任务复制的分配、基于优先级列表的分配和基于簇的分配三类。基于任务复制(TDB,Task Duplication Based)的分配算法通常要优于基于优先级列表和基于簇的分配算法。TDB算法的理论基础是采取以空间换时间的策略,通过冗余分配任务到多个资源以减少通信开销,从而减少总的调度长度。如何准确地确定应被复制的重要任务是获得较短调度的关键,各种TDB算法的主要区别也正在于此。TDB算法以TDS和OSA算法最优也最具代表性。TDS的主要算法思想是:将DAG图中join节点与其友好前驱节点分配到同一处理器,以降低并行执行时间。OSA算法去掉了TDS算法中的约束限制条件,是对TDS算法的一个改进算法,它允许join节点与其多个前驱节点分配到同一处理器,以尽量缩短任务的执行时间。
上述算法中,TDS算法不允许多个父任务和子任务分配到同一处理器,使子任务难以获得较好的最早开始时间。OSA算法将尽可能多的父任务和子任务分配到同一处理器,尽管当前任务能获得最小的最早开始时间,却限制了其子孙或祖先任务的调度,制约了调度长度优化。另外,TDS算法未考虑处理器数目的优化,较多地占用了资源。
发明内容
要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种基于任务复制与聚簇的并行任务分配方法,使调度长度最小、减少处理机数目。
技术方案
一种基于任务复制与聚簇的并行任务分配方法,其特征在于步骤如下:
步骤1:初始化并对子节点无约束类节点进行复制;
步骤2:应用DCPEZ过程,依据为聚簇的调度不增加原则,对任务进行聚簇,
步骤3:在聚簇关系的基础上对其余可复制节点进行复制;
步骤4:重复步骤2,得到最终复制聚簇结果;
所述DCPEZ步骤如下:
步骤1)初始化每条边均为“未被访问过”;
步骤2)扫描此刻的DAG,找出那些至少含有一条未被访问边的关键路径,否则找出那些至少含有一条未被访问边的次关键路径;
步骤3)把关键路径上边的权值按降序进行排列;
步骤4)从被选择的DCP上挑选一条未被访问的具有最大权值的边,如果这样的边不止一条,那么则按如下的规则选取:如果cij=cki并且tni<tnk,那么选择边eij,把这条边设置为“访问过”的标志;如果把这条边的权值赋为0能够满足如下条件,也就是此赋0操作不会产生另外一条不同的关键路径,它的长度不会等于甚至大于当前关键路径的长度。合并这两个簇;重复此步骤直到此DCP上的所有边都己经访问过;
步骤5)对赋0操作产生簇中的多复制节点进行单一化处理;
循环执行步骤2)~步骤5),直到DAG上的所有边都已经被访问过;
步骤6)检查这些不同的簇,看它们是否还能够进一步合并但不会增加程序的并行执行时间。若合并再进行下单一化处理。
有益效果
本发明提出的一种基于任务复制与聚簇的并行任务分配方法,具有以下优点:
1)更短的调度长度
PTDADC方法依据调度长度不增加原则,发展了子节点无约束复制的调度长度不增加定理、子结点带约束复制的调度长度不增加原则、动态关键路径聚簇的调度长度不增加原则,从而缩短了任务的执行时间。
2)更少的处理器环境
PTDADC方法遵循了最小化聚簇与复制的原则,减少了处理器的需求数量。
附图说明
图1为DAG图
图2为一种基于任务复制与聚簇的并行任务分配方法的流程图
图3为任务复制情况图
图4为DCPEZ算法的流程图
图5为实施例的PTDADC分配结果
具体实施方式
现结合实施例、附图对本发明作进一步描述:
针对图2所示的DAG图,运用PTDADC算法进行任务分配。
按照步骤一:进行初始化过程,对子节点无约束类节点进行复制。按图3所示,任务约束分为两种情况:
1)U1为空且U2为空,这是最简单的一种情形,将nm对所有后继进行复制得到最优的调度长度。
2)U1不为空且U2为空,这种情况又分为三种子情况:
①U1为簇内约束,不可能脱离nm所在簇对其进行复制,设簇执行时间为t,此时调度长度SL=t+max(τk+Cmk)≥t+max(τk),k=i,i+1,…,j。为使得调度长度减小需要对nm所在簇进行复制。
②U1为簇外约束,此时调度长度SL=τm+max(τk+Cmk)≥τm+max(τk),k=i,i+1,…,j。为使得调度长度减小需要对nm进行复制。
③U1包含簇内簇外双重约束,复制策略同①。
本例中根据情形1)的分析,将节点n1进行复制;根据情形2)的分析,在n1复制的基础上,对n1、n3进行复制。
按照步骤二:初始化每条边为“未标记过”,找出关键路径为(n1,n2,n8),挑选出一条未被访问的具有最大权值的边为(n1,n2),对其进行赋0操作;接着,找出关键路径为(n1,n3,n4,n6,n8),挑选出一条未被访问的具有最大权值的边为(n3,n4),对其进行赋0操作;找出关键路径为(n1,n3,n5,n7,n8),挑选出一条未被访问的具有最大权值的边为(n3,n5),对其进行赋0操作;找出关键路径为(n1,n3,n5,n7,n8),挑选出一条未被访问的具有最大权值的边为(n3,n5,n7),对其进行赋0操作;找出关键路径为(n1,n2,n8),挑选出一条未被访问的具有最大权值的边为(n2,n8),对其进行赋0操作;找出关键路径为(n1,n3,n4,n6,n8),挑选出一条未被访问的具有最大权值的边为(n4,n6),对其进行赋0操作;找出关键路径为(n1,n3,n5,n7,n8),挑选出一条未被访问的具有最大权值的边为(n1,n3),对其进行赋0操作;找出关键路径为(n1,n3,n4,n6,n8),挑选出一条未被访问的具有最大权值的边为(n1,n3),对其进行赋0操作;这时所有边都被访问过了。
按照步骤三:在聚簇关系的基础上对其余可复制节点进行复制。按图2所示的任务约束情况,增加3)、4)情形的复制分析如下:
3)U1为空且U2不为空。此时的复制需要针对不同的后继节点,以后继节点i为例同样有如下三种子情况:
①U2为簇内约束,设簇内其他先于nm的任务执行时间为t1,此时调度长度SL=max(τm+τi+Cmi,t1+τi)。当时,复制对Cmi的减小不会使得调度长度变小,因而τm+Cmi<t1时,不进行复制。当τm+τi+Cmi≥t1+τi时,不复制的调度长度为τm+τi+Cmi,进行复制的调度长度为τm+τi+t1,仍然需要分情况讨论:当时,即复制造成的通信减小足以弥补复制带来的计算增加时,复制;当τm+τi+Cmi≤τm+τi+t1,即复制造成的通信减小不足以弥补复制带来的计算增加时,不进行复制。
②U2为簇外约束,此时调度长度SL=τm+τi+Cmi>τm+τi。为了使得调度长度减小需要对nm进行复制。
③U2包含簇内簇外双重约束,复制策略同①。
4)U1为不空且U2不为空。参照情形3)判断是否进行复制,再参照情形2)判断复制的范围。
剩余的可复制节点为n5,对于此节点,复制造成的通信减小不足以弥补复制带来的计算增加,因此不需要进行复制。
按照步骤四:对已完成复制和部分聚簇的DAG进行最后的聚簇操作。经检查这些不同的簇,发现不能够进一步合并。同时对赋0操作产生簇中的多复制节点进行单一化处理,最终结果如图5所示。
Claims (1)
1.一种基于任务复制与聚簇的并行任务分配方法,其特征在于步骤如下:
步骤1:初始化并对子节点无约束类节点进行复制;
步骤2:应用DCPEZ过程,依据为聚簇的调度不增加原则,对任务进行聚簇,
步骤3:在聚簇关系的基础上对其余可复制节点进行复制;
步骤4:重复步骤2,得到最终复制聚簇结果;
所述DCPEZ步骤如下:
步骤1)初始化每条边均为“未被访问过”;
步骤2)扫描此刻的DAG,找出那些至少含有一条未被访问边的关键路径,否则找出那些至少含有一条未被访问边的次关键路径;
步骤3)把关键路径上边的权值按降序进行排列;
步骤4)从被选择的DCP上挑选一条未被访问的具有最大权值的边,如果这样的边不止一条,那么则按如下的规则选取:如果cij=cki并且tni<tnk,那么选择边eij,把这条边设置为“访问过”的标志;如果把这条边的权值赋为0能够满足如下条件,也就是此赋0操作不会产生另外一条不同的关键路径,它的长度不会等于甚至大于当前关键路径的长度。合并这两个簇;重复此步骤直到此DCP上的所有边都己经访问过;
步骤5)对赋0操作产生簇中的多复制节点进行单一化处理;
循环执行步骤2)~步骤5),直到DAG上的所有边都已经被访问过;
步骤6)检查这些不同的簇,看它们是否还能够进一步合并但不会增加程序的并行执行时间。若合并再进行下单一化处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102452013A CN103336713A (zh) | 2013-06-19 | 2013-06-19 | 一种基于任务复制与聚簇的并行任务分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102452013A CN103336713A (zh) | 2013-06-19 | 2013-06-19 | 一种基于任务复制与聚簇的并行任务分配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103336713A true CN103336713A (zh) | 2013-10-02 |
Family
ID=49244888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102452013A Pending CN103336713A (zh) | 2013-06-19 | 2013-06-19 | 一种基于任务复制与聚簇的并行任务分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103336713A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108885776A (zh) * | 2016-03-24 | 2018-11-23 | 富士胶片株式会社 | 图像处理装置、图像处理方法及图像处理程序 |
CN108897625A (zh) * | 2018-07-06 | 2018-11-27 | 陈霖 | 基于dag模型的并行调度方法 |
CN111966479A (zh) * | 2020-08-19 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 业务处理、风险识别业务处理方法、装置及电子设备 |
CN112308304A (zh) * | 2020-10-22 | 2021-02-02 | 西北工业大学 | 工作流执行时间优化方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6097886A (en) * | 1998-02-17 | 2000-08-01 | Lucent Technologies Inc. | Cluster-based hardware-software co-synthesis of heterogeneous distributed embedded systems |
US20100287280A1 (en) * | 2009-05-08 | 2010-11-11 | Gal Sivan | System and method for cloud computing based on multiple providers |
CN102193826A (zh) * | 2011-05-24 | 2011-09-21 | 哈尔滨工程大学 | 一种异构多核处理器高效任务调度方法 |
CN102231122A (zh) * | 2011-07-13 | 2011-11-02 | 武汉理工大学 | 一种集群环境中基于分簇的节能调度方法 |
US20130067493A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Deployment of pre-scheduled tasks in clusters |
CN103019822A (zh) * | 2012-12-07 | 2013-04-03 | 北京邮电大学 | 一种云环境下收益驱动的大规模处理任务调度方法 |
-
2013
- 2013-06-19 CN CN2013102452013A patent/CN103336713A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6097886A (en) * | 1998-02-17 | 2000-08-01 | Lucent Technologies Inc. | Cluster-based hardware-software co-synthesis of heterogeneous distributed embedded systems |
US20100287280A1 (en) * | 2009-05-08 | 2010-11-11 | Gal Sivan | System and method for cloud computing based on multiple providers |
CN102193826A (zh) * | 2011-05-24 | 2011-09-21 | 哈尔滨工程大学 | 一种异构多核处理器高效任务调度方法 |
CN102231122A (zh) * | 2011-07-13 | 2011-11-02 | 武汉理工大学 | 一种集群环境中基于分簇的节能调度方法 |
US20130067493A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Deployment of pre-scheduled tasks in clusters |
CN103019822A (zh) * | 2012-12-07 | 2013-04-03 | 北京邮电大学 | 一种云环境下收益驱动的大规模处理任务调度方法 |
Non-Patent Citations (1)
Title |
---|
陈志刚 等: "EZDCP:A new static task scheduling algorithm with edge-zeroing based on dynamic critical paths", 《J.CENT.SOUTH UNIV.TECHNOL》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108885776A (zh) * | 2016-03-24 | 2018-11-23 | 富士胶片株式会社 | 图像处理装置、图像处理方法及图像处理程序 |
CN108897625A (zh) * | 2018-07-06 | 2018-11-27 | 陈霖 | 基于dag模型的并行调度方法 |
CN111966479A (zh) * | 2020-08-19 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 业务处理、风险识别业务处理方法、装置及电子设备 |
CN111966479B (zh) * | 2020-08-19 | 2024-03-29 | 支付宝(杭州)信息技术有限公司 | 业务处理、风险识别业务处理方法、装置及电子设备 |
CN112308304A (zh) * | 2020-10-22 | 2021-02-02 | 西北工业大学 | 工作流执行时间优化方法及装置 |
CN112308304B (zh) * | 2020-10-22 | 2023-06-23 | 西北工业大学 | 工作流执行时间优化方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427681B (zh) | 边缘计算中基于资源监控的实时任务匹配调度系统和方法 | |
Zhang et al. | GraphP: Reducing communication for PIM-based graph processing with efficient data partition | |
US20200326992A1 (en) | Acceleration method for fpga-based distributed stream processing system | |
Lin et al. | Apriori-based frequent itemset mining algorithms on MapReduce | |
Zhu et al. | Gemini: A {Computation-Centric} distributed graph processing system | |
US9959332B2 (en) | System and method for massively parallel processor database | |
Götz et al. | HPDBSCAN: highly parallel DBSCAN | |
Liu | Computing infrastructure for big data processing | |
Busato et al. | BFS-4K: an efficient implementation of BFS for kepler GPU architectures | |
Bender et al. | Cache-adaptive algorithms | |
EP2881862B1 (en) | Distributed processing device and distributed processing system as well as distributed processing method | |
Schlag et al. | Scalable edge partitioning | |
CN110347515B (zh) | 一种适合边缘计算环境的资源优化分配方法 | |
Arnaiz-González et al. | MR-DIS: democratic instance selection for big data by MapReduce | |
CN103336713A (zh) | 一种基于任务复制与聚簇的并行任务分配方法 | |
da Silva et al. | Scalability limits of Bag-of-Tasks applications running on hierarchical platforms | |
CN112559174A (zh) | 一种区块链并行交易处理方法及装置 | |
Mamidala et al. | MXNET-MPI: Embedding MPI parallelism in parameter server task model for scaling deep learning | |
Alam et al. | A new approach of dynamic load balancing scheduling algorithm for homogeneous multiprocessor system | |
Morad et al. | Generalized MultiAmdahl: Optimization of heterogeneous multi-accelerator SoC | |
Bender et al. | Closing the gap between cache-oblivious and cache-adaptive analysis | |
Nasr et al. | Task scheduling algorithm for high performance heterogeneous distributed computing systems | |
Chunduri et al. | Concept generation in formal concept analysis using MapReduce framework | |
Deelman et al. | Breadth-first rollback in spatially explicit simulations | |
Yin et al. | Heterogeneous Big Data Parallel Computing Optimization Model using MPI/OpenMP Hybrid and Sensor Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131002 |
|
WD01 | Invention patent application deemed withdrawn after publication |