Skip to main content
Erschienen in: The Journal of Supercomputing 6/2022

03.01.2022

OpenMP as runtime for providing high-level stream parallelism on multi-cores

verfasst von: Renato B. Hoffmann, Júnior Löff, Dalvan Griebler, Luiz G. Fernandes

Erschienen in: The Journal of Supercomputing | Ausgabe 6/2022

Einloggen

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

search-config
loading …

Abstract

OpenMP is an industry and academic standard for parallel programming. However, using it for developing parallel stream processing applications is complex and challenging. OpenMP lacks key programming mechanisms and abstractions for this particular domain. To tackle this problem, we used a high-level parallel programming framework (named SPar) for automatically generating parallel OpenMP code. We achieved this by leveraging SPar’s language and its domain-specific code annotations for simplifying the complexity and verbosity added by OpenMP in this application domain. Consequently, we implemented a new compiler algorithm in SPar for automatically generating parallel code targeting the OpenMP runtime using source-to-source code transformations. The experiments in four different stream processing applications demonstrated that the execution time of SPar was improved up to 25.42% when using the OpenMP runtime. Additionally, our abstraction over OpenMP introduced at most 1.72% execution time overhead when compared to handwritten parallel codes. Furthermore, SPar significantly reduces the total source lines of code required to express parallelism with respect to plain OpenMP parallel codes.

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
2
Obtained with SLOCCOUNT tool.
 
