Skip to main content
Top
Published in: International Journal of Parallel Programming 1/2018

24-05-2017

Formalised Composition and Interaction for Heterogeneous Structured Parallelism

Authors: Mehdi Goli, Horacio González-Vélez

Published in: International Journal of Parallel Programming | Issue 1/2018

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Deployed through skeleton frameworks, structured parallelism yields a clear and consistent structure across platforms by distinctly decoupling computations from the structure in a parallel programme. Structured programming is a viable and effective means of providing the separation of concerns, as it subdivides a system into building blocks (modules, skids or components) that can be independently created, and then used in different systems to drive multiple functionalities. Depending on its defined semantic, each building block wraps a unit of computing function, where the valid assembly of these building blocks forms a high-level structural parallel programming model. This paper proposes a grammar to build block components to execute computational functions in heterogeneous multi-core architectures. The grammar is validated against three different families of computing models: skeleton-based, general purpose, and domain-specific. In conjunction with the protocol, the grammar produces fully instrumented code for an application suite using the skeletal framework FastFlow.

Dont have a licence yet? Then find out more about our products and how to get one now:

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!

Footnotes
1
A full working implementation of the SKIP framework, called PEI, is freely available as open-source software at: https://​github.​com/​mehdi-goli/​MC-FastFlow-PEI.
 
