A Performance-Efficient Task Duplication-Based Scheduling Algorithm for Heterogeneous Computing

Efficient task scheduling algorithm is critical for application programs to achieve high performance in heterogeneous computing systems. Although a large number of scheduling heuristics have been presented in the literature, most of them are mainly for the systems with homogeneous processors. In this paper, we present a novel task scheduling algorithm, heterogeneous task duplication scheduling (HTDS), for a bounded number of heterogeneous processors with an objective to meet high performance. The HTDS algorithm uses task duplication method to decrease the communication overhead and to minimize the schedule length of application programs. To evaluate the performance of the proposed task scheduling algorithm, we have developed a simulator that contains a parametric graph generator for generating weighted directed acyclic graphs with various characteristics. We have implemented the HTDS along with three task scheduling algorithms, HEFT, LDBS1, and LDBS2, on the simulator. The simulation results show that our task scheduling algorithm outperforms other algorithms in terms of speedup.

[1]  James C. Browne,et al.  General approach to mapping of parallel computations upon multiprocessor architectures , 1988 .

[2]  Arjan J. C. van Gemund,et al.  Fast and effective task scheduling in heterogeneous systems , 2000, Proceedings 9th Heterogeneous Computing Workshop (HCW 2000) (Cat. No.PR00556).

[3]  Ishfaq Ahmad,et al.  On Exploiting Task Duplication in Parallel Program Scheduling , 1998, IEEE Trans. Parallel Distributed Syst..

[4]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[5]  S. Ranka,et al.  Applications and performance analysis of a compile-time optimization approach for list scheduling algorithms on distributed memory multiprocessors , 1992, Proceedings Supercomputing '92.

[6]  Boontee Kruatrachue,et al.  Grain size determination for parallel processing , 1988, IEEE Software.

[7]  Behrooz Shirazi,et al.  DFRN: a new approach for duplication based scheduling for distributed memory multiprocessor systems , 1997, Proceedings 11th International Parallel Processing Symposium.

[8]  Tao Yang,et al.  A Comparison of Clustering Heuristics for Scheduling Directed Acycle Graphs on Multiprocessors , 1992, J. Parallel Distributed Comput..

[9]  Füsun Özgüner,et al.  Parallelizing Existing Applications in a Distributed Heterogeneous Environment , 1995 .

[10]  Tao Yang,et al.  DSC: Scheduling Parallel Tasks on an Unbounded Number of Processors , 1994, IEEE Trans. Parallel Distributed Syst..

[11]  Dharma P. Agrawal,et al.  A scalable task duplication based scheduling algorithm for heterogeneous systems , 2000, Proceedings 2000 International Conference on Parallel Processing.

[12]  Atakan Dogan,et al.  LDBS: a duplication based scheduling algorithm for heterogeneous computing systems , 2002, Proceedings International Conference on Parallel Processing.

[13]  Rizos Sakellariou,et al.  A hybrid heuristic for DAG scheduling on heterogeneous systems , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[14]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[15]  Frank D. Anger,et al.  Scheduling Precedence Graphs in Systems with Interprocessor Communication Times , 1989, SIAM J. Comput..

[16]  Edward A. Lee,et al.  Scheduling to Account for Interprocessor Communication within Interconnection-Constrained Processor Networks , 1990, International Conference on Parallel Processing.

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

[18]  Edward A. Lee,et al.  A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures , 1993, IEEE Trans. Parallel Distributed Syst..

[19]  Hesham El-Rewini,et al.  Scheduling Parallel Program Tasks onto Arbitrary Target Machines , 1990, J. Parallel Distributed Comput..

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

[21]  Jan Janecek,et al.  A high performance, low complexity algorithm for compile-time task scheduling in heterogeneous systems , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..