Skip to main content

Scheduling Support for Communicating Parallel Tasks

  • Conference paper
Languages and Compilers for Parallel Computing (LCPC 2011)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7146))

  • 912 Accesses

Abstract

Task-based approaches are popular for the development of parallel programs for several reasons. They provide a decoupling of the parallel specification from the scheduling and mapping to the execution resources of a specific hardware platform, thus allowing a flexible and individual mapping. For platforms with a distributed address space, the use of parallel tasks, instead of sequential tasks, adds the additional advantage of a structuring of the program into communication domains that can help to reduce the overall communication overhead. In this article, we consider the parallel programming model of communicating parallel tasks (CM-tasks), which allows both task-internal communication as well as communication between concurrently executed tasks at arbitrary points of their execution. We propose a corresponding scheduling algorithm and describe how the scheduling is supported by a transformation tool. An experimental evaluation of several application programs shows that using the CM-task model may lead to significant performance improvements compared to other parallel execution schemes.

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. Bal, H., Haines, M.: Approaches for Integrating Task and Data Parallelism. IEEE Concurrency 6(3), 74–84 (1998)

    Article  Google Scholar 

  2. Bansal, S., Kumar, P., Singh, K.: An Improved Two-step Algorithm for Task and Data Parallel Scheduling in Distributed Memory Machines. Parallel Comput. 32(10), 759–774 (2006)

    Article  MathSciNet  Google Scholar 

  3. Barker, K., Davis, K., Hoisie, A., Kerbyson, D., Lang, M., Pakin, S., Sancho, J.: Using Performance Modeling to Design Large-Scale Systems. IEEE Computer 42(11), 42–49 (2009)

    Article  Google Scholar 

  4. Chakrabarti, S., Yelick, K., Demmel, J.: Models and Scheduling Algorithms for Mixed Data and Task Parallel Programs. J. Parallel Distrib. Comput. 47, 168–184 (1997)

    Article  Google Scholar 

  5. Dümmler, J., Kunis, R., Rünger, G.: A Scheduling Toolkit for Multiprocessor-Task Programming with Dependencies. In: Kermarrec, A.-M., Bougé, L., Priol, T. (eds.) Euro-Par 2007. LNCS, vol. 4641, pp. 23–32. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  6. Dümmler, J., Rauber, T., Rünger, G.: A Transformation Framework for Communicating Multiprocessor-Tasks. In: Proc. of the 16th Euromicro Int. Conf. on Parallel, Distributed and Network-Based Processing, PDP 2008, pp. 64–71. IEEE (2008)

    Google Scholar 

  7. Dümmler, J., Rauber, T., Rünger, G.: Communicating Multiprocessor-Tasks. In: Adve, V., Garzarán, M.J., Petersen, P. (eds.) LCPC 2007. LNCS, vol. 5234, pp. 292–307. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  8. Dümmler, J., Rauber, T., Rünger, G.: Mixed Programming Models using Parallel Tasks. In: Dongarra, Hsu, Li, Yang, Zima (eds.) Handbook of Research on Scalable Computing Technologies, pp. 246–275. Information Science Reference (2009)

    Google Scholar 

  9. Hairer, E., Nørsett, S., Wanner, G.: Solving Ordinary Differential Equations I: Nonstiff Problems. Springer, Berlin (1993)

    MATH  Google Scholar 

  10. Hoffmann, R., Rauber, T.: Fine-Grained Task Scheduling Using Adaptive Data Structures. In: Luque, E., Margalef, T., Benítez, D. (eds.) Euro-Par 2008. LNCS, vol. 5168, pp. 253–262. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  11. Hunold, S., Rauber, T., Suter, F.: Redistribution Aware Two-step Scheduling for Mixed-parallel Applications. In: Proc. of the 2008 IEEE International Conference on Cluster Computing, CLUSTER 2008, pp. 50–58. IEEE (2008)

    Google Scholar 

  12. Kühnemann, M., Rauber, T., Rünger, G.: Performance Modelling for Task-Parallel Programs. In: Gerndt, M., Getov, V., Hoisie, A., Malony, A., Miller, B. (eds.) Performance Analysis and Grid Computing, pp. 77–91. Kluwer (2004)

    Google Scholar 

  13. Leijen, D., Schulte, W., Burckhardt, S.: The design of a task parallel library. In: Proc. of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2009, pp. 227–242. ACM (2009)

    Google Scholar 

  14. OpenMP Application Program Interface, Version 3.0 (May 2008), http://www.openmp.org

  15. Radulescu, A., Nicolescu, C., van Gemund, A., Jonker, P.: CPR: Mixed Task and Data Parallel Scheduling for Distributed Systems. In: Proc. of the 15th International Parallel & Distributed Processing Symposium, IPDPS 2001. IEEE (2001)

    Google Scholar 

  16. Radulescu, A., van Gemund, A.: A Low-Cost Approach towards Mixed Task and Data Parallel Scheduling. In: Proc. of the International Conference on Parallel Processing, ICPP 2001, pp. 69–76. IEEE (2001)

    Google Scholar 

  17. Ramaswamy, S., Sapatnekar, S., Banerjee, P.: A Framework for Exploiting Task and Data Parallelism on Distributed Memory Multicomputers. IEEE Transactions on Parallel Distributed Systems 8(11), 1098–1116 (1997)

    Article  Google Scholar 

  18. Rauber, T., Reilein, R., Rünger, G.: Group-SPMD Programming with Orthogonal Processor Groups. Concurrency and Computation: Practice and Experience, Special Issue on Compilers for Parallel Computers 16(2-3), 173–195 (2004)

    Google Scholar 

  19. Rauber, T., Rünger, G.: Compiler Support for Task Scheduling in Hierarchical Execution Models. Journal of Systems Architecture 45(6-7), 483–503 (1998)

    Article  Google Scholar 

  20. Skillicorn, D., Talia, D.: Models and Languages for Parallel Computation. ACM Computing Surveys 30(2), 123–169 (1998)

    Article  Google Scholar 

  21. van der Houwen, P., Messina, E.: Parallel Adams Methods. Journal of Computational and Applied Mathematics 101, 153–165 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  22. van der Wijngaart, R., Jin, H.: The NAS Parallel Benchmarks, Multi-Zone Versions. Tech. Rep. NAS-03-010, NASA Ames Research Center (2003)

    Google Scholar 

  23. Vydyanathan, N., Krishnamoorthy, S., Sabin, G., Çatalyürek, Ü., Kurç, T., Sadayappan, P., Saltz, J.: An Integrated Approach to Locality-Conscious Processor Allocation and Scheduling of Mixed-Parallel Applications. IEEE Trans. Parallel Distrib. Syst. 20(8), 1158–1172 (2009)

    Article  Google Scholar 

  24. Wimmer, M., Träff, J.: Work-stealing for Mixed-mode Parallelism by Deterministic Team-building. In: Proc. of the 23rd ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2011. ACM (2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dümmler, J., Rauber, T., Rünger, G. (2013). Scheduling Support for Communicating Parallel Tasks. In: Rajopadhye, S., Mills Strout, M. (eds) Languages and Compilers for Parallel Computing. LCPC 2011. Lecture Notes in Computer Science, vol 7146. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36036-7_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-36036-7_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-36035-0

  • Online ISBN: 978-3-642-36036-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics