Optimizing layer‐based scheduling algorithms for parallel tasks with dependencies

Programming with parallel tasks leads to task graphs with dependencies representing a parallel program. Scheduling algorithms are employed to find an efficient execution order of the parallel tasks. A large variety of scheduling algorithms exist, including layer‐based scheduling algorithms for homogeneous target platforms that build consecutive layers of independent parallel tasks and schedule each layer separately. Although these scheduling algorithms provide good results in terms of scheduling algorithm runtime and schedule execution time, the resulting schedules leave room for optimization. This article proposes an optimization for arbitrary layer‐based scheduling algorithms, which is called Move‐blocks algorithm. Given a layer‐based schedule of the parallel tasks, this algorithm moves blocks of parallel tasks into preceding layers in order to reduce the overall execution time of a task‐based application. Suitable blocks of parallel tasks are identified by the algorithm Find‐blocks, which is employed together with the Move‐blocks algorithm. The algorithm Move‐blocks is applied to four well‐known scheduling algorithms. A detailed evaluation for a wide range of test cases is given. Copyright © 2010 John Wiley & Sons, Ltd.

[1]  Sachin S. Sapatnekar,et al.  A Framework for Exploiting Task and Data Parallelism on Distributed Memory Multicomputers , 1997, IEEE Trans. Parallel Distributed Syst..

[2]  Denis Trystram,et al.  A 3/2-Approximation Algorithm for Scheduling Independent Monotonic Malleable Tasks , 2007, SIAM J. Comput..

[3]  Tchimou N'Takpé,et al.  Critical path and area based scheduling of parallel task graphs on heterogeneous platforms , 2006, 12th International Conference on Parallel and Distributed Systems - (ICPADS'06).

[4]  Jacek Blazewicz,et al.  Scheduling Malleable Tasks on Parallel Processors to Minimize the Makespan , 2004, Ann. Oper. Res..

[5]  Thomas Rauber,et al.  Redistribution aware two-step scheduling for mixed-parallel applications , 2008, 2008 IEEE International Conference on Cluster Computing.

[6]  Gudula Rünger,et al.  Task-block identification and movement for layer-based scheduling algorithms , 2010, 2010 International Conference on High Performance Computing & Simulation.

[7]  Kuldip Singh,et al.  An improved two-step algorithm for task and data parallel scheduling in distributed memory machines , 2006, Parallel Comput..

[8]  Klaus Jansen,et al.  Scheduling Malleable Parallel Tasks: An Asymptotic Fully Polynomial Time Approximation Scheme , 2004, Algorithmica.

[9]  Gudula Rünger,et al.  A Scheduling Toolkit for Multiprocessor-Task Programming with Dependencies , 2007, Euro-Par.

[10]  Prasoon Tiwari,et al.  Scheduling malleable and nonmalleable parallel tasks , 1994, SODA '94.

[11]  Henri Casanova,et al.  Scheduling Parallel Task Graphs on (Almost) Homogeneous Multicluster Platforms , 2009, IEEE Transactions on Parallel and Distributed Systems.

[12]  Arjan J. C. van Gemund,et al.  A low-cost approach towards mixed task and data parallel scheduling , 2001, International Conference on Parallel Processing, 2001..

[13]  Gudula Rünger,et al.  Optimization of Layer-based Scheduling Algorithms for Mixed Parallel Applications with Precedence Constraints Using Move-blocks , 2009, 2009 17th Euromicro International Conference on Parallel, Distributed and Network-based Processing.

[14]  Denis Trystram,et al.  Efficient approximation algorithms for scheduling malleable tasks , 1999, SPAA '99.

[15]  Jacek Blazewicz,et al.  Preemptable malleable task scheduling problem , 2006, IEEE Transactions on Computers.

[16]  Thomas Rauber,et al.  Compiler support for task scheduling in hierarchical execution models , 1999, J. Syst. Archit..

[17]  Arjan J. C. van Gemund,et al.  CPR: mixed task and data parallel scheduling for distributed systems , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[18]  Joel H. Saltz,et al.  An Integrated Approach for Processor Allocation and Scheduling of Mixed-Parallel Applications , 2006, 2006 International Conference on Parallel Processing (ICPP'06).

[19]  RENAUD LEPÈRE,et al.  Approximation Algorithms for Scheduling Malleable Tasks Under Precedence Constraints , 2001, Int. J. Found. Comput. Sci..

[20]  Joel H. Saltz,et al.  Locality Conscious Processor Allocation and Scheduling for Mixed Parallel Applications , 2006, 2006 IEEE International Conference on Cluster Computing.

[21]  Frédéric Suter,et al.  One-step algorithm for mixed data and task parallel scheduling without data replication , 2003, Proceedings International Parallel and Distributed Processing Symposium.