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 条
[1]   COMPARISON OF LIST SCHEDULES FOR PARALLEL PROCESSING SYSTEMS [J].
ADAM, TL ;
CHANDY, KM ;
DICKSON, JR .
COMMUNICATIONS OF THE ACM, 1974, 17 (12) :685-690
[2]   On exploiting task duplication in parallel program scheduling [J].
Ahmad, I ;
Kwok, YK .
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 1998, 9 (09) :872-892
[3]   TASK ASSIGNMENT USING A PROBLEM-SPACE GENETIC ALGORITHM [J].
AHMAD, I ;
DHODHI, MK .
CONCURRENCY-PRACTICE AND EXPERIENCE, 1995, 7 (05) :411-428
[4]   On parallelizing the multiprocessor scheduling problem [J].
Ahmad, I ;
Kwok, YK .
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 1999, 10 (04) :414-432
[5]   Automatic parallelization and scheduling of programs on multiprocessors using CASCH [J].
Ahmad, I ;
Kwok, YK ;
Wu, MY ;
Shu, W .
PROCEEDINGS OF THE 1997 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, 1997, :288-291
[6]   SEMI-DISTRIBUTED LOAD BALANCING FOR MASSIVELY PARALLEL MULTICOMPUTER SYSTEMS [J].
AHMAD, I ;
GHAFOOR, A .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1991, 17 (10) :987-1004
[7]  
AHMAD I, 1996, INT S PAR ARCH ALG N, P207
[8]  
AHMAD I, 1998, P 1998 INT C PAR PRO
[9]  
ALI S, 1994, EURO-DAC '94 WITH EURO-VHDL 94, PROCEEDINGS, P84
[10]   MIXED MULLERIAN TUMORS OF THE UTERINE CORPUS - A REVIEW [J].
ALI, S ;
WELLS, M .
INTERNATIONAL JOURNAL OF GYNECOLOGICAL CANCER, 1993, 3 (01) :1-11