Skip to main content

A Duplication Based Compile Time Scheduling Method for Task Parallelism

  • Chapter
  • First Online:
Book cover Compiler Optimizations for Scalable Parallel Systems

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1808))

  • 498 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Article  MATH  Google Scholar 

  2. 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.

    Google Scholar 

  3. A.V. Aho, J.E. Hopcroft and J.D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley Publishing Company, 1974.

    MATH  Google Scholar 

  4. D.P. Bertsekas and J.N. Tsitsiklis, “Parallel and Distributed Computation: Numerical Methods”, Prentice-Hall International, 1989.

    Google Scholar 

  5. 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.

    Article  Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Article  MATH  Google Scholar 

  9. 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.

    Google Scholar 

  10. S. Darbha, “Task Scheduling Algorithms for Distributed Memory Systems”, PhD Thesis, North Carolina State University, 1995.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. S. Darbha and D.P. Agrawal, “Optimal Scheduling Algorithm For Distributed Memory Machines”, To Appear in IEEE Transactions on Parallel and Distributed Systems.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Article  Google Scholar 

  16. 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.

    Article  MATH  MathSciNet  Google Scholar 

  17. 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.

    Article  Google Scholar 

  18. 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.

    Google Scholar 

  19. 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.

    Article  MATH  MathSciNet  Google Scholar 

  20. 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.

    Article  MathSciNet  Google Scholar 

  21. 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.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. B. Kruatrachue, “Static Task Scheduling and Grain Packing in Parallel Processing Systems”, PhD Thesis, Oregon State University, 1987.

    Google Scholar 

  25. 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.

    Article  MATH  MathSciNet  Google Scholar 

  26. 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.

    Google Scholar 

  27. 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.

    Google Scholar 

  28. 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.

    Article  MATH  Google Scholar 

  29. 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.

    Article  Google Scholar 

  30. V. Sarkar, Partitioning and Scheduling Parallel Programs for Execution on Multiprocessors, MIT Press, Cambridge, MA, 1989.

    Google Scholar 

  31. 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.

    Article  Google Scholar 

  32. Q. Wang and K.H. Cheng, “List Scheduling of Parallel Tasks”, Information Processing Letters, vol. 37, March 1991, pp. 291–297.

    Article  MATH  MathSciNet  Google Scholar 

  33. M.Y. Wu and D. Gajski, “A Programming Aid for Hypercube Architectures”, J. Supercomputing, vol. 2, 1988, pp 349–372.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics