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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Mattson, G.T., Sanders, A.B., Massingill, L.B.: Patterns for Parallel Programming. Addison-Wesley, Boston (2005)
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)
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)
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)
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)
Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge (1989)
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)
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)
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)
Aldinucci, M., Danelutto, M., Teti, P.: An Advanced Environment Supporting Structured Parallel Programming in Java. Future Gener. Comput. Syst. 19(5), 611–626 (2003)
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)
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)
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)
Gamma, E., Helm, R., Jonhson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)