Static scheduling algorithms for allocating directed task graphs to multiprocessors

被引:806
作者
Kwok, YK
Ahmad, I
机构
[1] Univ Hong Kong, Dept Elect & Elect Engn, Hong Kong, Hong Kong, Peoples R China
[2] Hong Kong Univ Sci & Technol, Dept Comp Sci, Clear Water Bay, Hong Kong, Peoples R China
关键词
algorithms; design; performance; theory; automatic parallelization; DAG; multiprocessors; parallel processing; software tools; static scheduling; task graphs;
D O I
10.1145/344588.344618
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Static scheduling of a program represented by a directed task graph on a multiprocessor 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 efficient heuristics. A plethora of heuristics have been proposed based on a wide spectrum of techniques, including branch-and-bound, integer-programming, searching, graph-theory, randomization, genetic algorithms, and evolutionary methods. The objective of this survey is to describe various scheduling algorithms and their functionalities in a contrasting fashion as well as examine their relative merits in terms of performance and time-complexity. Since these algorithms are based on diverse assumptions, they differ in their functionalities, and hence are difficult to describe in a unified context. We propose a taxonomy that classifies these algorithms into different categories. We consider 27 scheduling algorithms, with each algorithm explained through an easy-to-understand description followed by an illustrative example to demonstrate its operation. We also outline some of the novel and promising optimization approaches and current research trends in the area. Finally, we give an overview of the software tools that provide scheduling/mapping functionalities.
引用
收藏
页码:406 / 471
页数:66
相关论文
共 171 条
[91]   A 2-PASS SCHEDULING ALGORITHM FOR PARALLEL PROGRAMS [J].
KIM, DS ;
YI, BG .
PARALLEL COMPUTING, 1994, 20 (06) :869-885
[92]  
Kim S. J., 1988, Proceedings of the 1988 International Conference on Parallel Processing, P1
[93]   CHARACTERIZATION AND THEORETICAL COMPARISON OF BRANCH-AND-BOUND ALGORITHMS FOR PERMUTATION PROBLEMS [J].
KOHLER, WH ;
STEIGLIT.K .
JOURNAL OF THE ACM, 1974, 21 (01) :140-156
[94]   PRELIMINARY EVALUATION OF CRITICAL PATH METHOD FOR SCHEDULING TASKS ON MULTIPROCESSOR SYSTEMS [J].
KOHLER, WH .
IEEE TRANSACTIONS ON COMPUTERS, 1975, 24 (12) :1235-1238
[95]  
Kon'ya S., 1993, Proceedings of Seventh International Parallel Processing Symposium (Cat. No.93TH0513-2), P363, DOI 10.1109/IPPS.1993.262907
[96]   GRAIN-SIZE DETERMINATION FOR PARALLEL PROCESSING [J].
KRUATRACHUE, B ;
LEWIS, T .
IEEE SOFTWARE, 1988, 5 (01) :23-32
[97]  
Kruatrachue B., 1987, DUPLICATION SCHEDULI
[98]  
Kumar V., 1994, INTRO PARALLEL COMPU, V400
[99]  
Kwok Y.-K., 1997, High-performance algorithms for compile-time scheduling of parallel processors
[100]   Benchmarking and comparison of the task graph scheduling algorithms [J].
Kwok, YK ;
Ahmad, I .
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1999, 59 (03) :381-422