Literatur
1.
Zurück zum Zitat Aldinucci M, Danelutto M, Kilpatrick P, Meneghin M, Torquati M (2011) Accelerating code on multi-cores with FastFlow. Euro-Par 2011 parallel processing, vol 6853. Lecture notes in computer science. Springer, Berlin, pp 170–181 Aldinucci M, Danelutto M, Kilpatrick P, Meneghin M, Torquati M (2011) Accelerating code on multi-cores with FastFlow. Euro-Par 2011 parallel processing, vol 6853. Lecture notes in computer science. Springer, Berlin, pp 170–181
2.
Zurück zum Zitat Aldinucci M, Danelutto M, Kilpatrick P, Torquati M (2014) FastFlow: high-level and efficient streaming on multi-core. In: Programming Multi-core and Many-core Computing Systems, PDC, vol 1, p 14 Aldinucci M, Danelutto M, Kilpatrick P, Torquati M (2014) FastFlow: high-level and efficient streaming on multi-core. In: Programming Multi-core and Many-core Computing Systems, PDC, vol 1, p 14
3.
Zurück zum Zitat Bienia C, Kumar S, Singh JP, Li K (2008) The PARSEC benchmark suite: characterization and architectural implications. In: 17th International Conference on Parallel Architectures and Compilation Techniques. PACT ’08. ACM, Toronto, Ontario, Canada, pp 72–81 Bienia C, Kumar S, Singh JP, Li K (2008) The PARSEC benchmark suite: characterization and architectural implications. In: 17th International Conference on Parallel Architectures and Compilation Techniques. PACT ’08. ACM, Toronto, Ontario, Canada, pp 72–81
4.
Zurück zum Zitat Bradski G (2000) The OpenCV library. Dr. Dobb’s journal of software tools Bradski G (2000) The OpenCV library. Dr. Dobb’s journal of software tools
6.
Zurück zum Zitat del Rio Astorga D, Dolz MF, Sanchez LM, Blas JG, García JD (2016) A c++ generic parallel pattern interface for stream processing. In: Algorithms and Architectures for Parallel Processing, Springer International Publishing, Cham, pp 74–87 del Rio Astorga D, Dolz MF, Sanchez LM, Blas JG, García JD (2016) A c++ generic parallel pattern interface for stream processing. In: Algorithms and Architectures for Parallel Processing, Springer International Publishing, Cham, pp 74–87
7.
Zurück zum Zitat Gilchrist J (2004) Parallel Compression with BZIP2. In: 16th IASTED International Conference on Parallel and Distributed Computing and Systems. PDCS’ 04. ACTA Press, MIT, Cambridge, USA, pp 559–564 Gilchrist J (2004) Parallel Compression with BZIP2. In: 16th IASTED International Conference on Parallel and Distributed Computing and Systems. PDCS’ 04. ACTA Press, MIT, Cambridge, USA, pp 559–564
10.
Zurück zum Zitat Griebler D, Hoffmann RB, Danelutto M, Fernandes LG (2017) Higher-level parallelism abstractions for video applications with SPar. In: Parallel Computing is Everywhere, Proceedings of the International Conference on Parallel Computing, ParCo’17, IOS Press, Bologna, Italy, pp 698–707 https://doi.org/10.3233/978-1-61499-843-3-698 Griebler D, Hoffmann RB, Danelutto M, Fernandes LG (2017) Higher-level parallelism abstractions for video applications with SPar. In: Parallel Computing is Everywhere, Proceedings of the International Conference on Parallel Computing, ParCo’17, IOS Press, Bologna, Italy, pp 698–707 https://​doi.​org/​10.​3233/​978-1-61499-843-3-698
13.
14.
Zurück zum Zitat ISO/IEC-14882:2011 (2011) Information technology - programming languages - C++. Technical report, International Standard, Geneva, Switzerland ISO/IEC-14882:2011 (2011) Information technology - programming languages - C++. Technical report, International Standard, Geneva, Switzerland
15.
Zurück zum Zitat Jacqueline FD, Buttlar BN (1996) PThreads programming. O’Reilly, Sebastopol, CA, USA Jacqueline FD, Buttlar BN (1996) PThreads programming. O’Reilly, Sebastopol, CA, USA
18.
Zurück zum Zitat Mattson T, Sanders B, Massingill B (2004) Patterns for parallel programming, 1st edn. Addison-Wesley Professional, New YorkMATH Mattson T, Sanders B, Massingill B (2004) Patterns for parallel programming, 1st edn. Addison-Wesley Professional, New YorkMATH
19.
Zurück zum Zitat McCool M, Reinders J, Robison A (2012) Structured parallel programming: patterns for efficient computation. Morgan Kaufmann Publishers Inc., San Francisco McCool M, Reinders J, Robison A (2012) Structured parallel programming: patterns for efficient computation. Morgan Kaufmann Publishers Inc., San Francisco
21.
Zurück zum Zitat Nakao M, Murai H, Sato M (2019) Multi-accelerator extension in openmp based on pgas model. In: Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region, HPC Asia 2019, Association for Computing Machinery, New York, NY, USA, pp 18–25 https://doi.org/10.1145/3293320.3293324 Nakao M, Murai H, Sato M (2019) Multi-accelerator extension in openmp based on pgas model. In: Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region, HPC Asia 2019, Association for Computing Machinery, New York, NY, USA, pp 18–25 https://​doi.​org/​10.​1145/​3293320.​3293324
25.
Zurück zum Zitat Reinders J (2007) Intel threading building blocks. O’Reilly, Sebastopol Reinders J (2007) Intel threading building blocks. O’Reilly, Sebastopol
26.
Zurück zum Zitat Rockenbach DA, Griebler D, Danelutto M, Fernandes LG (2019) High-level stream parallelism abstractions with SPar targeting GPUs. In: Parallel Computing is Everywhere, Proceedings of the International Conference on Parallel Computing (ParCo), ParCo’19, IOS Press, Prague, Czech Republic, vol 36, pp 543–552 https://doi.org/10.3233/APC200083 Rockenbach DA, Griebler D, Danelutto M, Fernandes LG (2019) High-level stream parallelism abstractions with SPar targeting GPUs. In: Parallel Computing is Everywhere, Proceedings of the International Conference on Parallel Computing (ParCo), ParCo’19, IOS Press, Prague, Czech Republic, vol 36, pp 543–552 https://​doi.​org/​10.​3233/​APC200083
27.
Zurück zum Zitat Thies W, Karczmarek M, Amarasinghe S (2002) Streamit: a language for streaming applications. In: Horspool RN (ed) Compiler construction. Springer, Berlin, pp 179–196CrossRef Thies W, Karczmarek M, Amarasinghe S (2002) Streamit: a language for streaming applications. In: Horspool RN (ed) Compiler construction. Springer, Berlin, pp 179–196CrossRef
Metadaten
Titel
OpenMP as runtime for providing high-level stream parallelism on multi-cores
verfasst von
Renato B. Hoffmann
Júnior Löff
Dalvan Griebler
Luiz G. Fernandes
Publikationsdatum
03.01.2022
Verlag
Springer US
Erschienen in
The Journal of Supercomputing / Ausgabe 6/2022
Print ISSN: 0920-8542
Elektronische ISSN: 1573-0484
DOI
https://doi.org/10.1007/s11227-021-04182-9

Weitere Artikel der Ausgabe 6/2022

The Journal of Supercomputing 6/2022 Zur Ausgabe

Premium Partner