This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing
March 2002 (vol. 13 no. 3)
pp. 260-274

Efficient application scheduling is critical for achieving high performance in heterogeneous computing environments. The application scheduling problem has been shown to be NP-complete in general cases as well as in several restricted cases. Because of its key importance, this problem has been extensively studied and various algorithms have been proposed in the literature which are mainly for systems with homogeneous processors. Although there are a few algorithms in the literature for heterogeneous processors, they usually require significantly high scheduling costs and they may not deliver good quality schedules with lower costs. In this paper, we present two novel scheduling algorithms for a bounded number of heterogeneous processors with an objective to simultaneously meet high performance and fast scheduling time, which are called the Heterogeneous Earliest-Finish-Time (HEFT) algorithm and the Critical-Path-on-a-Processor (CPOP) algorithm. The HEFT algorithm selects the task with the highest upward rank value at each step and assigns the selected task to the processor, which minimizes its earliest finish time with an insertion-based approach. On the other hand, the CPOP algorithm uses the summation of upward and downward rank values for prioritizing tasks. Another difference is in the processor selection phase, which schedules the critical tasks onto the processor that minimizes the total execution time of the critical tasks. In order to provide a robust and unbiased comparison with the related work, a parametric graph generator was designed to generate weighted directed acyclic graphs with various characteristics. The comparison study, based on both randomly generated graphs and the graphs of some real applications, shows that our scheduling algorithms significantly surpass previous approaches in terms of both quality and cost of schedules, which are mainly presented with schedule length ratio, speedup, frequency of best results, and average scheduling time metrics.

