This Article 
 Bibliographic References 
 Add to: 
Push-Pull: Deterministic Search-Based DAG Scheduling for Heterogeneous Cluster Systems
November 2007 (vol. 18 no. 11)
pp. 1489-1502
Consider DAG scheduling for a large heterogeneous system, which consists of processors with varying processing capabilities and network links with varying bandwidths. The search space of possible task schedules for this problem is immense. One possible approach for this optimization problem, which is NP-hard, is to start with the best task schedule found by a fast deterministic task scheduling algorithm, and then iteratively attempt to improve the task schedule by employing a general random guided search method. However, such an approach can lead to extremely long search times, and the solutions found are sometimes not significantly better than those found by the original deterministic task scheduling algorithm. In this paper, we propose an alternative strategy, termed Push-Pull, which starts with the best task schedule found by a fast deterministic task scheduling algorithm, and then iteratively attempts to improve the current best solution using a deterministic guided search method. Our simulation results show that, given similar running times, the Push-Pull algorithm performs well, achieving similar or better results than all of the other algorithms being compared.

[1] M.R. Garey and D.S. Johnson, A Guide to the Theory of NP-Completeness. W.H. Freeman, 1979.
[2] H. El-Rewini, T.G. Lewis, and H.H. Ali, Task Scheduling in Parallel and Distributed Systems. W.H. Freeman, 1979.
[3] R.L. Graham, E.L. Lawler, J. Lenstra, and A.R. Kan, “Optimization and Approximation in Deterministic Sequencing and Scheduling: A Survey,” Annals of Discrete Math., vol. 5, pp. 287-326, 1979.
[4] T.L. Casavant and J.G. Kuhl, “A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems,” IEEE Trans. Software Eng., vol. 14, pp. 141-154, Feb. 1988.
[5] H.G. Rotithor, “Taxonomy of Dynamic Task Scheduling Schemes in Distributed Computing Systems,” IEE Proc. Computers Digital Techniques, vol. 141, Jan. 1994.
[6] H. Topcuoglu, S. Harir, and M.-Y. Wu, “Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing,” IEEE Trans. Parallel and Distributed Systems, vol. 13, no. 3, pp.260-274, Mar. 2002.
[7] L. Wang, H.J. Siegel, V.P. Roychowdhury, and A.A. Maciejewski, “Task Matching and Scheduling in Heterogeneous Computing Environments Using a Genetic-Algorithm-Based Approach,” J.Parallel and Distributed Computing, vol. 47, pp. 8-22, 1997.
[8] T.L. Adam, K.M. Chandy, and J.R. Dickson, “A Comparison of List Schedules for Parallel Processing Systems,” Comm. ACM, vol. 17, pp. 685-690, Dec. 1974.
[9] T.D. Braun, H.J. Siegel, and N. Beck, “A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems,” J. Parallel and Distributed Computing, vol. 61, pp. 810-837, June 2001.
[10] T. Hagras and J. Janecek, “A Simple Scheduling Heuristic for Heterogeneous Computing Environments,” Proc. Second Int'l Symp. Parallel and Distributed Computing (ISPDC '03), 2003.
[11] A. Giersch, Y. Robert, and F. Vivien, “Scheduling Tasks Sharing Files on Heterogeneous Clusters,” technical report, Ecole Normale Superieure de Lion, May 2003.
[12] R.C. Correa, A. Ferreira, and P. Rebreyend, “Scheduling Multiprocessor Tasks with Genetic Algorithms,” IEEE Trans. Parallel and Distributed Systems, vol. 10, pp. 825-837, Aug. 1999.
[13] J. Holland, Adaptation in Natural and Artificial Systems. Univ. of Michigan Press, 1975.
[14] Z. Michalewicz, Genetic Algorithms + Data Structure = Evolution Programs. Springer, 1996.
[15] S. Kirkpatrick, C.D. Gelatt, and M.P. Vecchi, “Optimization by Simulated Annealing,” Science, vol. 220, no. 4598, pp. 671-680, May 1983.
[16] S. Nahar, S. Sahni, and E. Shragowitz, “Simulated Annealing and Combinatorial Optimization,” Proc. 23rd ACM/IEEE Design Automation Conf. (DAC '86), pp. 293-299, 1986.
[17] Y.G. Saab and V.B. Rao, “Combinatorial Optimization by Stochastic Evolution,” IEEE Trans. Computer-Aided Design, vol. 10, pp. 525-535, Oct. 1999.
[18] M.-Y. Wu, W. Shu, and J. Gu, “Efficient Local Search for DAG Scheduling,” IEEE Trans. Parallel and Distributed Systems, vol. 12, June 2001.
[19] P.-J. Chuang and C.-H. Wei, “An Efficient Optimization Technique for Task Matching and Scheduling in Heterogeneous Computing Systems,” Proc. Ninth Int'l Conf. Parallel and Distributed Systems (ICPADS '02), pp. 419-424, 2002.
[20] H. Barada, S.M. Sait, and N. Baig, “Task Matching and Scheduling in Heterogeneous Systems Using Simulated Evolution,” Proc. 15th Int'l Parallel and Distributed Processing Symp. (IPDPS '01), 2001.
[21] I.D. Falco, R.D. Balio, E. Tarantino, and R. Vaccaro, “Improving Search by Incorporating Evolution Principles in Parallel Tabu Search,” Proc. IEEE Conf. Evolutionary Computation, IEEE World Congress on Computational Intelligence, vol. 2, pp. 823-828, 1994.

Index Terms:
Task Scheduling, Optimization, Heterogeneous Systems, Cluster Systems
Sang Cheol Kim, Sunggu Lee, Jaegyoon Hahm, "Push-Pull: Deterministic Search-Based DAG Scheduling for Heterogeneous Cluster Systems," IEEE Transactions on Parallel and Distributed Systems, vol. 18, no. 11, pp. 1489-1502, Nov. 2007, doi:10.1109/TPDS.2007.1106
Usage of this product signifies your acceptance of the Terms of Use.