List Scheduling With and Without Communication Delays

Abstract Empirical results have shown that the classical critical path (CP) list scheduling heuristic for task graphs is a fast and practical heuristic when communication cost is zero. In the first part of this paper we study the theoretical properties of the CP heuristic that lead to its near optimum performance in practice. In the second part we extend the CP analysis to the problem of ordering the task execution when the processor assignment is given and communication cost is nonzero. We propose two new list scheduling heuristics, the RCP and RCP∗ that use critical path information and ready list priority scheduling. We show that the performance properties for RCP and RCP∗, when communication is nonzero, are similar to CP when communication is zero. Finally, we present an extensive experimental study and optimality analysis of the heuristics which verifies our theoretical results.

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

[2]  Tao Yang,et al.  Clustering task graphs for message passing architectures , 1990, ICS '90.

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

[4]  Tao Yang,et al.  A fast static scheduling algorithm for DAGs on an unbounded number of processors , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[5]  J. Ortega Introduction to Parallel and Vector Solution of Linear Systems , 1988, Frontiers of Computer Science.

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

[7]  Alexandru Nicolau,et al.  A Mapping Strategy for MIMD Computers , 1991, Int. J. High Speed Comput..

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

[9]  Alain Darte Two heuristics for task scheduling , 1991, Algorithms and Parallel VLSI Architectures.

[10]  Vivek Sarkar,et al.  Partitioning and scheduling parallel programs for execution on multiprocessors , 1987 .

[11]  T. C. Hu Parallel Sequencing and Assembly Line Problems , 1961 .

[12]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.

[13]  Boontee Kruatrachue,et al.  Static task scheduling and grain packing in parallel processing systems , 1987 .

[14]  Ronald L. Graham,et al.  Bounds for certain multiprocessing anomalies , 1966 .

[15]  Hironori Kasahara,et al.  Practical Multiprocessor Scheduling Algorithms for Efficient Parallel Processing , 1984, IEEE Transactions on Computers.

[16]  Thomas H. Dunigan,et al.  Performance of the Intel iPSC/860 and Ncube 6400 hypercubes , 1991, Parallel Comput..

[17]  M. Cosnard,et al.  Clustering Task Graphs for Message Passing Architectures , 1990 .

[18]  Sanjay V. Rajopadhye,et al.  OREGAMI: Software Tools for Mapping Parallel Computations to Parallel Architectures , 1990, ICPP.

[19]  Shahid H. Bokhari,et al.  On the Mapping Problem , 1981, IEEE Transactions on Computers.

[20]  Han Hoogeveen,et al.  Complexity of Scheduling Multiprocessor Tasks with Prespecified Processor Allocations , 1994, Discret. Appl. Math..