Static scheduling algorithms for allocating directed task graphs to multiprocessors

Authors
Citation
Yk. Kwok et I. Ahmad, Static scheduling algorithms for allocating directed task graphs to multiprocessors, ACM C SURV, 31(4), 1999, pp. 406-471
Citations number
171
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM COMPUTING SURVEYS
ISSN journal
03600300 → ACNP
Volume
31
Issue
4
Year of publication
1999
Pages
406 - 471
Database
ISI
SICI code
0360-0300(199912)31:4<406:SSAFAD>2.0.ZU;2-W
Abstract
Static scheduling of a program represented by a directed task graph on a mu ltiprocessor system to minimize the program completion time is a well-known problem in parallel processing. Since finding an optimal schedule is an NP -complete problem in general, researchers have resorted to devising efficie nt heuristics. A plethora of heuristics have been proposed based on a wide spectrum of techniques, including branch-and-bound, integer-programming, se arching, graph-theory, randomization, genetic algorithms, and evolutionary methods. The objective of this survey is to describe various scheduling alg orithms and their functionalities in a contrasting fashion as well as exami ne their relative merits in terms of performance and time-complexity. Since these algorithms are based on diverse assumptions, they differ in their fu nctionalities, and hence are difficult to describe in a unified context. We propose a taxonomy that classifies these algorithms into different categor ies. We consider 27 scheduling algorithms, with each algorithm explained th rough an easy-to-understand description followed by an illustrative example to demonstrate its operation. We also outline some of the novel and promis ing optimization approaches and current research trends in the area. Finall y, we give an overview of the software tools that provide scheduling/mappin g functionalities.