|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
AHMAD, I. AND DHODHI, M. K. 1995. Task assignment using a problem-space genetic algorithm. Concurrency: Pract. Exper. 7, 5 (Aug.), 411-428.
|
| |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
|
| |
7
|
|
| |
8
|
|
| |
9
|
ALI, H. H. AND EL-REWINI, H. 1993. The time complexity of scheduling interval orders with communication is polynomial. Para. Proc. Lett. 3, 1, 53-58.
|
| |
10
|
|
| |
11
|
|
| |
12
|
V. A. F. Almeida , I. M. M. Vasconcelos , J. N. C. Árabe , D. A. Menascé, Using random task graphs to investigate the potential benefits of heterogeneity in parallel systems, Proceedings of the 1992 ACM/IEEE conference on Supercomputing, p.683-691, November 16-20, 1992, Minneapolis, Minnesota, United States
|
| |
13
|
AMDAHL, G. 1967. Validity of the single processor approach to achieving large scale computing capability. In Proceedings of the on AFIPS Spring Joint Computer Conference (Reston, Va.), AFIPS Press, Arlington, VA, 483-485.
|
| |
14
|
|
| |
15
|
BASHIR, A. F., SUSARLA, V., AND VAIRAVAN, K. 1983. A statistical study of the performance of a task scheduling algorithm. IEEE Trans. Comput. C-32, 8 (Aug.), 774-777.
|
| |
16
|
BAXTER, J. AND PATEL, J. H. 1989. The LAST algorithm: A heuristic-based static task allocation algorithm. In Proceedings of the International Conference on Parallel Processing (ICPP '89, Aug.), Pennsylvania State University, University Park, PA, 217-222.
|
| |
17
|
|
| |
18
|
BENTEN, M. S. T. AND SAIT, S.M. 1994. Genetic scheduling of task graphs. Int. J. Electron. 77, 4 (Oct.), 401-415.
|
| |
19
|
|
| |
20
|
|
| |
21
|
BOKHARI, S.H. 1979. Dual processor scheduling with dynamic reassignment. IEEE Trans. Softw. Eng. SE-5, 4 (July), 341-349.
|
| |
22
|
BOKHARI, S.H. 1981. On the mapping problem. IEEE Trans. Comput. C-30, 5, 207-214.
|
| |
23
|
BOZOKI, G. AND RICHARD, J.P. 1970. A branchand-bound algorithm for continuous-process task shop scheduling problem. AIIE Trans. 2, 246 -252.
|
 |
24
|
|
| |
25
|
|
| |
26
|
CHANDRASEKHARAM, R., SUBHRAMANIAN, S., AND CHAUDHURY, S. 1993. Genetic algorithm for node partitioning problem and applications in VLSI design. IEE Proc. Comput. Digit. Tech. 140, 5 (Sept.), 255-260.
|
| |
27
|
|
| |
28
|
|
| |
29
|
CHEN, H., SHIRAZI, B., AND MARQUIS, J. 1993. Performance evaluation of a novel scheduling method: Linear clustering with task duplication. In Proceedings of the 2nd International Conference on Parallel and Distributed Systerns (Dec.), 270-275.
|
| |
30
|
|
| |
31
|
CHRETIENNE, P. 1989. A polynomial algorithm to optimally schedule tasks on a virtual distributed system under tree-like precedence constraints. Europ. J. Oper. Res. 43, 225- 230.
|
| |
32
|
CHU, W. W., LAN, M.-T., AND HELLERSTEIN, J. 1984. Estimation of intermodule communication (IMC) and its applications in distributed processing systems. IEEE Trans. Comput. C-33, 8 (Aug.), 691-699.
|
| |
33
|
|
| |
34
|
COFFMAN, E.G. 1976. Computer and Job-Shop Scheduling Theory. John Wiley and Sons, Inc., New York, NY.
|
| |
35
|
COFFMAN, E. G. AND GRAHAM, R. L. 1972. Optimal scheduling for two-processor systerns. Acta Inf. 1,200-213.
|
| |
36
|
COLIN, J. Y. AND CHRETIENNE, P. 1991. C.P.M. scheduling with small computation delays and task duplication. Oper. Res. 39, 4, 680- 684.
|
| |
37
|
COSNARD, M. AND LOI, M. 1995. Automatic task graph generation techniques. Para. Proc. Lett. 5, 4 (Dec.), 527-538.
|
| |
38
|
CRAY RESEARCH, INC. 1991. UNICOS Performance Utilities Reference Manual, SR2040. Cray Supercomputers, Chippewa Falls, MN.
|
| |
39
|
|
| |
40
|
|
| |
41
|
DAVIS, T., Ed. 1991. The Handbook of Genetic Algorithms. Van Nostrand Reinhold Co., New York, NY.
|
| |
42
|
|
| |
43
|
DHODI, M. K., AHMAD, I., AND AHMAD, I. 1995. A multiprocessor scheduling scheme using problem-space genetic algorithms. In Proceedings of the IEEE International Conference on Evolutionary Computation, IEEE Computer Society Press, Los Alamitos, CA, 214-219.
|
| |
44
|
DIGITAL EQUIPMENT CORP. 1992. PARASPHERE User's Guide. Digital Equipment Corp., Maynard, MA.
|
| |
45
|
DIXIT-RADYA, V. A. AND PANDA, D. K. 1993. Task assignment on distrbuted-memory systerns with adaptive wormhole routing. In Proceedings of the 2nd International Conference on Parallel and Distributed Systems (Dec.), 674-681.
|
| |
46
|
|
| |
47
|
|
| |
48
|
|
| |
49
|
|
| |
50
|
|
| |
51
|
ERCEGOVAC, M. D. 1988. Heterogeneity in supercomputer architectures. Parallel Comput. 7, 367-372.
|
| |
52
|
FERNANDEZ, E. B. AND BUSSELL, B. 1973. Bounds on the number of processors and time for multiprocessor optimal schedules. IEEE Trans. Comput. C-22, 8 (Aug.), 745-751.
|
| |
53
|
|
| |
54
|
|
| |
55
|
FISHBURN, P. C. 1985. Interval Orders and Interval Graphs. John Wiley and Sons, Inc., New York, NY.
|
| |
56
|
|
| |
57
|
|
| |
58
|
|
| |
59
|
FuJII, M., KASAMI, T., AND NINOMIYA, K. 1969. Optimal Sequencing of Two Equivalent Processors. SIAM J. Appl. Math. 17, 1.
|
 |
60
|
|
| |
61
|
GAJSKI, D. D. AND PIER, J. 1985. Essential issues in multiprocessors. IEEE Computer 18, 6 (June).
|
| |
62
|
|
| |
63
|
GAREY, M. R., JOHNSON, D., TARJAN, R., AND YAN- NAKAKIS, M. 1983. Scheduling opposing forests. SIAM J. Algebr. Discret. Methods 4, 1, 72-92.
|
| |
64
|
GERASOULIS, A. AND YANG, T. 1992. A comparison of clustering heuristics for scheduling DAG's on multiprocessors. J. Parallel Distrib. Comput. 16, 4 (Dec.), 276-291.
|
| |
65
|
|
| |
66
|
|
 |
67
|
|
 |
68
|
|
| |
69
|
GRAHAM, R.L. 1966. Bounds for certain multiprocessing anomalies. Bell Syst. Tech. J. 45, 1563-1581.
|
| |
70
|
GRAHAM, R. L., LAWLER, E. L., LENSTRA, J. K., AND RINNOY KAN, A. H. G. 1979. Optimization and approximation in deterministic sequencing and scheduling: A survey. Ann. Discrete Math. 5, 287-326.
|
| |
71
|
|
| |
72
|
HANAN, M. AND KURTZBERG, J. 1972. A review of the placement and quadratic assignment problems. SIAM Rev. 14 (Apr.), 324-342.
|
 |
73
|
|
| |
74
|
|
| |
75
|
|
 |
76
|
|
| |
77
|
|
| |
78
|
Hu, T.C. 1961. Parallel sequencing and assembly line problems. Oper. Res. 19, 6 (Nov.), 841-848.
|
| |
79
|
|
| |
80
|
|
| |
81
|
INTEL SUPERCOMPUTER SYSTEMS DIVISION. 1991. iPSC/2 and iPSC/860 Interactive Parallel Debugger Manual.
|
| |
82
|
|
| |
83
|
|
| |
84
|
JIANG, H., BHUYAN, L. N., AND GHOSAL, D. 1990. Approximate analysis of multiprocessing task graphs. In Proceedings of the International Conference on Parallel Processing (Aug.), 228-235.
|
| |
85
|
|
| |
86
|
|
| |
87
|
KASAHARA, H. AND NARITA, S. 1984. Practical multiprocessor scheduling algorithms for efficient parallel processing. IEEE Trans. Comput. C-33, 11 (Nov.), 1023-1029.
|
| |
88
|
KAUFMAN, M. 1974. An almost-optimal algorithm for the assembly line scheduling problem. IEEE Trans. Comput. C-23, 11 (Nov.), 1169- 1174.
|
| |
89
|
KHAN, A., MCCREARY, C. L., AND JONES, M. S. 1994. A comparison of multiprocessor scheduling heuristics. In Proceedings of the 1994 International Conference on Parallel Processing, CRC Press, Inc., Boca Raton, FL, 243- 250.
|
| |
90
|
KIM, S. J. AND BROWNE, J. C. 1988. A general approach to mapping of parallel computation upon multiprocessor architectures. In Proceedings of International Conference on Parallel Processing (Aug.), 1-8.
|
| |
91
|
|
| |
92
|
KOHLER, W.H. 1975. A preliminary evaluation of the critical path method for scheduling tasks on multiprocessor systems. IEEE Trans. Comput. C-24, 12 (Dec.), 1235-1238.
|
 |
93
|
|
| |
94
|
KON'YA, S. AND SATOH, T. 1993. Task scheduling on a hypercube with link contentions. In Proceedings of International Parallel Processing Symposium (Apr.), 363-368.
|
| |
95
|
KRUATRACHUE, B. AND LEWIS, T. G. 1987. Duplication Scheduling Heuristics (DSH): A New Precedence Task Scheduler for Parallel Processor Systems. Oregon State University, Corvallis, OR.
|
| |
96
|
|
| |
97
|
|
| |
98
|
|
| |
99
|
|
| |
100
|
|
| |
101
|
|
| |
102
|
|
| |
103
|
|
| |
104
|
|
| |
105
|
|
| |
106
|
|
| |
107
|
|
| |
108
|
|
| |
109
|
LIOU, J.-C. AND PALIS, M.A. 1996. An efficient task clustering heuristic for scheduling DAGs on multiprocessors. In Workshop on Resource Management, Symposium on Parallel and Distributed Processing,
|
| |
110
|
|
| |
111
|
Lo, V. M. 1992. Temporal communication graphs: Lamport's process-time graphs augmented for the purpose of mapping and scheduling. J. Parallel Distrib. Comput. 16, 4 (Dec.), 378-384.
|
| |
112
|
Lo, V. M., RAJOPADHYE, S., GUPTA, S., KELDSEN, D., MOHAMED, M. A., NITZBERG, B., TELLE, J. A., AND ZHONG, X. 1991. OREGAMI: Tools for mapping parallel computations to parallel architectures. Int. J. Parallel Program. 20, 3, 237-270.
|
 |
113
|
|
| |
114
|
|
| |
115
|
MARKENSCOFF, P. AND LI, Y. Y. 1993. Scheduling a computational DAG on a parallel system with communication delays and replication of node execution. In Proceedings of International Parallel Processing Symposium (Apr.), 113-117.
|
| |
116
|
MASSPAR COMPUTER. 1992. MPPE User's Guide.
|
 |
117
|
|
| |
118
|
|
| |
119
|
MEHDIRATTA, N. AND GHOSE, K. 1994. A bottom-up approach to task scheduling on distributed memory multiprocessor. In Proceedings of the 1994 International Conference on Parallel Processing, CRC Press, Inc., Boca Raton, FL, 151-154.
|
| |
120
|
|
| |
121
|
MENASC , D. A. AND PORTO, S. C. 1993. Scheduling on heterogeneous message passing architectures. J. Comput. Softw. Eng. 1, 3.
|
| |
122
|
MENASC , D. A., PORTO, S. C., AND TRIPATHI, S. K. 1994. Static heuristic processor assignment in heterogeneous message passing architectures. Int. J. High Speed Comput. 6, 1 (Mar.), 115-137.
|
| |
123
|
|
| |
124
|
|
| |
125
|
|
 |
126
|
|
| |
127
|
PALIS, M. A., LIOU, J.-C., RAJASEKARAN, S., SHENDE, S., AND WEI, D. S.L. 1995. Online scheduling of dynamic trees. Para. Proc. Lett. 5, 4 (Dec.), 635-646.
|
| |
128
|
|
| |
129
|
|
| |
130
|
|
| |
131
|
|
| |
132
|
PAPADIMITRIOU, C. H. AND YANNAKAKIS, M. 1979. Scheduling interval-ordered tasks. SIAM J. Comput. 8, 405-409.
|
| |
133
|
|
| |
134
|
Daniel Pease , Arif Ghafoor , Ishfaq Ahmad , David L. Andrews , Kamal Foudil-Bey , Thomas E. Karpinski , Mohammad A. Mikki , Mohamed Zerrouki, PAWS: A Performance Evaluation Tool for Parallel Computing Systems, Computer, v.24 n.1, p.18-29, January 1991
[doi> 10.1109/2.67190]
|
| |
135
|
|
| |
136
|
PRASTEIN, M. 1987. Precedence-constrained scheduling with minimum time and communication. Master's Thesis. University of Illinois at Urbana-Champaign, Champaign, IL.
|
| |
137
|
|
| |
138
|
RAMAMOORTHY, C. V., CHANDY, K. M., AND GONZA- LEZ, M.J. 1972. Optimal scheduling strategies in a multiprocessor system. IEEE Trans. Comput. C-21, 2 (Feb.), 137-146.
|
| |
139
|
|
| |
140
|
|
| |
141
|
|
| |
142
|
|
| |
143
|
|
| |
144
|
SETHI, R. 1976. Scheduling graphs on two processors. SIAM J. Comput. 5, 1 (Mar.), 73- 82.
|
| |
145
|
SHIRAZI, B., KAVI, K., HURSON, A. R., AND BISWAS, P. 1993. PARSA: A parallel program scheduling and assessment environment. In Proceedings of the International Conference on Parallel Processing, CRC Press, Inc., Boca Raton, FL, 68-72.
|
| |
146
|
|
| |
147
|
|
 |
148
|
|
| |
149
|
|
| |
150
|
|
| |
151
|
|
| |
152
|
|
| |
153
|
STONE, H. S. 1977. Multiprocessor scheduling with the aid of network flow algorithms. IEEE Trans. Softw. Eng. SE-3, 1 (Jan.), 85- 93.
|
| |
154
|
|
| |
155
|
|
| |
156
|
THINKING MACHINES CORPORATION. 1991. PRISM User's Guide. Thinking Machines Corp., Bedford, MA.
|
| |
157
|
|
| |
158
|
|
| |
159
|
VELTMAN, B., LAGEWEG, B. J., AND LENSTRA, J. K. 1990. Multiprocessor scheduling with communication delays. Parallel Comput. 16, 173-182.
|
| |
160
|
ULLMAN, J. 1975. NP-complete scheduling problems. J. Comput. Syst. Sci. 10, 384-393.
|
| |
161
|
WANG, M.-F. 1990. Message routing algorithms for static task scheduling. In Proceedings of the 1990 Symposium on Applied Computing (SAC '90), 276-281.
|
| |
162
|
|
| |
163
|
WANG, L., SIEGEL, H. J., AND ROYCHOWDHURY, V. P. 1996. A genetic-algorithm-based approach for task matching and scheduling in heterogeneous computing environments. In Proceedings of the '96 Workshop on Heterogeneous Computing, IEEE Computer Society Press, Los Alamitos, CA, 72-85.
|
| |
164
|
|
| |
165
|
|
| |
166
|
YANG, C.-Q. AND MILLER, B. P. 1988. Critical path analysis for the execution of parallel and distributed programs. In Proceedings of the 8th International Conference on Distributed Computing Systems (ICDCS '88, Washington, D. C., June), IEEE Computer Society Press, Los Alamitos, CA, 366-373.
|
| |
167
|
|
 |
168
|
|
| |
169
|
|
| |
170
|
YANG, J., BIC, L., AND NICOLAU, A. 1993. A mapping strategy for MIMD computers. Int. J. High Speed Comput. 5, 1, 89-103.
|
| |
171
|
ZHU, Y. AND MCCREARY, C. L. 1992. Optimal and near optimal tree scheduling for parallel systems. In Proceedings of Symposium on Parallel and Distributed Processing, IEEE Computer Society Press, Los Alamitos, CA, 112-119.
|
CITED BY 93
|
|
Matthew Spencer , Renato Ferreira , Michael Beynon , Tahsin Kurc , Umit Catalyurek , Alan Sussman , Joel Saltz, Executing multiple pipelined data analysis operations in the grid, Proceedings of the 2002 ACM/IEEE conference on Supercomputing, p.1-18, November 16, 2002, Baltimore, Maryland
|
|
|
|
|
|
|
|
|
B. A. Vianna , A. A. Fonseca , N. T. Moura , L. T. Menezes , H. A. Mendes , J. A. Silva , C. Boeres , V. E. F. Rebello, A tool for the design and evaluation of hybrid scheduling algorithms for computational grids, Proceedings of the 2nd workshop on Middleware for grid computing, p.41-46, October 18-22, 2004, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eric Anderson , Dirk Beyer , Kamalika Chaudhuri , Terence Kelly , Norman Salazar , Cipriano Santos , Ram Swaminathan , Robert Tarjan , Janet Wiener , Yunhong Zhou, Deadline scheduling for animation rendering, ACM SIGMETRICS Performance Evaluation Review, v.33 n.1, June 2005
|
|
|
Eric Anderson , Dirk Beyer , Kamalika Chaudhuri , Terence Kelly , Norman Salazar , Cipriano Santos , Ram Swaminathan , Robert Tarjan , Janet Wiener , Yunhong Zhou, Value-maximizing deadline scheduling and its application to animation rendering, Proceedings of the seventeenth annual ACM symposium on Parallelism in algorithms and architectures, July 18-20, 2005, Las Vegas, Nevada, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Adeel Akram , Shahbaz Pervez , Shoab A. Khan, Multimedia task scheduling on OLSR enabled ad hoc networks, Proceedings of the 5th WSEAS International Conference on Electronics, Hardware, Wireless and Optical Communications, p.40-44, February 15-17, 2006, Madrid, Spain
|
|
|
|
|
|
|
|
|
|
|
|
Daniel Nurmi , Anirban Mandal , John Brevik , Chuck Koelbel , Rich Wolski , Ken Kennedy, Grid scheduling and protocols---Evaluation of a workflow scheduler using integrated performance modelling and batch queue wait time prediction, Proceedings of the 2006 ACM/IEEE conference on Supercomputing, November 11-17, 2006, Tampa, Florida
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Gurmeet Singh , Mei-Hui Su , Karan Vahi , Ewa Deelman , Bruce Berriman , John Good , Daniel S. Katz , Gaurang Mehta, Workflow task clustering for best effort systems with Pegasus, Proceedings of the 15th ACM Mardi Gras conference: From lightweight mash-ups to lambda grids: Understanding the spectrum of distributed computing requirements, applications, tools, infrastructures, interoperability, and the incremental adoption of key capabilities, January 29-February 03, 2008, Baton Rouge, Louisiana
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Florina M. Ciorba , Ioannis Riakiotakis , Theodore Andronikos , George Papakonstantinou , Anthony T. Chronopoulos, Enhancing self-scheduling algorithms via synchronization and weighting, Journal of Parallel and Distributed Computing, v.68 n.2, p.246-264, February, 2008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Muthu Manikandan Baskaran , Nagavijayalakshmi Vydyanathan , Uday Kumar Reddy Bondhugula , J. Ramanujam , Atanas Rountev , P. Sadayappan, Compiler-assisted dynamic scheduling for effective parallelization of loop nests on multicore processors, Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming, February 14-18, 2009, Raleigh, NC, USA
|
|
|
|
|
|
|
|
|
Heikki Orsila , Tero Kangas , Erno Salminen , Timo D. Hämäläinen , Marko Hännikäinen, Automated memory-aware application distribution for Multi-processor System-on-Chips, Journal of Systems Architecture: the EUROMICRO Journal, v.53 n.11, p.795-815, November, 2007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nagavijayalakshmi Vydyanathan , Gaurav Khanna , Tahsin Kurc , Umit Catalyurek , Pete Wyckoff , Joel Saltz , P. Sadayappan, Use of PVFS for Efficient Execution of Jobs with Pipeline-Shared I/O, Proceedings of the 5th IEEE/ACM International Workshop on Grid Computing, p.235-242, November 08-08, 2004
|
|
|
Gurmeet Singh , Karan Vahi , Arun Ramakrishnan , Gaurang Mehta , Ewa Deelman , Henan Zhao , Rizos Sakellariou , Kent Blackburn , Duncan Brown , Stephen Fairhurst , David Meyers , G. Bruce Berriman , John Good , Daniel S. Katz, Optimizing workflow data footprint, Scientific Programming, v.15 n.4, p.249-268, December 2007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pieter Bellens , Josep M. Perez , Felipe Cabarcas , Alex Ramirez , Rosa M. Badia , Jesus Labarta, CellSs: Scheduling techniques to better exploit memory hierarchy, Scientific Programming, v.17 n.1-2, p.77-95, January 2009
|
|
|
Ann Chervenak , Ewa Deelman , Miron Livny , Mei-Hui Su , Rob Schuler , Shishir Bharathi , Gaurang Mehta , Karan Vahi, Data placement for scientific applications in distributed environments, Proceedings of the 8th IEEE/ACM International Conference on Grid Computing, p.267-274, September 19-21, 2007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|