Skip to main content
Erschienen in: International Journal of Parallel Programming 6/2014

01.12.2014

Design patterns percolating to parallel programming framework implementation

verfasst von: M. Aldinucci, S. Campa, M. Danelutto, P. Kilpatrick, M. Torquati

Erschienen in: International Journal of Parallel Programming | Ausgabe 6/2014

Einloggen

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

search-config
loading …

Abstract

Structured parallel programming is recognised as a viable and effective means of tackling parallel programming problems. Recently, a set of simple and powerful parallel building blocks (\(\mathsf{RISC\text{- }pb^2l}\)) has been proposed to support modelling and implementation of parallel frameworks. In this work we demonstrate how that same parallel building block set may be used to model both general purpose parallel programming abstractions, not usually listed in classical skeleton sets, and more specialized domain specific parallel patterns. We show how an implementation of \(\mathsf{RISC\text{- }pb^2l}\) can be realised via the FastFlow framework and present experimental evidence of the feasibility and efficiency of the approach.

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

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!

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!

Fußnoten
1
This is slightly different from the composition of map and reduce skeletons as perceived by the algorithmic skeleton community [8]
 
2
FastFlow has been under development since the early ’10s as an open source project
 
3
OpenMP thread affinity has been set using: KMP_AFFINITY=“granularity=fine,scatter”. In the tests we used the static scheduling policy for OpenMP.
 
4
The PLASMA library can be considered the current reference implementation in Dense Linear Algebra for modern multi-core.
 