[1] M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness.New York: W.H. Freeman, 1979.
[2] J.D. Ullman, “NP-Complete Scheduling Problems,” J. Computer and Systems Sciences, vol. 10, pp. 384-393, 1975.
[3] 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.
[4] Y.-K. Kwok and I. Ahmad, “Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors,” IEEE Trans. Parallel and Distributed Systems, vol. 7, no. 5, pp. 506-521, May 1996.
[5] E.S. Hou, N. Ansari, and H. Ren, A Genetic Algorithm for Multiprocessor Scheduling IEEE Trans. Parallel and Distributed Systems, vol. 5, no. 2, pp. 113-120, 1994.
[6] 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.
[7] 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.
[8] H. Singh and A. Youssef, “Mapping and Scheduling Heterogeneous Task Graphs Using Genetic Algorithms,” Proc. Heterogeneous Computing Workshop, pp. 86-97, 1996.
[9] I. Ahmad and Y. Kwok, “A New Approach to Scheduling Parallel Programs Using Task Duplication,” Proc. Int'l Conf. Parallel Processing, vol. 2, pp. 47-51, 1994.
[10] M. Iverson, F. Ozguner, and G. Follen, “Parallelizing Existing Applications in a Distributed Heterogeneous Environment,” Proc. Heterogeneous Computing Workshop, pp. 93-100, 1995.
[11] P. Shroff, D.W. Watson, N.S. Flann, and R. Freund, “Genetic Simulated Annealing for Scheduling Data-Dependent Tasks in Heterogeneous Environments,” Proc. Heterogeneous Computing Workshop, pp. 98-104, 1996.
[12] 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.
[13] L. Wang, H.J. Siegel, and V.P. Roychowdhury, “A Genetic-Algorithm-Based Approach for Task Matching and Scheduling in Heterogeneous Computing Environments,” Proc. Heterogeneous Computing Workshop, 1996.
[14] M. Maheswaran and H.J. Siegel, “A Dynamic Matching and Scheduling Algorithm for Heterogeneous Computing Systems,” Proc. Heterogeneous Computing Workshop, pp. 57-69, 1998.
[15] L. Tao, B. Narahari, and Y.C. Zhao, “Heuristics for Mapping Parallel Computations to Heterogeneous Parallel Architectures,” Proc. Heterogeneous Computing Workshop, 1993.
[16] M. Wu, W. Shu, and J. Gu, “Local Search for DAG Scheduling and Task Assignment,” Proc. 1997 Int'l Conf. Parallel Processing, pp. 174-180, 1997.
[17] R.C. Correa, A. Ferreria, and P. Rebreyend, “Integrating List Heuristics into Genetic Algorithms for Multiprocessor Scheduling,” Proc. Eighth IEEE Symp. Parallel and Distributed Processing (SPDP '96), Oct. 1996.
[18] B. Kruatrachue and T. Lewis,"Grain size determination for parallel processing," IEEE Software, pp. 23-32, Jan. 1988.
[19] S.J. Kim and J.C. Browne, “A General Approach to Mapping of Parallel Computation upon Multiprocessor Architectures,” Proc. Int'l Conf. Parallel Processing, vol. 2, pp. 1-8, 1988.
[20] Y.-K. Kwok, I. Ahmad, and J. Gu, “FAST: A Low-Complexity Algorithm for Efficient Scheduling of DAGs on Parallel Processors,” Proc. Int'l Conf. Parallel Processing (ICPP), vol. II, pp. 150-157, Aug. 1996.
[21] Y. Kwok and I. Ahmad, “Benchmarking the Task Graph Scheduling Algorithms,” Proc. First Merged Int'l Parallel Pocessing Symp./Symp. Parallel and Distributed Processing Conf., pp. 531-537, 1998.
[22] 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.
[23] H. El-Rewini, H.H. Ali, and T.G. Lewis, “Task Scheduling in Multiprocessing Systems,” Computer, pp. 27-37, Dec. 1995.
[24] J. Liou and M.A. Palis, “A Comparison of General Approaches to Multiprocessor Scheduling,” Proc. Int'l Parallel Processing Symp., pp. 152-156, 1997.
[25] J. Liou and M.A. Palis, “An Efficient Clustering Heuristic for Scheduling DAGs on Multiprocessors,” Proc. Symp. Parallel and Distributed Processing, 1996.
[26] A. Radulescu and A.J.C. van Gemund, “LLB: A Fast and Effective Scheduling Algorithm for Distributed-Memory Systems,” Proc. Int'l Parallel Processing Symp./Symp. Parallel and Distributed Processing (IPPS/SPDP), pp. 525-530, Apr. 1999.
[27] G.-L. Park, B. Shirazi, and J. Marquis, “DFRN: A New Approach for Duplication Based Scheduling for Distributed Memory Multiprocessor System,” Proc. Int'l Parallel Processing Symp. (IPPS), pp. 157-166, Apr. 1997.
[28] M. Cosnard, M. Marrakchi, Y. Robert, and D. Trystram, “Parallel Gaussian Elimination on an MIMD Computer,” Parallel Computing, vol. 6, pp. 275-295, 1988.
[29] T.H. Cormen,C.E. Leiserson, and R.L. Rivest,Introduction to Algorithms.Cambridge, Mass.: MIT Press/McGraw-Hill, 1990.
[30] Y.-C. Chung and S. Ranka,"Applications and performance analysis of a compile-time optimization approach for list scheduling algorithms on distributed memory multiprocessors," Proc. Supercomputing '92, pp. 512-521, 1992.
[31] T.D. Braun, H.J. Siegel, N. Beck, L.L. Bölöni, M. Maheswaran, A.I. Reuther, J.P. Robertson, M.D. Theys, B. Yao, D. Hensgen, and R.F. Freund, “A Comparison Study of Static Mapping Heuristics for a Class of Meta-Tasks on Heterogeneous Computing Systems,” Proc. Eighth IEEE Workshop on Heterogeneous Computing Systems (HCW '99), pp. 15-29, Apr. 1999.

Index Terms:
DAG scheduling, task graphs, heterogeneous systems, list scheduling, mapping
Citation:
H. Topcuoglu, S. Hariri, M.Y. Wu, "Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing," IEEE Transactions on Parallel and Distributed Systems, vol. 13, no. 3, pp. 260-274, March 2002, doi:10.1109/71.993206
Usage of this product signifies your acceptance of the Terms of Use.