A Low-Complexity Task Scheduling Algorithm for Heterogeneous Computing Systems

Scheduling a parallel application on a set of processors is a well-known NP-Complete problem. The problem becomes more complex when the base system is composed of heterogeneous processors. In this paper, we present a low-complexity task scheduling algorithm for heterogeneous computing systems, which we call the Multiple Critical Path Dominator (MCPD) algorithm. This algorithm is based on task duplication and its complexity is. An application for scheduling is represented by a Directed Acyclic Graph (DAG). The MCPD algorithm employs a novel list scheduling algorithm for prioritizing tasks. This list-scheduling algorithm considers the variation of the Critical Paths in the DAG statistically whereby the MCPD algorithm attempts to schedule tasks on the processor according to the importance of the parent. We base our decisions on mean values of computation and communication cost of nodes and edges in the unscheduled DAG.

[1]  Jing-Chiou Liou,et al.  Task Clustering and Scheduling for Distributed Memory Parallel Architectures , 1996, IEEE Trans. Parallel Distributed Syst..

[2]  E. Ilavarasan,et al.  Levelized scheduling of directed a-cyclic precedence constrained task graphs onto heterogeneous computing system , 2005, First International Conference on Distributed Frameworks for Multimedia Applications.

[3]  Ishfaq Ahmad,et al.  Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors , 1996, IEEE Trans. Parallel Distributed Syst..

[4]  Uwe Schwiegelshohn,et al.  Theory and Practice in Parallel Job Scheduling , 1997, JSSPP.

[5]  Kuldip Singh,et al.  An Improved Duplication Strategy for Scheduling Precedence Constrained Graphs in Multiprocessor Systems , 2003, IEEE Trans. Parallel Distributed Syst..

[6]  Jan Janecek,et al.  A near lower-bound complexity algorithm for compile-time task-scheduling in heterogeneous computing systems , 2004, Third International Symposium on Parallel and Distributed Computing/Third International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Networks.

[7]  Howard Jay Siegel,et al.  A dynamic matching and scheduling algorithm for heterogeneous computing systems , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[8]  Imtiaz Ahmad,et al.  An Integrated Technique for Task Matching and Scheduling onto Distributed Heterogeneous Computing Systems , 2002, J. Parallel Distributed Comput..

[9]  Dharma P. Agrawal,et al.  Improving scheduling of tasks in a heterogeneous environment , 2004, IEEE Transactions on Parallel and Distributed Systems.

[10]  Ishfaq Ahmad,et al.  High-performance algorithms of compile-time scheduling of parallel processors , 1997 .

[11]  Yves Robert,et al.  Parallel Gaussian elimination on an MIMD computer , 1988, Parallel Comput..

[12]  Jack J. Dongarra,et al.  Scheduling workflow applications on processors with different capabilities , 2006, Future Gener. Comput. Syst..

[13]  Jeffrey D. Ullman,et al.  NP-Complete Scheduling Problems , 1975, J. Comput. Syst. Sci..

[14]  Anthony A. Maciejewski,et al.  Task Matching and Scheduling in Heterogenous Computing Environments Using a Genetic-Algorithm-Based Approach , 1997, J. Parallel Distributed Comput..

[15]  Salim Hariri,et al.  Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing , 2002, IEEE Trans. Parallel Distributed Syst..