Skip to main content
Erschienen in: The Journal of Supercomputing 8/2019

29.05.2018

Supporting structured parallel program design, development and tuning in FastFlow

verfasst von: Leonardo Gazzarri, Marco Danelutto

Erschienen in: The Journal of Supercomputing | Ausgabe 8/2019

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

The design and tuning of parallel programs is known to be a hard and error-prone process. Structured parallel programming helps overcoming part of the related problems by properly and carefully ensuring separation of concerns in between application and system programmers. In this work, we describe the design and the implementation of ff-RPL, a shell supporting structured parallel programming development in FastFlow. The shell provides ways to explore the space of functionally equivalent, alternative parallel implementations of the same application with different non functional properties. It also provides ways to tune and optimize existing parallel applications standalone or while targeting particular hardware architectures. The tool is entirely written in C++. It has been designed in such a way it can be easily extended to take into account new non functional features, refactoring and optimization rules, as well as different parallel patterns. Experimental results are shown validating the general ff-RPL design as well as its FastFlow code generation features.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Fußnoten
4
This is actually a shortcut for the farmelim rule.
 
5
Delays added through active waiting.
 
6
This is a sort of cross validation of correctness of refactoring rules and of prototype code generation, actually.
 
Literatur
1.
Zurück zum Zitat Aldinucci M, Coppola M, Danelutto M (1998) Rewriting skeleton programs: how to evaluate the data-parallel stream-parallel tradeoff. In: Proceedings of International Workshop on Constructive Methods for Parallel Programming. Technical Report MIP-9805. University of Passau, Passau Aldinucci M, Coppola M, Danelutto M (1998) Rewriting skeleton programs: how to evaluate the data-parallel stream-parallel tradeoff. In: Proceedings of International Workshop on Constructive Methods for Parallel Programming. Technical Report MIP-9805. University of Passau, Passau
2.
Zurück zum Zitat Aldinucci M, Danelutto M (1999) Stream parallel skeleton optimization. In: Proceedings of PDCS: International Conference on Parallel and Distributed Computing and Systems, pp 955–962 Aldinucci M, Danelutto M (1999) Stream parallel skeleton optimization. In: Proceedings of PDCS: International Conference on Parallel and Distributed Computing and Systems, pp 955–962
3.
Zurück zum Zitat Aldinucci M, Danelutto M (1999) Stream parallel skeleton optimization. In: Proceedings of PDCS: International Conference on Parallel and Distributed Computing and Systems. IASTED, ACTA Press, Cambridge, pp 955–962 Aldinucci M, Danelutto M (1999) Stream parallel skeleton optimization. In: Proceedings of PDCS: International Conference on Parallel and Distributed Computing and Systems. IASTED, ACTA Press, Cambridge, pp 955–962
4.
Zurück zum Zitat Aldinucci M, Danelutto M, Kilpatrick P, Torquati M (2014) Fastflow: high-level and efficient streaming on multi-core, Chapter 14. In: Pllana S, Xhafa F (eds) Programming multi-core and many-core computing systems, parallel and distributed computing. Wiley, New York Aldinucci M, Danelutto M, Kilpatrick P, Torquati M (2014) Fastflow: high-level and efficient streaming on multi-core, Chapter 14. In: Pllana S, Xhafa F (eds) Programming multi-core and many-core computing systems, parallel and distributed computing. Wiley, New York
5.
Zurück zum Zitat Caromel D, Leyton M (2007) Fine tuning algorithmic skeletons. In: Kermarrec A, Bougé L, Priol T (eds) Proceedings of 13th International Euro-Par Conference on Euro-Par 2007, Parallel Processing, Rennes, France, August 28–31, Volume 4641 of Lecture Notes in Computer Science. Springer, pp 72–81 Caromel D, Leyton M (2007) Fine tuning algorithmic skeletons. In: Kermarrec A, Bougé L, Priol T (eds) Proceedings of 13th International Euro-Par Conference on Euro-Par 2007, Parallel Processing, Rennes, France, August 28–31, Volume 4641 of Lecture Notes in Computer Science. Springer, pp 72–81
6.
Zurück zum Zitat Cole M (2004) Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parallel Comput 30(3):389–406CrossRef Cole M (2004) Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parallel Comput 30(3):389–406CrossRef
7.
Zurück zum Zitat Danelutto M, Torquati M (2015) Structured parallel programming with “core” FastFlow. Springer, Cham, pp 29–75 Danelutto M, Torquati M (2015) Structured parallel programming with “core” FastFlow. Springer, Cham, pp 29–75
8.
Zurück zum Zitat Danelutto M, Torquati M, Kilpatrick P (2016) A DSL based toolchain for design space exploration in structured parallel programming. Procedia Comput Sci 80:1519–1530. International Conference on Computational Science 2016, ICCS 2016, 6–8 June 2016, San Diego, California, USA Danelutto M, Torquati M, Kilpatrick P (2016) A DSL based toolchain for design space exploration in structured parallel programming. Procedia Comput Sci 80:1519–1530. International Conference on Computational Science 2016, ICCS 2016, 6–8 June 2016, San Diego, California, USA
9.
Zurück zum Zitat Gazzarri L, Danelutto M (2017) A tool to support FastFlow program design. In: Proceedings of ParCo 2017. IOS Press, 2017. RePara 2017 MiniSymposium: The 3rd International Workshop on Reengineering for Parallelism in Heterogeneous Parallel Platforms Gazzarri L, Danelutto M (2017) A tool to support FastFlow program design. In: Proceedings of ParCo 2017. IOS Press, 2017. RePara 2017 MiniSymposium: The 3rd International Workshop on Reengineering for Parallelism in Heterogeneous Parallel Platforms
10.
Zurück zum Zitat González-Vélez H, Leyton M (2010) A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers. Softw Pract Exper 40(12):1135–1160CrossRef González-Vélez H, Leyton M (2010) A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers. Softw Pract Exper 40(12):1135–1160CrossRef
11.
Zurück zum Zitat Janjic V, Brown C, Mackenzie K, Hammond K, Danelutto M, Aldinucci M, Garcia JD (2016) RPL: a domain-specific language for designing and implementing parallel C++ applications. In: 24th Euromicro International Conference on Parallel, Distributed, and Network-based Processing (PDP), IEEE, pp 288–295 Janjic V, Brown C, Mackenzie K, Hammond K, Danelutto M, Aldinucci M, Garcia JD (2016) RPL: a domain-specific language for designing and implementing parallel C++ applications. In: 24th Euromicro International Conference on Parallel, Distributed, and Network-based Processing (PDP), IEEE, pp 288–295
12.
Zurück zum Zitat Kuchen H (2002) A skeleton library. In: Proceedings of the 8th International Euro-Par Conference on Parallel Processing, Euro-Par ’02. Springer, London, pp 620–629 Kuchen H (2002) A skeleton library. In: Proceedings of the 8th International Euro-Par Conference on Parallel Processing, Euro-Par ’02. Springer, London, pp 620–629
13.
Zurück zum Zitat Legaux J, Loulergue F, Jubertie S (2013) OSl: an algorithmic skeleton library with exceptions. Procedia Comput Sci 18(Complete):260–269CrossRef Legaux J, Loulergue F, Jubertie S (2013) OSl: an algorithmic skeleton library with exceptions. Procedia Comput Sci 18(Complete):260–269CrossRef
14.
Zurück zum Zitat Matsuzaki K, Emoto K (2010) Implementing fusion-equipped parallel skeletons by expression templates. In: Proceedings of the 21st International Conference on Implementation and Application of Functional Languages, IFL’09. Springer, Berlin, pp 72–89 Matsuzaki K, Emoto K (2010) Implementing fusion-equipped parallel skeletons by expression templates. In: Proceedings of the 21st International Conference on Implementation and Application of Functional Languages, IFL’09. Springer, Berlin, pp 72–89
15.
Zurück zum Zitat Mattson T, Sanders B, Massingill B (2004) Patterns for parallel programming, 1st edn. Addison-Wesley Professional, BostonMATH Mattson T, Sanders B, Massingill B (2004) Patterns for parallel programming, 1st edn. Addison-Wesley Professional, BostonMATH
Metadaten
Titel
Supporting structured parallel program design, development and tuning in FastFlow
verfasst von
Leonardo Gazzarri
Marco Danelutto
Publikationsdatum
29.05.2018
Verlag
Springer US
Erschienen in
The Journal of Supercomputing / Ausgabe 8/2019
Print ISSN: 0920-8542
Elektronische ISSN: 1573-0484
DOI
https://doi.org/10.1007/s11227-018-2448-9

Weitere Artikel der Ausgabe 8/2019

The Journal of Supercomputing 8/2019 Zur Ausgabe

Premium Partner