Skip to main content

Towards a Domain-Specific Language for Patterns-Oriented Parallel Programming

  • Conference paper
Book cover Programming Languages (SBLP 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8129))

Included in the following conference series:

Abstract

Pattern-oriented programming has been used in parallel code development for many years now. During this time, several tools (mainly frameworks and libraries) proposed the use of patterns based on programming primitives or templates. The implementation of patterns using those tools usually requires human expertise to correctly set up communication/synchronization among processes. In this work, we propose the use of a Domain Specific Language to create pattern-oriented parallel programs (DSL-POPP). This approach has the advantage of offering a higher programming abstraction level in which communication/synchronization among processes is hidden from programmers. We compensate the reduction in programming flexibility offering the possibility to use combined and/or nested parallel patterns (i.e., parallelism in levels), allowing the design of more complex parallel applications. We conclude this work presenting an experiment in which we develop a parallel application exploiting combined and nested parallel patterns in order to demonstrate the main properties of DSL-POPP.

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 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 73.00
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. Mattson, G.T., Sanders, A.B., Massingill, L.B.: Patterns for Parallel Programming. Addison-Wesley, Boston (2005)

    Google Scholar 

  2. Aldinucci, M., Danelutto, M., Kilpatrick, P., Torquati, M.: FastFlow: High-Level and Efficient Streaming on Multi-core. In: Programming Multi-Core and Many-Core Computing Systems. Parallel and Distributed Computing, ch. 13. Wiley, Boston (2013)

    Google Scholar 

  3. Ciechanowicz, P., Kuchen, H.: Enhancing Muesli’s Data Parallel Skeletons for Multi-core Computer Architectures. In: 2010 12th IEEE International Conference on High Performance Computing and Communications (HPCC), Melbourne, Australia, pp. 108–113 (September 2010)

    Google Scholar 

  4. Karasawa, Y., Iwasaki, H.: A Parallel Skeleton Library for Multi-core Clusters. In: International Conference on Parallel Processing (ICPP 2009), Vienna, Austria, pp. 84–91 (September 2009)

    Google Scholar 

  5. Leyton, M., Piquer, J.M.: Skandium: Multi-core Programming with Algorithmic Skeletons. In: 2010 18th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), Pisa, Italy, pp. 289–296 (February 2010)

    Google Scholar 

  6. Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge (1989)

    MATH  Google Scholar 

  7. Intel Mccool, D.M.: Structured Parallel Programming with Deterministic Patterns. In: HotPar-2nd USENIX Workshop on Hot Topics in Parallelism, Berkeley, CA, pp. 1–6 (June 2010)

    Google Scholar 

  8. González-Vélez, H., Leyton, M.: A Survey of Algorithmic Skeleton Frameworks: High-Level Structured Parallel Programming Enablers. Softw. Pract. Exper. 40(12), 1135–1160 (2010)

    Article  Google Scholar 

  9. Benoit, A., Cole, M., Gilmore, S., Hillston, J.: Flexible Skeletal Programming with eSkel. In: Cunha, J.C., Medeiros, P.D. (eds.) Euro-Par 2005. LNCS, vol. 3648, pp. 761–770. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  10. Aldinucci, M., Danelutto, M., Teti, P.: An Advanced Environment Supporting Structured Parallel Programming in Java. Future Gener. Comput. Syst. 19(5), 611–626 (2003)

    Article  Google Scholar 

  11. Aldinucci, M., Danelutto, M., Kilpatrick, P.: Skeletons for Multi/Many-core Systems. In: Proc. of the Parallel Computing: From Multicores and GPU’s to Petascale (Proc. of PARCO 2009), Lyon, France, pp. 265–272 (September 2009)

    Google Scholar 

  12. Bacci, B., Danelutto, M., Orlando, S., Pelagatti, S., Vanneschi, M.: P3L: A Structured High-Level Parallel Language, and its Structured Support. Concurrency: Practice and Experience 7(3), 225–255 (1995)

    Article  Google Scholar 

  13. Botorog, G.H., Kuchen, H.: Skil: An Imperative Language with Algorithmic Skeletons for Efficient Distributed Programming. In: Proceedings of 5th IEEE International Symposium on High Performance Distributed Computing, Syracuse, NY, USA, pp. 243–252 (August 1996)

    Google Scholar 

  14. Gamma, E., Helm, R., Jonhson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (2002)

    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

Griebler, D., Fernandes, L.G. (2013). Towards a Domain-Specific Language for Patterns-Oriented Parallel Programming. In: Du Bois, A.R., Trinder, P. (eds) Programming Languages. SBLP 2013. Lecture Notes in Computer Science, vol 8129. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40922-6_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-40922-6_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-40921-9

  • Online ISBN: 978-3-642-40922-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics