This Article 
 Bibliographic References 
 Add to: 
Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors
May 1996 (vol. 7 no. 5)
pp. 506-521

Abstract—In this paper, we propose a static scheduling algorithm for allocating task graphs to fully connected multiprocessors. We discuss six recently reported scheduling algorithms and show that they possess one drawback or the other which can lead to poor performance. The proposed algorithm, which is called the Dynamic Critical-Path (DCP) scheduling algorithm, is different from the previously proposed algorithms in a number of ways. First, it determines the critical path of the task graph and selects the next node to be scheduled in a dynamic fashion. Second, it rearranges the schedule on each processor dynamically in the sense that the positions of the nodes in the partial schedules are not fixed until all nodes have been considered. Third, it selects a suitable processor for a node by looking ahead the potential start times of the remaining nodes on that processor, and schedules relatively less important nodes to the processors already in use. A global as well as a pair-wise comparison is carried out for all seven algorithms under various scheduling conditions. The DCP algorithm outperforms the previous algorithms by a considerable margin. Despite having a number of new features, the DCP algorithm has admissible time complexity, is economical in terms of the number of processors used and is suitable for a wide range of graph structures.

[1] T.L. Adam, K.M. Chandy, and J.R. Dickson, “A Comparison of List Schedules for Parallel Processing Systems,” Comm. ACM, vol. 17, no. 12, pp. 685-690, Dec. 1974.
[2] V.A.F. Almeida, I.M. Vasconcelos, J.N.C. Arabe, and D.A. Menasce, "Using Random Task Graphs to Investigate the Potential Benefits of Heterogeneity in Parallel Systems," Proc. Supercomputing '92, pp. 683-691, Nov. 1992.
[3] M.A. Al-Mouhamed, Lower Bound on the Number of Processors and Time for Scheduling Precedence Graphs with Communication Costs IEEE Trans. Software Eng., vol. 16, no. 12, pp. 1390-1401, Dec. 1990.
[4] F.D. Anger, J.J. Hwang, and Y.C. Chow, “Scheduling with Sufficient Loosely Coupled Processors,” J. Parallel and Distributed Computing, vol. 9, pp. 87-92, 1990.
[5] A.F. Bashir, V. Susarla, and K. Vairavan, "A Statistical Study of the Performance of a Task Scheduling Algorithm," IEEE Trans. Computers, vol. 32, no. 12, pp. 774-777, Dec. 1975.
[6] S. Bokhari, "A Shortest Tree Algorithm for Optimal Assignments Across Space and Time in Distributed Processor Systems," IEEE Trans. Software Engineering, vol. 7, no. 6, Nov. 1981.
[7] J. Bruno, E.G. Coffman, and R. Sethi, "Scheduling Independent Tasks to Reduce Mean Finishing Time," Comm. ACM, vol. 17, no. 7, pp. 382-387, July 1974.
[8] V. Chaudhary and J.K. Aggarwal, "A Generalized Scheme for Mapping Parallel Algorithms," IEEE Trans. Parallel and Distributed Systems, Mar. 1993, pp. 328-346.
[9] E.G. Coffman, Computer and Job-Shop Scheduling Theory.New York: Wiley, 1976.
[10] M. Cosnard, M. Marrakchi, Y. Robert, and D. Trystram, "Parallel Gaussian Elimination on an MIMD Computer," Parallel Computing, vol. 6, pp. 275-296, 1988.
[11] E.B. Fernadez and B. Bussell, "Bounds on the Number of Processors and Time for Multiprocessor Optimal Schedules," IEEE Trans. Computers, vol. 22, no. 8, pp. 745-751, Aug. 1973.
[12] M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness.New York: W.H. Freeman, 1979.
[13] A. Gerasoulis and T. Yang, "A Comparison of Clustering Heuristics for Scheduling DAG's on Multiprocessors," J. Parallel and Distributed Computing, vol. 16, no. 4, pp. 276-291, Dec. 1992.
[14] M.J. Gonzalez, "Deterministic Processor Scheduling," Computing Surveys, vol. 9, no. 3, Sept. 1977.
[15] R.L. Graham, E.L. Lawler, J.K. Lenstra, and A.H.G. Rinnoy Kan, "Optimization and Approximation in Deterministic Sequencing and Scheduling: A Survey," Annals of Discrete Mathematics, no. 5, pp. 287-326, 1979.
[16] J.J. Hwang,Y.C. Chow,F.D. Anger, and C.Y. Lee,"Scheduling precedence graphs in systems with interprocessor communication times," SIAM J. Computing, vol. 18, no. 2, pp. 244-257, Apr. 1989.
[17] D.S. Hochbaum and D.B. Shmoys, "Using Dual Approximation Algorithms for Scheduling Problems: Theoretical and Practical Results," J. ACM, vol. 34, no. 1, pp. 144-162, Jan. 1987.
[18] T.C. Hu, "Parallel Sequencing and Assembly Line Problems," Oper. Research, vol. 19, no. 6, pp. 841-848, Nov. 1961.
[19] H. Kasahara and S. Narita, "Practical Multiprocessor Scheduling Algorithms for Efficient Parallel Processing," IEEE Trans. on Computers, vol. 33, no. 11, pp. 1,023-1,029, Nov. 1984.
[20] S.J. Kim and J.C. Browne, "A General Approach to Mapping of Parallel Computation upon Multiprocesor Architectures," Proc. Int'l Conf. Parallel Processing, pp. 1-8, 1988.
[21] W.H. Kohler and K. Steiglitz, "Characterization and Theoretical Comparison of Branch-and-Bound Algorithms for Permutation Problems," J. ACM, vol. 21, no. 1, pp. 140-156, Jan. 1974.
[22] W.H. Kohler, "A Preliminary Evaluation of the Critical Path Method for Scheduling Tasks on MultiProcessor Systems," IEEE Trans. Computers, vol. 24, no. 12, pp. 1,235-1,238, Dec. 1975.
[23] B. Lee, A.R. Hurson, and T.Y. Feng, "A Vertically Layered Allocation Scheme for Dataflow Systems," J. Parallel and Distributed Computing, Vol. 11, No. 3, Mar. 1991, pp. 175-187.
[24] S.-Y. Lee and J.K. Aggarwal, “A Mapping Strategy for Parallel Processing,” IEEE Trans. Computers vol. 36, no. 4, pp. 433–442, Apr. 1987.
[25] T.G. Lewis and H. El-Rewini, Introduction to Parallel Computing.New York: Prentice Hall, 1992.
[26] R.E. Lord, J.S. Kowalik, and S.P. Kumar, "Solving Linear Algebraic Equations on an MIMD Computer," J. ACM, vol. 30, no. 3, pp. 103-117, Jan. 1983.
[27] C. McCreary and H. Gill,"Automatic determination of grain size for efficient parallel processing," Comm. ACM, pp. 1,073-1,078, Sept. 1989.
[28] J.M. Ortega, Introduction to Parallel and Vector Solution of Linear Systems, Plenum Press, New York, 1988.
[29] C.H. Papadimitriou and M. Yannakakis,"Towards an architecture-independent analysis of parallel algorithms," SIAM J. Computing, vol. 19, no. 2, pp. 322-328, Apr. 1990.
[30] C.V. Ramamoorthy, K.M. Chandy, and M.J. Gonzalez, "Optimal Scheduling Strategies in a Multiprocessor System," IEEE Trans. Computers, vol. 21, no. 2, pp. 137-146, Feb. 1972.
[31] H.E. Rewini and T.G. Lewis,"Scheduling parallel program tasks onto arbitrary target machines," J. Parallel and Distributed Computing, vol. 9, pp. 138-153, 1990.
[32] V. Sarkar,Partitioning and Scheduling Parallel Programs for Execution on Multiprocessors.Cambridge, Mass.: MIT Press, 1989.
[33] R. Sethi, "Scheduling Graphs on Two Processors," SIAM J. Computing, vol. 5, no.1, pp. 73-82, Mar. 1976.
[34] B. Shirazi, M. Wang, and G. Pathak, “Analysis and Evaluation of Heuristic Methods for Static Task Scheduling,” J. Parallel and Distributed Computing, vol. 10, no. 3, pp. 222-232, Nov. 1990.
[35] G.C. Sih and E.A. Lee, “A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures,” IEEE Trans. Parallel and Distributed Systems, vol. 4, no. 2, pp. 175-186, Feb. 1993.
[36] T. Yang and A. Gerasoulis, “DSC: Scheduling Parallel Tasks on an Unbounded Number of Processors,” IEEE Trans. Parallel and Distributed Systems, vol. 5, pp. 951-967, 1994.
[37] M.Y. Wu and D.D. Gajski,"Hypertool: A programming aid for message-passing systems," IEEE Transactions on Parallel and Distributed Systems, vol. 1, no. 3, pp. 330-343, July 1990.

Index Terms:
Algorithms, clustering, list scheduling, multiprocessors, processor allocation, parallel scheduling, task graphs.
Yu-Kwong Kwok, Ishfaq Ahmad, "Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors," IEEE Transactions on Parallel and Distributed Systems, vol. 7, no. 5, pp. 506-521, May 1996, doi:10.1109/71.503776
Usage of this product signifies your acceptance of the Terms of Use.