Summary
The cost of inter-processor communication is one of the major bottlenecks of a distributed memory machine (DMM) which can be offset with efficient algorithms for task partitioning and scheduling. Based on the data dependencies, the task partitioning algorithm partitions the application program into tasks and represents them in the form of a directed acyclic graph (DAG) or in compiler intermediate forms. The scheduling algorithm schedules the tasks onto individual processors of the DMM in an effort to lower the overall parallel time. It has been long proven that obtaining an optimal schedule for a generic DAG is an NP-hard problem. This chapter presents a Scalable Task Duplication based Scheduling (STDS) algorithm which can schedule the tasks of a DAG with a worst case complexity of O(|v|2), where v is the set of tasks of the DAG. STDS algorithm generates an optimal schedule for a certain class of DAGs which satisfy a Cost Relationship Condition (CRC), provided the required number of processors are available. In case the required number of processors are not available the algorithm scales the schedule down to the available number of processors. The performance of the scheduling algorithm has been evaluated by its application to practical DAGs and by comparing the parallel time of the schedule generated against the absolute or the theoretical lowerbound.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
T.L. Adam, K.M. Chandy and J.R. Dickson, “A Comparison of List Schedules For Parallel Processing Systems”, Communications of the ACM, vol. 17, no. 12, December 1974, pp. 685–690.
I. Ahmed and Y.-k. Kwok, “A New Approach to Scheduling Parallel Programs Using Task Duplication”, International Conference on Parallel Processing, August 1994, Vol. II, pp. 47–51.
A.V. Aho, J.E. Hopcroft and J.D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley Publishing Company, 1974.
D.P. Bertsekas and J.N. Tsitsiklis, “Parallel and Distributed Computation: Numerical Methods”, Prentice-Hall International, 1989.
T. Cassavant and J.A. Kuhl, “Taxonomy of Scheduling In General Purpose Distributed Computing Systems”, IEEE Transactions on Software Engineering, vol. 14, no. 2, February 1988, pp. 141–154.
H.B. Chen, B. Shirazi, K. Kavi and A.R. Hurson, “Static Scheduling Using Linear Clustering with Task Duplication”, In Proceedings of the ISCA International Conference on Parallel and Distributed Computing and Systems, 1993, pp. 285–290.
Y.C. Chung and S. Ranka, “Application and Performance Analysis of a Compile-Time Optimization Approach for List Scheduling Algorithms on Distributed Memory Multiprocessors”, Proceedings of Supercomputing’92, Nov. 1992, pp. 512–521.
J.Y. Colin and P. Chritienne, “C.P.M. Scheduling With Small Communication Delays and Task Duplication”, Operations Research, July 1991, v. 39, no. 4 pp. 680–684.
S. Darbha and D.P. Agrawal, “SDBS: A Task Duplication Based Optimal Scheduling Algorithm”, In Proceedings of Scalable High Performance Computing Conference, May 23–25 1994, pp. 756–763.
S. Darbha, “Task Scheduling Algorithms for Distributed Memory Systems”, PhD Thesis, North Carolina State University, 1995.
S. Darbha and D.P. Agrawal, “A Fast and Scalable Scheduling Algorithm For Distributed Memory Systems”, Proceedings of the Seventh IEEE Symposium on Parallel and Distributed Processing, pp. 60–63, October 25–28 1995, San Antonio, TX.
S. Darbha and D.P. Agrawal, “Scalable and Scheduling Algorithm For Distributed Memory Systems”, In Proceedings of Eighth IEEE Symposium on Parallel and Distributed Processing, pp. 84–91, October 23–27, 1996, New Orleans, LA.
S. Darbha and D.P. Agrawal, “Optimal Scheduling Algorithm For Distributed Memory Machines”, To Appear in IEEE Transactions on Parallel and Distributed Systems.
S. Darbha and D.P. Agrawal, “A Task Duplication based Scalable Scheduling Algorithm For Distributed Memory Systems”, To Appear in Journal of Parallel and Distributed Computing.
H. El-Rewini and T.G. Lewis, “Scheduling Parallel Program Tasks Onto Arbitrary Target Architectures”, Journal Of Parallel and Distributed Computing, vol. 9, 1990, pp. 138–153.
A. Gerasoulis and T. Yang, “A Comparison of Clustering Heuristics for Scheduling Directed Acyclic Graphs on Multiprocessors”, Journal of Parallel and Distributed Computing, vol 16, 1992, pp 276–291.
A. Gerasoulis and T. Yang, “On the Granularity and Clustering of Directed Acyclic Task Graphs”, IEEE Transactions on Parallel and Distributed Systems, vol 4, no. 6, June 1993, pp 686–701.
R.L. Graham, L.E. Lawler, J.K. Lenstra and A.H. Kan, “Optimization and Approximation In Deterministic Sequencing and Scheduling: A Survey”, In Annals of Discrete Mathematics, 1979, pp. 287–326.
J.J. Hwang, Y.C. Chow, F.D. Anger and C.Y. Lee, “Scheduling Precedence Graphs In Systems With Interprocessor Communication Times”, SIAM Journal of Computing, vol. 18, no. 2, April 1989, pp. 244–257.
O.H. Ibarra and S.M. Sohn, “On Mapping Systolic Algorithms onto the Hypercube”, IEEE Transactions on Parallel and Distributed Systems, vol. 1, no.1, Jan. 1990, pp. 48–63.
A.A. Khan, C.L. McCreary and M.S. Jones, “A Comparison of Multiprocessor Scheduling Heuristics”, International Conference on Parallel Processing, August 1994, Vol. II, pp. 243–250.
S.J. Kim and J.C. Browne, “A general approach to mapping of parallel computation upon multiprocessor architectures”, International Conference on Parallel Processing, 1988, vol. 3, pp. 1–8.
J.P. Kitajima and B. Plateau, “Building synthetic parallel programs: the project (ALPES)”, In Proceedings of the IFIP WG 10.3 Workshop on Programming Environments for Parallel Computing, Edinburgh, Scotland, 6–8 April, 1992, pp. 161–170.
B. Kruatrachue, “Static Task Scheduling and Grain Packing in Parallel Processing Systems”, PhD Thesis, Oregon State University, 1987.
C.Y. Lee, J.J. Hwang, Y.C. Chow and F.D. Anger, “Multiprocessor Scheduling With Interprocessor Communication Delays”, Operations Research Letters, vol. 7, No. 3, June 1988, pp. 141–147.
P. Markenscoff and Y.Y. Li, “Scheduling a Computational DAG on a Parallel System with Communication Delays and Replication of Node Execution”, In Proceedings of International Parallel Processing Symposium, April 1993, pp. 113–118.
N. Mehdiratta and K. Ghose, “A bottom up approach to Task Scheduling in Distributed Memory Multiprocessors”, International Conference on Parallel Processing, August 1994, Vol. II, pp. 151–154.
S.S. Pande, D.P. Agrawal and J. Mauney, “A New Threshold Scheduling Strategy for Sisal Programs on Distributed Memory Systems”, Journal of Parallel and Distributed Computing, vol. 21, no.2, May 1994, pp. 223–236.
S.S. Pande, D.P. Agrawal and J. Mauney, “A Scalable Scheduling Method for Functional Parallelism on Distributed Memory Multiprocessors”, IEEE Transactions on Parallel and Distributed Systems, vol. 6, no. 4, April 1995, pp. 388–399.
V. Sarkar, Partitioning and Scheduling Parallel Programs for Execution on Multiprocessors, MIT Press, Cambridge, MA, 1989.
G.C. Sih and E.A. Lee, “A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures”, IEEE Transactions on Parallel and Distributed Systems, vol. 4, no. 2, February 1993, pp. 175–187.
Q. Wang and K.H. Cheng, “List Scheduling of Parallel Tasks”, Information Processing Letters, vol. 37, March 1991, pp. 291–297.
M.Y. Wu and D. Gajski, “A Programming Aid for Hypercube Architectures”, J. Supercomputing, vol. 2, 1988, pp 349–372.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Darbha, S., Agrawal, D.P. (2001). A Duplication Based Compile Time Scheduling Method for Task Parallelism. In: Pande, S., Agrawal, D.P. (eds) Compiler Optimizations for Scalable Parallel Systems. Lecture Notes in Computer Science, vol 1808. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45403-9_18
Download citation
DOI: https://doi.org/10.1007/3-540-45403-9_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41945-7
Online ISBN: 978-3-540-45403-8
eBook Packages: Springer Book Archive