Literature
1.
go back to reference Alba, E., Almeida, F., Blesa, M.J., Cotta, C., Díaz, M., Dorta, I., Gabarró, J., León, C., Luque, G., Petit, J.: Efficient parallel LAN/WAN algorithms for optimization. The MALLBA project. Parallel Comput. 32(5–6), 415–440 (2006)CrossRef Alba, E., Almeida, F., Blesa, M.J., Cotta, C., Díaz, M., Dorta, I., Gabarró, J., León, C., Luque, G., Petit, J.: Efficient parallel LAN/WAN algorithms for optimization. The MALLBA project. Parallel Comput. 32(5–6), 415–440 (2006)CrossRef
2.
go back to reference Aldinucci, M., Campa, S., Danelutto, M., Dazzi, P., Laforenza, D., Tonellotto, N., Kilpatrick, P.: Behavioural skeletons for component autonomic management on grids. In: Danelutto, M., Fragopoulou, P., Getov, V. (eds.) Making Grids Work, pp. 3–15. Springer, Berlin (2008)CrossRef Aldinucci, M., Campa, S., Danelutto, M., Dazzi, P., Laforenza, D., Tonellotto, N., Kilpatrick, P.: Behavioural skeletons for component autonomic management on grids. In: Danelutto, M., Fragopoulou, P., Getov, V. (eds.) Making Grids Work, pp. 3–15. Springer, Berlin (2008)CrossRef
3.
go back to reference Aldinucci, M., Campa, S., Danelutto, M., Kilpatrick, P., Torquati, M.: Design patterns percolating to parallel programming framework implementation. Int. J. Parallel Program. 42(6), 1012–1031 (2014)CrossRef Aldinucci, M., Campa, S., Danelutto, M., Kilpatrick, P., Torquati, M.: Design patterns percolating to parallel programming framework implementation. Int. J. Parallel Program. 42(6), 1012–1031 (2014)CrossRef
4.
go back to reference Aldinucci, M., Campa, S., Danelutto, M., Vanneschi, M.: Behavioural skeletons in GCM: autonomic management of grid components. In: PDP 2008, Toulouse, pp. 54–63. IEEE, Washington (2008) Aldinucci, M., Campa, S., Danelutto, M., Vanneschi, M.: Behavioural skeletons in GCM: autonomic management of grid components. In: PDP 2008, Toulouse, pp. 54–63. IEEE, Washington (2008)
5.
go back to reference Aldinucci, M., Danelutto, M., Kilpatrick, P.: Autonomic management of non-functional concerns in distributed and parallel application programming. In: IPDPS 2009, Rome, pp. 1–12. IEEE, Washington (2009) Aldinucci, M., Danelutto, M., Kilpatrick, P.: Autonomic management of non-functional concerns in distributed and parallel application programming. In: IPDPS 2009, Rome, pp. 1–12. IEEE, Washington (2009)
6.
go back to reference Aldinucci, M., Danelutto, M., Kilpatrick, P.: Semi-formal models to support program development autonomic management within component based parallel and distributed programming. In: de Boer, F.S., Bonsangue, M.M., Madelaine, E. (eds.) Formal methods for components and objects. Volume 5751 of LNCS, pp. 204–225. Springer, Berlin (2009). Aldinucci, M., Danelutto, M., Kilpatrick, P.: Semi-formal models to support program development autonomic management within component based parallel and distributed programming. In: de Boer, F.S., Bonsangue, M.M., Madelaine, E. (eds.) Formal methods for components and objects. Volume 5751 of LNCS, pp. 204–225. Springer, Berlin (2009).
7.
go back to reference Aldinucci, M., Danelutto, M., Kilpatrick, P., Meneghin, M., Torquati, M.: Accelerating code on multi-cores with FastFlow. In: Euro-Par 2011. Volume 6853 of LNCS, Bordeaux, pp. 170–181. Springer, Berlin (2011) Aldinucci, M., Danelutto, M., Kilpatrick, P., Meneghin, M., Torquati, M.: Accelerating code on multi-cores with FastFlow. In: Euro-Par 2011. Volume 6853 of LNCS, Bordeaux, pp. 170–181. Springer, Berlin (2011)
8.
go back to reference 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)MathSciNetCrossRefMATH 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)MathSciNetCrossRefMATH
9.
go back to reference Bassett, L.: Introduction to JavaScript Object Notation: A To-the-Point Guide to JSON. O’Reilly Media, Sebastopol (2015). ISBN 1491929480 Bassett, L.: Introduction to JavaScript Object Notation: A To-the-Point Guide to JSON. O’Reilly Media, Sebastopol (2015). ISBN 1491929480
10.
go back to reference Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. Research Monographs in Parallel and Distributed Computing. Pitman/MIT Press, London (1989)MATH Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. Research Monographs in Parallel and Distributed Computing. Pitman/MIT Press, London (1989)MATH
11.
go back to reference Danelutto, M., Torquati, M.: A RISC building block set for structured parallel programming. In: PDP 2013, Belfast, pp. 46–50. IEEE, Washington (2013) Danelutto, M., Torquati, M.: A RISC building block set for structured parallel programming. In: PDP 2013, Belfast, pp. 46–50. IEEE, Washington (2013)
12.
go back to reference Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)CrossRef Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)CrossRef
13.
go back to reference Garba, M.T., González-Vélez, H.: Asymptotic peak utilisation in heterogeneous parallel CPU/GPU pipelines: a decentralised queue monitoring strategy. Parallel Process. Lett. 22(2), 1240008 (2012)MathSciNetCrossRef Garba, M.T., González-Vélez, H.: Asymptotic peak utilisation in heterogeneous parallel CPU/GPU pipelines: a decentralised queue monitoring strategy. Parallel Process. Lett. 22(2), 1240008 (2012)MathSciNetCrossRef
15.
go back to reference Goli, M., Garba, M.T., González-Vélez, H.: Streaming dynamic coarse-grained CPU/GPU workloads with heterogeneous pipelines in FastFlow. In: HPCC 2012, Liverpool, pp. 445–452. IEEE, Washington (2012) Goli, M., Garba, M.T., González-Vélez, H.: Streaming dynamic coarse-grained CPU/GPU workloads with heterogeneous pipelines in FastFlow. In: HPCC 2012, Liverpool, pp. 445–452. IEEE, Washington (2012)
16.
go back to reference Goli, M., González-Vélez, H.: N-body computations using skeletal frameworks on multicore CPU/graphics processing unit architectures: an empirical performance evaluation. Concurr. Comput. Pract. Exp. 26(4), 972–986 (2014)CrossRef Goli, M., González-Vélez, H.: N-body computations using skeletal frameworks on multicore CPU/graphics processing unit architectures: an empirical performance evaluation. Concurr. Comput. Pract. Exp. 26(4), 972–986 (2014)CrossRef
17.
go back to reference Goli, M., González-Vélez, H.: Autonomic coordination of skeleton-based applications over CPU/GPU multi-core architectures. Int. J. Parallel Program. 45(2), 203–224 (2017)CrossRef Goli, M., González-Vélez, H.: Autonomic coordination of skeleton-based applications over CPU/GPU multi-core architectures. Int. J. Parallel Program. 45(2), 203–224 (2017)CrossRef
18.
go back to reference Goli, M., McCall, J., Brown, C., Janjic, V., Hammond, K.: Mapping parallel programs to heterogeneous CPU/GPU architectures using a Monte Carlo tree search. In: 2013 IEEE Congress on Evolutionary Computation (CEC), pp. 2932–2939. IEEE, Washington (2013) Goli, M., McCall, J., Brown, C., Janjic, V., Hammond, K.: Mapping parallel programs to heterogeneous CPU/GPU architectures using a Monte Carlo tree search. In: 2013 IEEE Congress on Evolutionary Computation (CEC), pp. 2932–2939. IEEE, Washington (2013)
19.
go back to reference Hammond, K., Al Zain, A., Cooperman, G., Petcu, D., Trinder, P.: Symgrid: a framework for symbolic computation on the grid. In: Euro-Par 2007. Volume 4641 of LNCS, Rennes. pp. 457–466. Springer, Berlin (2007) Hammond, K., Al Zain, A., Cooperman, G., Petcu, D., Trinder, P.: Symgrid: a framework for symbolic computation on the grid. In: Euro-Par 2007. Volume 4641 of LNCS, Rennes. pp. 457–466. Springer, Berlin (2007)
20.
go back to reference McCool, M., Reinders, J., Robison, A.: Structured Parallel Programming: Patterns for Efficient Computation. Morgan Kaufmann, Waltham (2012). ISBN 0124159931 McCool, M., Reinders, J., Robison, A.: Structured Parallel Programming: Patterns for Efficient Computation. Morgan Kaufmann, Waltham (2012). ISBN 0124159931
21.
go back to reference Nowostawski, M., Poli, R.: Parallel genetic algorithm taxonomy. In: KES’99, Adelaide, pp. 88–92. IEEE, Washington (1999) Nowostawski, M., Poli, R.: Parallel genetic algorithm taxonomy. In: KES’99, Adelaide, pp. 88–92. IEEE, Washington (1999)
22.
go back to reference Ranger, C., Raghuraman, R., Penmetsa, A., Bradski, G., Kozyrakis, C.: Evaluating MapReduce for multi-core and multiprocessor systems. In: HPCA 2007, Scottsdale, pp. 13–24. IEEE, Washington (2007) Ranger, C., Raghuraman, R., Penmetsa, A., Bradski, G., Kozyrakis, C.: Evaluating MapReduce for multi-core and multiprocessor systems. In: HPCA 2007, Scottsdale, pp. 13–24. IEEE, Washington (2007)
23.
go back to reference 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
Metadata
Title
Formalised Composition and Interaction for Heterogeneous Structured Parallelism
Authors
Mehdi Goli
Horacio González-Vélez
Publication date
24-05-2017
Publisher
Springer US
Published in
International Journal of Parallel Programming / Issue 1/2018
Print ISSN: 0885-7458
Electronic ISSN: 1573-7640
DOI
https://doi.org/10.1007/s10766-017-0511-4

Other articles of this Issue 1/2018

International Journal of Parallel Programming 1/2018 Go to the issue

Premium Partner