skip to main content
article
Free access

Static scheduling algorithms for allocating directed task graphs to multiprocessors

Published: 01 December 1999 Publication History

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

[1]
ADAM, T. L., CHANDY, K. M., AND DICKSON, J. R. 1974. A comparison of list scheduling for parallel processing systems. Commun. ACM 17, 12 (Dec.), 685-690.]]
[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]
AHMAD, I. AND GHAFOOR, A. 1991. Semi-distributed load balancing for massively parallel multicomputer systems. IEEE Trans. Softw. Eng. 17, 10 (Oct. 1991), 987-1004.]]
[4]
AHMAD, I. AND KWOK, Y.-K. 1998a. On exploiting task duplication in parallel program scheduling. IEEE Trans. Parallel Distrib. Syst. 9, 9, 872-892.]]
[5]
AHMAD, I. AND KWOK, Y.-K. 1998b. Optimal and near-optimal allocation of precedence-constrained task to parallel processors: Defying the high complexity using effective search technique. In Proceedings of the 1998 International Conference on Parallel Processing (Aug.),]]
[6]
AHMAD, I. AND KWOK, Y.-K. 1999. On parallelizing the multiprocessor scheduling problem. IEEE Trans. Parallel Distrib. Syst. 10, 4 (Apr.), 414-432.]]
[7]
AHMAD, I., KWOK, Y.-K., AND WU, M.-Y. 1996. Analysis, evaluation, and comparison of algorithms for scheduling task graphs on parallel processors. In International Symposium on Parallel Architectures, Algorithms, and Networks (June), 207-213.]]
[8]
AHMAD, I., KWOK, Y.-K., WU, M.-Y., AND SHU, W. 1997. Automatic parallelization and scheduling of programs on multiprocessors using CASCH. In Proceedings of the International Conference on Parallel Processing (ICPP, Aug.), 288-291.]]
[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]
ALI, S., SAIT, S. M., AND BENTEN, M. S.T. 1994. GSA: Scheduling and allocation using genetic algorithm. In Proceedings of the Conference on EURO-DAC'94, 84-89.]]
[11]
AL-MOUHAMED, M.A. 1990. Lower bound on the number of processors and time for scheduling precedence graphs with communication costs. IEEE Trans. Softw. Eng. 16, 12 (Dec. 1990), 1390-1401.]]
[12]
ALMEIDA, V. A. F., VASCONCELOS, I. M.M., RABE, J. N. C., AND MENASC, D.A. 1992. Using random task graphs to investigate the potential benefits of heterogeneity in parallel systerns. In Proceedings of the 1992 Conference on Supercomputing (Supercomputing '92, Minneapolis, MN, Nov. 16-20), R. Werner, Ed. IEEE Computer Society Press, Los Alamitos, CA, 683-691.]]
[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]
ANGER, F. D., HWANG, J.-J., AND CHOW, Y.-C. 1990. Scheduling with sufficient loosely coupled processors. J. Parallel Distrib. Comput. 9, 1 (May 1990), 87-92.]]
[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]
BECK, M., PINGALI, K., AND NICOLAU, A. 1990. Static scheduling for dynamic dataflow machines. J. Parallel Distrib. Comput. 10, 4 (Dec. 1990), 279-288.]]
[18]
BENTEN, M. S. T. AND SAIT, S.M. 1994. Genetic scheduling of task graphs. Int. J. Electron. 77, 4 (Oct.), 401-415.]]
[19]
BLAZEWICZ, J., DRABOWSKI, M., AND WEGLARZ, J. 1986. Scheduling multiprocessor tasks to minimize schedule length. IEEE Trans. Comput. C-35, 5 (May 1986), 389-393.]]
[20]
BLAZEWICZ, J., WEGLARZ, J., AND DRABOWSKI, M. 1984. Scheduling independent 2-processor tasks to minimize schedule length. Inf. Process. Lett. 18, 5 (June 1984), 267-273.]]
[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]
BRUNO, J., COFFMAN, E. G., AND SETHI, R. 1974. Scheduling independent tasks to reduce mean finishing time. Commun. ACM 17, 7 (July), 382-387.]]
[25]
CASAVANT, T. L. AND KUHL, J.G. 1988. A taxonomy of scheduling in general-purpose distrbuted computing systems. IEEE Trans. Softw. Eng. 14, 2 (Feb.), 141-154.]]
[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]
CHEN, G. AND LAI, T.H. 1988a. Scheduling independent jobs on hypercubes. In Proceedings of the Conference on Theoretical Aspects of Computer Science, 273-280.]]
[28]
CHEN, G.-I. AND LAI, T.-H. 1988b. Preemptive scheduling of independent jobs on a hypercube. Inf. Process. Lett. 28, 4 (July 29, 1988), 201- 206.]]
[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]
CHENG, R., GEN, M., AND TSUJIMURA, Y. 1996. A tutorial survey of job-shop scheduling problems using genetic algorithms--I: representation. Comput. Ind. Eng. 30, 4, 983-997.]]
[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]
CHUNG, Y.-C. AND RANKA, S. 1992. Applications and performance analysis of a compile-time optimization approach for list scheduling algorithms on distributed memory multiprocessors. In Proceedings of the 1992 Conference on Supercomputing (Supercomputing '92, Minneapolis, MN, Nov. 16-20), R. Werner, Ed. IEEE Computer Society Press, Los Alamitos, CA, 512-521.]]
[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]
DALLY, W.J. 1992. Virtual-channel flow control. IEEE Trans. Parallel Distrib. Syst. 3, 3 (Mar.), 194-205.]]
[40]
DARBHA, S. AND AGARWAL, D. P. 1995. A fast and scalable scheduling algorithm for distrbuted memory systems. In Proceedings of 7th Symposium on Parallel and Distributed Processing (Oct.), 60-63.]]
[41]
DAVIS, T., Ed. 1991. The Handbook of Genetic Algorithms. Van Nostrand Reinhold Co., New York, NY.]]
[42]
DE FALCO, I., DEL BALIO, R., AND TARANTINO, E. 1997. An analysis of parallel heuristics for task allocation in multicomputers. Computing 59, 3, 259-275.]]
[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]
Du, g. AND LEUNG, g.Y.-T. 1989. Complexity of scheduling parallel task systems. SIAM J. Discrete Math. 2, 4 (Nov. 1989), 473-487.]]
[47]
EL-REWINI, H. AND ALI, H. H. 1995. Static scheduling of conditional branches in parallel programs. J. Parallel Distrib. Comput. 24, 1 (Jan. 1995), 41-54.]]
[48]
EL-REWINI, H., ALI, H. H., AND LEWIS, T. G. 1995. Task scheduling in multiprocessor systems. IEEE Computer 28, 12 (Dec.), 27- 37.]]
[49]
EL-REWINI, H. AND LEWIS, T. G. 1990. Scheduling parallel program tasks onto arbitrary target machines. J. Parallel Distrib. Comput. 9, 2 (June 1990), 138-153.]]
[50]
EL-REWINI, H., LEWIS, T. G., AND ALI, H. H. 1994. Task scheduling in parallel and distributed systems. Prentice-Hall series in innovative technology. Prentice-Hall, Inc., Upper Saddle River, NJ.]]
[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]
FERREIRA, A. AND PARDALOS, P., Eds. 1996. Solving Combinatorial Optimization Problems in Parallel: Methods and Techniques. Lecture Notes in Computer Science, vol. 1054. Springer-Verlag, New York, NY.]]
[54]
FILHO, J. L. R., TRELEAVEN, P. C., AND ALIPPI, C. 1994. Genetic-algorithm programming environments. IEEE Computer 27, 6 (June 1994), 28-43.]]
[55]
FISHBURN, P. C. 1985. Interval Orders and Interval Graphs. John Wiley and Sons, Inc., New York, NY.]]
[56]
FORREST, S. AND MITCHELL, M. 1993. What makes a problem hard for a genetic algorithm?: some anomalous results and their explanation. Mach. Learn. 13, 2/3 (Nov./Dec. 1993), 285-319.]]
[57]
FREUND, R. F. AND SIEGEL, H. J. 1993. Heterogeneous processing. IEEE Computer 26, 6 (June), 13-17.]]
[58]
FRIESEN, D. K. 1987. Tighter bounds for LPT scheduling on uniform processors. SIAM J. Comput. 16, 3 (June 1987), 554-560.]]
[59]
FuJII, M., KASAMI, T., AND NINOMIYA, K. 1969. Optimal Sequencing of Two Equivalent Processors. SIAM J. Appl. Math. 17, 1.]]
[60]
GABOW, H. 1982. An almost linear algorithm for two-processor scheduling. J. ACM 29, 3 (July), 766-780.]]
[61]
GAJSKI, D. D. AND PIER, J. 1985. Essential issues in multiprocessors. IEEE Computer 18, 6 (June).]]
[62]
GAREY, M. AND JOHNSON, D. 1979. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman and Co., New York, NY.]]
[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]
GERASOULIS, A. AND YANG, T. 1993. On the granularity and clustering of directed acyclic task graphs. IEEE Trans. Parallel Distrib. Syst. 4, 6 (June), 686-701.]]
[66]
GOLDBERG, D. E. 1989. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Publishing Co., Inc., Redwood City, CA.]]
[67]
GONZALEZ, M. J., JR. 1977. Deterministic processor scheduling. ACM Comput. Surv. 9, 3 (Sept.), 173-204.]]
[68]
GONZALEZ, T. AND SAHNI, S. 1978. Preemptive scheduling of uniform processor systems. J. ACM 25, 1 (Jan.), 92-101.]]
[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]
HA, S. AND LEE, E. A. 1991. Compile-time scheduling and assignment of data-flow program graphs with data-dependent iteration. IEEE Trans. Comput. 40, 11 (Nov. 1991), 1225-1238.]]
[72]
HANAN, M. AND KURTZBERG, J. 1972. A review of the placement and quadratic assignment problems. SIAM Rev. 14 (Apr.), 324-342.]]
[73]
HOCHBAUM, D. S. AND SHMOYS, D. B. 1987. Using dual approximation algorithms for scheduling problems: theoretical and practical results. J. ACM 34, 1 (Jan. 1987), 144-162.]]
[74]
HOCHBAUM, D. S. AND SHMOYS, D. B. 1988. A polynomial approximation scheme for scheduling on uniform processors: Using the dual approximation approach. SIAM J. Comput. 17, 3 (June 1988), 539-551.]]
[75]
HOLLAND, J. H. 1992. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control and Artificial Intelligence. 2nd MIT Press, Cambridge, MA.]]
[76]
HORVATH, E. C., LAM, S., AND SETHI, R. 1977. A level algorithm for preemptive scheduling. J. ACM 24, 1 (Jan.), 32-43.]]
[77]
Hou, E. S. H., ANSARI, N., AND REN, H. 1994. A genetic algorithm for multiprocessor scheduling. IEEE Trans. Parallel Distrib. Syst. 5, 2 (Feb.), 113-120.]]
[78]
Hu, T.C. 1961. Parallel sequencing and assembly line problems. Oper. Res. 19, 6 (Nov.), 841-848.]]
[79]
HWANG, K. 1993. Advanced Computer Architecture: Parallelism, Scalability, Programmability. McGraw-Hill, Inc., New York, NY.]]
[80]
HWANG, J.-J., CHOW, Y.-C., ANGER, F. D., AND LEE, C.-Y. 1989. Scheduling precedence graphs in systems with interprocessor communication times. SIAM J. Comput. 18, 2 (Apr. 1989), 244-257.]]
[81]
INTEL SUPERCOMPUTER SYSTEMS DIVISION. 1991. iPSC/2 and iPSC/860 Interactive Parallel Debugger Manual.]]
[82]
JAIN, K. K. AND RAJARMAN, V. 1994. Lower and upper bounds on time for multiprocessor optimal schedules. IEEE Trans. Parallel Distrib. Syst. 5, 8 (Aug.), 879-886.]]
[83]
JAIN, K. K. AND RAJARAMAN, V. 1995. Improved lower bounds on time and processors for scheduling precedence graphs on multicomputer systems. J. Parallel Distrib. Comput. 28, 1 (July 1995), 101-108.]]
[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]
JOHNSON, D. S., PAPADIMTRIOU, C. H., AND YANNA- KAKIS, M. 1988. How easy is local search?. J. Comput. Syst. Sci. 37, 1 (Aug. 1988), 79-100.]]
[86]
KARP, R.M. 1991. An introduction to randomized algorithms. Discrete Appl. Math. 34, 1-3 (Nov. 1991), 165-201.]]
[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]
KIM, D. AND YI, B.-G. 1994. A two-pass scheduling algorithm for parallel programs. Parallel Comput. 20, 6 (June 1994), 869-885.]]
[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]
KOHLER, W. H. AND STEIGLITZ, K. 1974. Characterization and theoretical comparison of branch-and-bound algorithms for permutation problems. J. ACM21, 1 (Jan.), 140-156.]]
[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]
KRUATRACHUE, B. AND LEWIS, T.G. 1988. Grain size determination for parallel processing. IEEE Software 5, 1 (Jan.), 23-32.]]
[97]
KUMAR, V., GRAMA, A., GUPTA, A., AND KARYPIS, G. 1994. Introduction to Parallel Computing: Design and Analysis of Algorithms. Benjamin/Cummings, Redwood City, CA.]]
[98]
KWOK, Y.-K. 1997. High-performance algorithms for compile-time scheduling of parallel processors. Ph.D. Dissertation. Department of Computer Science, Hong Kong University of Science and Technology, Hong Kong.]]
[99]
KWOK, Y.-K. AND AHMAD, I. 1995. Bubble scheduling: A quasi-dynamic algorithm for static allocation of tasks to parallel architectures. In Proceedings of 7th Symposium on Parallel and Distributed Processing (Oct.), 36-43.]]
[100]
KWOK, Y.-K. AND AHMAD, I. 1996. Dynamic critical-path scheduling: An effective technique for allocating task graphs to multiprocessors. IEEE Trans. Parallel Distrib. Syst. 7, 5, 506- 521.]]
[101]
KWOK, Y.-K. AND AHMAD, I. 1997. Efficient scheduling of arbitrary task graphs to multiprocessors using a parallel genetic algorithm. J. Parallel Distrib. Comput. 47, 1, 58-77.]]
[102]
KWOK, Y.-K. AND AHMAD, I. 1999a. FASTEST: A practical low-complexity algorithm for compile-time assignment of parallel programs to multiprocessors. IEEE Trans. Parallel Distrib. Syst. 10, 2 (Feb.), 147-159.]]
[103]
KWOK, Y.-K. AND AHMAD, I. 1999b. Benchmarking and comparison of the task graph scheduling algorithms. J. Parallel Distrib. Comput. 59, 3 (Dec.), 381-422.]]
[104]
KWOK, Y.-K., AHMAD, I., AND GU, J. 1996. FAST: A low-complexity algorithm for efficient scheduling of DAGs on parallel processors. In Proceedings of 25th International Conference on Parallel Processing (Aug.), 150-157.]]
[105]
LEE, S.-Y. AND AGGARWAL, J. K. 1987. A mapping strategy for parallel processing. IEEE Trans. Comput. C-36, 4 (Apr. 1987), 433-442.]]
[106]
LEE, B., HURSON, A. R., AND FENG, T.Y. 1991. A vertically layered allocation scheme for data flow systems. J. Parallel Distrib. Comput. 11, 3 (Mar. 1991), 175-187.]]
[107]
LEUNG, J. Y.-T. AND YOUNG, G. H. 1989. Minimizing schedule length subject to minimum flow time. SIAM J. Comput. 18, 2 (Apr. 1989), 314-326.]]
[108]
LEWIS, T. G. AND EL-REWINI, H. 1993. Parallax: A tool for parallel program scheduling. IEEE Parallel Distrib. Technol. 1, 2 (May), 64-76.]]
[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]
LIOU, J.-C. AND PALIS, M.A. 1997. A comparison of general approaches to multiprocessor scheduling. In Proceedings of the 11th International Parallel Processing Symposium (Apr.), 152-156.]]
[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]
LORD, R. E., KOWALIK, J. S., AND KUMAR, S. P. 1983. Solving linear algebraic equations on an MIMD computer. J. ACM 30, 1 (Jan.), 103-117.]]
[114]
MANOHARAN, S. AND TOPHAM, N. P. 1995. An assessment of assignment schemes for dependency graphs. Parallel Comput. 21, 1 (Jan. 1995), 85-107.]]
[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]
MCCREARY, C. AND GILL, H. 1989. Automatic determination of grain size for efficient parallel processing. Commun. ACM 32, 9 (Sept. 1989), 1073-1078.]]
[118]
MCCREARY, C., KHAN, A. A., THOMPSON, J. J., AND MCARDLE, M. E. 1994. A comparison of heuristics for scheduling DAG's on multiprocessors. In Proceedings of International Parallel Processing Symposium, 446-451.]]
[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]
MENASC, D. AND ALMEIDA, V. 1990. Cost-performance analysis of heterogeneity in supercomputer architectures. In Proceedings on Supercomputing '90 (New York, NY, Nov. 12- 16, 1990), J. L. Martin, Ed. IEEE Computer Society Press, Los Alamitos, CA, 169-177.]]
[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]
MENASC, D. A., PORTO, S. C., AND TRIPATHI, S. K. 1992. Processor assignment in heterogeneous parallel architectures. In Proceedings of International Parallel Processing Symposium.]]
[124]
MENASC, D. A., SAHA, D., PORTO, S. C. D. S., ALMEIDA, V. A. F., AND TRIPATHI, S.K. 1995. Static and dynamic processor scheduling disciplines in heterogeneous parallel architectures. J. Parallel Distrib. Comput. 28, 1 (July 1995), 1-18.]]
[125]
MOTWANI, R. AND RAGHAVAN, P. 1995. Randomized Algorithms. Cambridge University Press, New York, NY.]]
[126]
NORMAN, M. G. AND THANISCH, P. 1993. Models of machines and computation for mapping in multicomputers. ACM Comput. Surv. 25, 3 (Sept. 1993), 263-302.]]
[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]
PALIS, M. A., LIOU, J.-C., AND WEI, D. S. L. 1996. Task clustering and scheduling for distributed memory parallel architectures. IEEE Trans. Parallel Distrib. Syst. 7, 1, 46- 55.]]
[129]
PANDE, S. S., AGRAWAL, D. P., AND MAUNEY, J. 1994. A threshold scheduling strategy for Sisal on distributed memory machines. J. Parallel Distrib. Comput. 21, 2 (May 1994), 223-236.]]
[130]
PAPADIMITRIOU, C. H. AND STEIGLITZ, K. 1982. Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall, Inc., Upper Saddle River, NJ.]]
[131]
PAPADIMITRIOU, C. H. AND ULLMAN, J. D. 1987. A communication-time tradeoff. SIAM J. Comput. 16, 4 (Aug. 1987), 639-646.]]
[132]
PAPADIMITRIOU, C. H. AND YANNAKAKIS, M. 1979. Scheduling interval-ordered tasks. SIAM J. Comput. 8, 405-409.]]
[133]
PAPADIMITRIOU, C. H. AND YANNAKAKIS, M. 1990. Towards an architecture-independent analysis of parallel algorithms. SIAM J. Comput. 19, 2 (Apr. 1990), 322-328.]]
[134]
PEASE, D., GHAFOOR, A., AHMAD, I., ANDREWS, D. L., FOUDIL-BEY, K., KARPINSKI, T. E., MIKKI, M. A., AND ZERROUKI, M. 1991. PAWS: A performance evaluation tool for parallel computing systems. IEEE Computer 24, 1 (Jan. 1991), 18-29.]]
[135]
PRAMANICK, I AND KUHL, J. G. 1995. An inherently parallel method for heuristic problemsolving: Part I-General framework. IEEE Trans. Parallel Distrib. Syst. 6, 10 (Oct.), 1006-1015.]]
[136]
PRASTEIN, M. 1987. Precedence-constrained scheduling with minimum time and communication. Master's Thesis. University of Illinois at Urbana-Champaign, Champaign, IL.]]
[137]
QUINN, M. J. 1994. Parallel computing (2nd ed.): theory and practice. McGraw-Hill, Inc., New York, NY.]]
[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]
RAYWARD-SMITH, V.J. 1987a. The complexity of preemptive scheduling given interprocessor communication delays. Inf. Process. Lett. 25, 2 (6 May 1987), 123-125.]]
[140]
RAYWARD-SMITH, V. J. 1987b. UET scheduling with unit interprocessor communication delays. Discrete Appl. Math. 18, 1 (Jan. 1987), 55-71.]]
[141]
SARKAR, V. 1989. Partitioning and Scheduling Parallel Programs for Multiprocessors. MIT Press, Cambridge, MA.]]
[142]
SCHWEHM, M., WALTER, T., BUCHBERGER, B., AND VOLKERT, J. 1994. Mapping and scheduling by genetic algorithms. In Proceedings of the 3rd Joint International Conference on Vector and Parallel Processing (CONPAR '94), Springer-Verlag, New York, NY, 832- 841.]]
[143]
SELVAKUMAR, S. AND MURTHY, C. S. R. 1994. Scheduling precedence constrained task graphs with non-negligible intertask communication onto multiprocessors. IEEE Trans. Parallel Distrib. Syst. 5, 3 (Mar.), 328-336.]]
[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]
SHIRAZI, B., WANG, M., AND PATHAK, G. 1990. Analysis and evaluation of heuristic methods for static task scheduling. J. Parallel Distrib. Comput. 10, 3 (Nov. 1990), 222-232.]]
[147]
SIEGEL, H. J., ARMSTRONG, J. B., AND WATSON, D. W. 1992. Mapping computer-vision-related tasks onto reconfigurable parallel-processing systems. IEEE Computer 25, 2 (Feb. 1992), 54-64.]]
[148]
SIEGEL, H. J., DIETZ, H. G., AND ANTONIO, J. K. 1996. Software support for heterogeneous computing. ACM Comput. Surv. 28, 1, 237- 239.]]
[149]
SIH, G. C. AND LEE, E.A. 1993a. A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures. IEEE Trans. Parallel Distrib. Syst. 4, 2 (Feb.), 75-87.]]
[150]
SIH, G. C. AND LEE, E.A. 1993b. Declustering: A new multiprocessor scheduling technique. IEEE Trans. Parallel Distrib. Syst. 4, 6 (June), 625-637.]]
[151]
SIMONS, B. B. AND WARMUTH, M.K. 1989. A fast algorithm for multiprocessor scheduling of unit-length jobs. SIAM J. Comput. 18, 4 (Aug. 1989), 690-710.]]
[152]
SRINIVAS, M. AND PATNAIK, L.M. 1994. Genetic algorithms: A survey. IEEE Computer 27, 6 (June 1994), 17-26.]]
[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]
SUMICHRAST, R. T. 1987. Scheduling parallel processors to minimize setup time. Comput. Oper. Res. 14, 4 (Oct. 1987), 305-313.]]
[155]
STORER, R. H., WU, S. D., AND VACCARI, R. 1992. New search spaces for sequencing problems with application to job shop scheduling. Manage. Sci. 38, 10 (Oct. 1992), 1495- 1509.]]
[156]
THINKING MACHINES CORPORATION. 1991. PRISM User's Guide. Thinking Machines Corp., Bedford, MA.]]
[157]
TOWSLEY, D 1986. Allocating programs containing branches and loops within a multiple processor system. IEEE Trans. Softw. Eng. SE- 12, 10 (Oct. 1986), 1018-1024.]]
[158]
VARVARIGOU, T. A., ROYCHOWDHURY, V. P., KAILATH, T., AND LAWLER, E. 1996. Scheduling in and out forests in the presence of communication delays. IEEE Trans. Parallel Distrib. Syst. 7, 10, 1065-1074.]]
[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]
WANG, Q. AND CHENG, K.H. 1991. List scheduling of parallel tasks. Inf. Process. Lett. 37, 5 (Mar. 14, 1991), 291-297.]]
[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]
TONG, W. S. AND MORRIS, R. J.T. 1989. A new approach to choosing initial points in local search. Inf. Process. Lett. 30, 2 (Jan. 1989), 67-72.]]
[165]
Wu, M.-Y. AND GAJSKI, D.D. 1990. Hypertool: A programming aid for message-passing systems. IEEE Trans. Parallel Distrib. Syst. 1, 3 (1990), 330-343.]]
[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]
YANG, T. AND GERASOULIS, A. 1993. List scheduling with and without communication delays. Parallel Comput. 19, 12 (Dec. 1993), 1321- 1344.]]
[168]
YANG, T. AND GERASOULIS, A. 1992. PYRROS: Static task scheduling and code generation for message passing multiprocessors. In Proceedings of the 1992 international conference on Supercomputing (ICS '92, Washington, DC, July 19-23, 1992), K. Kennedy and C. D. Polychronopoulos, Eds. ACM Press, New York, NY, 428-437.]]
[169]
YANG, T. AND GERASOULIS, A. 1994. DSC: Scheduling parallel tasks on an unbounded number of processors. IEEE Trans. Parallel Distrib. Syst. 5, 9 (Sept.), 951-967.]]
[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

View all
  • (2024)SHERLOCK: Scheduling Efficient and Reliable Bulk Bitwise Operations in NVMsProceedings of the 61st ACM/IEEE Design Automation Conference10.1145/3649329.3658485(1-6)Online publication date: 23-Jun-2024
  • (2024)Automated Buffer Sizing of Dataflow Applications in a High-level Synthesis WorkflowACM Transactions on Reconfigurable Technology and Systems10.1145/362610317:1(1-26)Online publication date: 27-Jan-2024
  • (2024)Optimal Scheduling of Agents in ADTrees: Specialized Algorithm and Declarative ModelsIEEE Transactions on Reliability10.1109/TR.2024.335445973:2(861-875)Online publication date: Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Computing Surveys
ACM Computing Surveys  Volume 31, Issue 4
Dec. 1999
145 pages
ISSN:0360-0300
EISSN:1557-7341
DOI:10.1145/344588
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 December 1999
Published in CSUR Volume 31, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. DAG
  2. automatic parallelization
  3. multiprocessors
  4. parallel processing
  5. software tools
  6. static scheduling
  7. task graphs

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1,075
  • Downloads (Last 6 weeks)215
Reflects downloads up to 23 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)SHERLOCK: Scheduling Efficient and Reliable Bulk Bitwise Operations in NVMsProceedings of the 61st ACM/IEEE Design Automation Conference10.1145/3649329.3658485(1-6)Online publication date: 23-Jun-2024
  • (2024)Automated Buffer Sizing of Dataflow Applications in a High-level Synthesis WorkflowACM Transactions on Reconfigurable Technology and Systems10.1145/362610317:1(1-26)Online publication date: 27-Jan-2024
  • (2024)Optimal Scheduling of Agents in ADTrees: Specialized Algorithm and Declarative ModelsIEEE Transactions on Reliability10.1109/TR.2024.335445973:2(861-875)Online publication date: Jun-2024
  • (2024)Improved Algorithms for Co-Scheduling of Edge Analytics and Routes for UAV Fleet MissionsIEEE/ACM Transactions on Networking10.1109/TNET.2023.327781032:1(17-33)Online publication date: Feb-2024
  • (2024)Towards Highly Compatible I/O-Aware Workflow Scheduling on HPC SystemsProceedings of the International Conference for High Performance Computing, Networking, Storage, and Analysis10.1109/SC41406.2024.00031(1-15)Online publication date: 17-Nov-2024
  • (2024)Scheduling Optimization of Experimental Courses Based on Improved Genetic Algorithm2024 6th International Conference on Computer Science and Technologies in Education (CSTE)10.1109/CSTE62025.2024.00042(185-189)Online publication date: 19-Apr-2024
  • (2024)An exploration of online-simulation-driven portfolio scheduling in Workflow Management SystemsFuture Generation Computer Systems10.1016/j.future.2024.07.005161:C(345-360)Online publication date: 1-Dec-2024
  • (2024)Task graph offloading via deep reinforcement learning in mobile edge computingFuture Generation Computer Systems10.1016/j.future.2024.04.034158:C(545-555)Online publication date: 1-Sep-2024
  • (2024)CPTF–a new heuristic based branch and bound algorithm for workflow scheduling in heterogeneous distributed computing systemsCCF Transactions on High Performance Computing10.1007/s42514-024-00192-0Online publication date: 15-May-2024
  • (2024)DRL-based dependent task offloading with delay-energy tradeoff in medical image edge computingComplex & Intelligent Systems10.1007/s40747-023-01322-xOnline publication date: 29-Jan-2024
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media