This Article 
 Bibliographic References 
 Add to: 
Optimal Scheduling Algorithm for Distributed-Memory Machines
January 1998 (vol. 9 no. 1)
pp. 87-95

Abstract—Task Scheduling is one of the key elements in any distributed-memory machine (DMM), and an efficient algorithm can help reduce the interprocessor communication time. As optimal scheduling of tasks to DMMs is a strong NP-hard problem, many heuristic algorithms have been introduced in the literature. This paper presents a Task Duplication based Scheduling (TDS) algorithm which can schedule directed acyclic graphs (DAGs) with a complexity of O(|V|2), where |V| is the number of tasks in the DAG. This algorithm generates an optimal schedule for a class of DAGs which satisfy a simple cost relationship. The performance of the algorithm has been observed by its application to some practical DAGs, and by comparing it with other existing scheduling schemes in terms of the schedule length and algorithm complexity.

[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] A.V. Aho,J.E. Hopcroft, and J.D. Ullman,The Design and Analysis of Computer Algorithms.Reading, Mass.: Addison-Wesley, 1974.
[3] D.P. Bertsekas and J.N. Tsitsiklis, Parallel and Distributed Computation.Englewood Cliffs, N.J.: Prentice Hall International, 1989.
[4] H.B. Chen, B. Shirazi, K. Kavi, and A.R. Hurson, "Static Scheduling Using Linear Clustering with Task Duplication," Proc. ISCA Int'l Conf. Parallel and Distributed Computing and Systems, pp. 285-290,Louisville, Ky., Oct.14-16 1993.
[5] J.Y. Colin and P. Chritienne, "C.P.M. Scheduling with Small Communication Delays and Task Duplication," Operations Research, vol. 39, no. 4, pp. 680-684, July 1991.
[6] S. Darbha and D.P. Agrawal, "SDBS: A Task Duplication Based Optimal Scheduling Algorithm," Proc. Scalable High Performance Computing Conf., pp. 756-763,Knoxville, Tenn., May23-25 1994.
[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] A. Gerasoulis and T. Yang, "A Comparison of Clustering Heuristics for Scheduling Directed Acyclic Graphs on Multiprocessors," J. Parallel and Distributed Computing, vol. 16, pp. 276-291, 1992.
[9] R.L. Graham, L.E. Lawler, J.K. Lenstra, and A.H. Kan, "Optimization and Approximation in Deterministic Sequencing and Scheduling: A Survey," Annals of Discrete Mathematics, pp. 287-326, 1979.
[10] O.H. Ibarra and S.M. Sohn, "On Mapping Systolic Algorithms onto the Hypercube," IEEE Trans. Parallel and Distributed Systems, vol. 1, no. 1, pp. 48-63, Jan. 1990.
[11] S.J. Kim and J.C. Browne, "A General Approach to Mapping of Parallel Computation upon Multiprocessor Architectures," Int'l Conf. Parallel Processing, vol. 3, pp. 1-8, 1988.
[12] J.P. Kitajima and B. Plateau, "Building Synthetic Parallel Programs: The Project (ALPES)," Proc. IFIP WG 10.3 Workshop on Programming Environments for Parallel Computing, pp. 161-170,Edinburgh, Scotland, Apr.6-8, 1992.
[13] B. Kruatrachue,“Static taskscheduling and grain packing in parallel processing systems,”Ph.D. dissertation, Comput. Sci. Dep., Oregon State Univ., 1987.
[14] Y.-K. Kwok and I. Ahmad, "Exploiting Duplication to Minimize the Execution Times of Parallel Programs on Message-Passing Systems," Proc. Sixth IEEE Symp. Parallel and Distributed Processing, pp. 426-433, Oct.26-29, 1994.
[15] S. S. Pande, D. P. Agrawal, and J. Mauney,“A new threshold scheduling strategy for Sisal programs on distributed memory machines,”J. Parallel And Distrib. Comput., vol. 21, no. 2, pp. 223–236, May 1994.
[16] S.S. Pande, D.P. Agrawal, and J. Mauney, "A Scalable Scheduling Method for Functional Parallelism on Distributed Memory MultiProcessors," IEEE Trans. Parallel and Distributed Systems, vol. 6, no. 4, pp. 388-399, Apr. 1995.
[17] V. Sarkar,Partitioning and Scheduling Parallel Programs for Execution on Multiprocessors.Cambridge, Mass.: MIT Press, 1989.
[18] 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.
[19] M.Y. Wu and D. Gajski, "A Programming Aid for Hypercube Architectures," J. Supercomputing, vol. 2, pp. 349-372, 1988.

Index Terms:
Directed acyclic graph, distributed-memory machines, optimal scheduling algorithms, task duplication, task scheduling.
Sekhar Darbha, Dharma P. Agrawal, "Optimal Scheduling Algorithm for Distributed-Memory Machines," IEEE Transactions on Parallel and Distributed Systems, vol. 9, no. 1, pp. 87-95, Jan. 1998, doi:10.1109/71.655248
Usage of this product signifies your acceptance of the Terms of Use.