Literatur
1.
Zurück zum Zitat Alba, E., Luque, G., Garcia-Nieto, J., Ordonez, G., Leguizamon, G.: MALLBA a software library to design efficient optimisation algorithms. Int. J. Innov. Comput. Appl. 1(1), 74–85 (2007)CrossRef Alba, E., Luque, G., Garcia-Nieto, J., Ordonez, G., Leguizamon, G.: MALLBA a software library to design efficient optimisation algorithms. Int. J. Innov. Comput. Appl. 1(1), 74–85 (2007)CrossRef
2.
Zurück zum Zitat Aldinucci, M., Campa, S., Danelutto, M., Kilpatrick, P., Torquati, M.: Targeting distributed systems in FastFlow. In: Euro-Par 2012 workshops, Proceedings of the CoreGrid workshop on grids, clouds and P2P computing, volume 7640 of LNCS, pp. 47–56. Springer (2013) Aldinucci, M., Campa, S., Danelutto, M., Kilpatrick, P., Torquati, M.: Targeting distributed systems in FastFlow. In: Euro-Par 2012 workshops, Proceedings of the CoreGrid workshop on grids, clouds and P2P computing, volume 7640 of LNCS, pp. 47–56. Springer (2013)
3.
Zurück zum Zitat Aldinucci, M., Danelutto, M., Kilpatrick, P., Meneghin, M., Torquati, M.: Accelerating code on multi-cores with FastFlow. In: Proceedings of the 17th International Euro-Par 2011 parallel processing, volume 6853 of LNCS, pp. 170–181. Springer, Bordeaux, France, Aug 2011 Aldinucci, M., Danelutto, M., Kilpatrick, P., Meneghin, M., Torquati, M.: Accelerating code on multi-cores with FastFlow. In: Proceedings of the 17th International Euro-Par 2011 parallel processing, volume 6853 of LNCS, pp. 170–181. Springer, Bordeaux, France, Aug 2011
4.
Zurück zum Zitat 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, chapter 13. Wiley, Jan 2013 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, chapter 13. Wiley, Jan 2013
5.
Zurück zum Zitat Aldinucci, M., Meneghin, M., Torquati, M.: Efficient Smith-Waterman on multi-core with FastFlow. In: Proceedings of the international Euromicro PDP 2010: parallel distributed and network-based processing, , IEEE, Pisa, Italy, Feb 2010 Aldinucci, M., Meneghin, M., Torquati, M.: Efficient Smith-Waterman on multi-core with FastFlow. In: Proceedings of the international Euromicro PDP 2010: parallel distributed and network-based processing, , IEEE, Pisa, Italy, Feb 2010
6.
Zurück zum Zitat Asanovic, K., Bodik, R., Catanzaro, B. C., Gebis, J. J., Husbands, P., Keutzer, K., Patterson, D. A., Plishker, W. L., Shalf, J., Williams, S. W., Yelick, K. A.: The landscape of parallel computing research: a view from Berkeley. Technical Report UCB/EECS-2006-183, EECS Department, University of California, Berkeley, Dec 2006 Asanovic, K., Bodik, R., Catanzaro, B. C., Gebis, J. J., Husbands, P., Keutzer, K., Patterson, D. A., Plishker, W. L., Shalf, J., Williams, S. W., Yelick, K. A.: The landscape of parallel computing research: a view from Berkeley. Technical Report UCB/EECS-2006-183, EECS Department, University of California, Berkeley, Dec 2006
7.
Zurück zum Zitat Backus, J.: Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs. Commun. ACM 21(8), 613–641 (1978)CrossRefMATHMathSciNet Backus, J.: Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs. Commun. ACM 21(8), 613–641 (1978)CrossRefMATHMathSciNet
8.
Zurück zum Zitat Buono, D., Danelutto, M., Lametti, S.: Map, reduce and mapreduce, the skeleton way. Procedia CS 1(1), 2095–2103 (2010) Buono, D., Danelutto, M., Lametti, S.: Map, reduce and mapreduce, the skeleton way. Procedia CS 1(1), 2095–2103 (2010)
9.
Zurück zum Zitat Ciechanowicz, P., Kuchen, H.: Enhancing muesli’s data parallel skeletons for multi-core computer architectures. In: HPCC, IEEE, pp. 108–113 (2010) Ciechanowicz, P., Kuchen, H.: Enhancing muesli’s data parallel skeletons for multi-core computer architectures. In: HPCC, IEEE, pp. 108–113 (2010)
10.
Zurück zum Zitat Cole, M.: Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parallel Comput. 30(3), 389–406 (2004)CrossRef Cole, M.: Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parallel Comput. 30(3), 389–406 (2004)CrossRef
11.
Zurück zum Zitat Danelutto, M.: QoS in parallel programming through application managers. In Proceedings of the International Euromicro PDP: parallel distributed and network-based processing, pp. 282–289. IEEE, Lugano, Switzerland, Feb 2005 Danelutto, M.: QoS in parallel programming through application managers. In Proceedings of the International Euromicro PDP: parallel distributed and network-based processing, pp. 282–289. IEEE, Lugano, Switzerland, Feb 2005
12.
Zurück zum Zitat Danelutto, M., Torquati, M.: A RISC building block set for structured parallel programming. In: Euromicro International Conference on parallel, distributed and network-based processing PDP-2013. IEEE, Computer, pp. 46–50 (2013) Danelutto, M., Torquati, M.: A RISC building block set for structured parallel programming. In: Euromicro International Conference on parallel, distributed and network-based processing PDP-2013. IEEE, Computer, pp. 46–50 (2013)
13.
Zurück zum Zitat Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. CACM 51(1), 107–113 (2008) Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. CACM 51(1), 107–113 (2008)
14.
Zurück zum Zitat Enmyren, J., Kessler, C. W.: Skepu: a multi-backend skeleton programming library for multi-gpu systems. In: Proceedings of the 4th International workshop on high-level parallel programming and applications, HLPP ’10, New York, NY, USA (2010) Enmyren, J., Kessler, C. W.: Skepu: a multi-backend skeleton programming library for multi-gpu systems. In: Proceedings of the 4th International workshop on high-level parallel programming and applications, HLPP ’10, New York, NY, USA (2010)
15.
Zurück zum Zitat Ernsting, S., Kuchen, H.: Algorithmic skeletons for multi-core, multi-gpu systems and clusters. Int. J. High Perform. Comput. Netw. 7(2), 129–138 (2012)CrossRef Ernsting, S., Kuchen, H.: Algorithmic skeletons for multi-core, multi-gpu systems and clusters. Int. J. High Perform. Comput. Netw. 7(2), 129–138 (2012)CrossRef
17.
Zurück zum Zitat Grelck, C., Scholz, S.B., Shafarenko, A.: Asynchronous stream processing with s-net. Int. J. Parallel Progr. 38(1), 38–67 (2010)CrossRefMATH Grelck, C., Scholz, S.B., Shafarenko, A.: Asynchronous stream processing with s-net. Int. J. Parallel Progr. 38(1), 38–67 (2010)CrossRefMATH
18.
Zurück zum Zitat Hammond, K., Zain, A.A., Cooperman, G., Petcu, D., Trinder, P.: Symgrid: a framework for symbolic computation on the grid. In: Euro-Par 2007 parallel processing, volume 4641 of Lecture Notes in Computer Science, pp. 457–466 (2007) Hammond, K., Zain, A.A., Cooperman, G., Petcu, D., Trinder, P.: Symgrid: a framework for symbolic computation on the grid. In: Euro-Par 2007 parallel processing, volume 4641 of Lecture Notes in Computer Science, pp. 457–466 (2007)
20.
Zurück zum Zitat Javed, N., Loulergue, F.: Osl: optimized bulk synchronous parallel skeletons on distributed arrays. In: APPT, volume 5737 of Lecture Notes in Computer Science, pp. 436–451. Springer (2009) Javed, N., Loulergue, F.: Osl: optimized bulk synchronous parallel skeletons on distributed arrays. In: APPT, volume 5737 of Lecture Notes in Computer Science, pp. 436–451. Springer (2009)
21.
Zurück zum Zitat Khronos Group. The OpenCL Specification, Sept. 2010 Khronos Group. The OpenCL Specification, Sept. 2010
22.
Zurück zum Zitat Leyton, M., Piquer, J. M.: Skandium: multi-core programming with algorithmic skeletons. In: PDP, pp. 289–296. IEEE Computer Society (2010) Leyton, M., Piquer, J. M.: Skandium: multi-core programming with algorithmic skeletons. In: PDP, pp. 289–296. IEEE Computer Society (2010)
23.
Zurück zum Zitat Massingill, B.L., Mattson, T.G., Sanders, B.A.: Parallel programming with a pattern language. STTT 3(2), 217–234 (2001)MATH Massingill, B.L., Mattson, T.G., Sanders, B.A.: Parallel programming with a pattern language. STTT 3(2), 217–234 (2001)MATH
24.
Zurück zum Zitat Matsuzaki, K., Iwasaki, H., Emoto, K., Hu, Z.: A library of constructive skeletons for sequential style of parallel programming. In: Infoscale, volume 152 of ACM International Conference Proceeding Series, p. 13. ACM (2006) Matsuzaki, K., Iwasaki, H., Emoto, K., Hu, Z.: A library of constructive skeletons for sequential style of parallel programming. In: Infoscale, volume 152 of ACM International Conference Proceeding Series, p. 13. ACM (2006)
25.
Zurück zum Zitat Mattson, T., Sanders, B., Massingill, B.: Patterns for parallel programming. Addison-Wesley Professional, first edition (2004) Mattson, T., Sanders, B., Massingill, B.: Patterns for parallel programming. Addison-Wesley Professional, first edition (2004)
26.
Zurück zum Zitat Nowostawski, M., Poli, R.: Parallel genetic algorithm taxonomy. In: Proceedings of the Third International, pp. 88–92. IEEE (1999) Nowostawski, M., Poli, R.: Parallel genetic algorithm taxonomy. In: Proceedings of the Third International, pp. 88–92. IEEE (1999)
27.
Zurück zum Zitat Pacheco, P.S.: Parallel Programming with MPI. Morgan Kaufmann Publishers Inc., San Francisco (1996) Pacheco, P.S.: Parallel Programming with MPI. Morgan Kaufmann Publishers Inc., San Francisco (1996)
29.
Zurück zum Zitat Ranger, C., Raghuraman, R., Penmetsa, A., Bradski, G., Kozyrakis, C.: Evaluating mapreduce for multi-core and multiprocessor systems. In: Proceedings of the 2007 IEEE 13th International Symposium on High Performance Computer Architecture, HPCA ’07, pp. 13–24. IEEE Computer Society, Washington, DC, USA (2007) Ranger, C., Raghuraman, R., Penmetsa, A., Bradski, G., Kozyrakis, C.: Evaluating mapreduce for multi-core and multiprocessor systems. In: Proceedings of the 2007 IEEE 13th International Symposium on High Performance Computer Architecture, HPCA ’07, pp. 13–24. IEEE Computer Society, Washington, DC, USA (2007)
30.
Zurück zum Zitat SCIEnce deliverable series. Deliverable D5.13 (JRA 1.6)—Report on multilevel parallelism, Jan 2012 SCIEnce deliverable series. Deliverable D5.13 (JRA 1.6)—Report on multilevel parallelism, Jan 2012
32.
Zurück zum Zitat Valiant, L.G.: A bridging model for parallel computation. Commun. ACM 33(8), 103–111 (1990)CrossRef Valiant, L.G.: A bridging model for parallel computation. Commun. ACM 33(8), 103–111 (1990)CrossRef
Metadaten
Titel
Design patterns percolating to parallel programming framework implementation
verfasst von
M. Aldinucci
S. Campa
M. Danelutto
P. Kilpatrick
M. Torquati
Publikationsdatum
01.12.2014
Verlag
Springer US
Erschienen in
International Journal of Parallel Programming / Ausgabe 6/2014
Print ISSN: 0885-7458
Elektronische ISSN: 1573-7640
DOI
https://doi.org/10.1007/s10766-013-0273-6

Weitere Artikel der Ausgabe 6/2014

International Journal of Parallel Programming 6/2014 Zur Ausgabe