Skip to main content
Erschienen in: The Journal of Supercomputing 7/2020

25.03.2019

Transforming powerlist-based divide-and-conquer programs for an improved execution model

verfasst von: Virginia Niculescu, Frédéric Loulergue

Erschienen in: The Journal of Supercomputing | Ausgabe 7/2020

Einloggen

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

search-config
loading …

Abstract

Powerlists are data structures that can be successfully used for defining parallel programs based on divide-and-conquer paradigm. These parallel recursive data structures and their algebraic theories offer both a methodology to design parallel algorithms and parallel programming abstractions to ease the development of parallel applications. The paper presents a technique for speeding up the parallel recursive programs defined based on powerlists. The improvements are achieved by applying transformation rules that introduce tuple functions and prefix operators, for which a more efficient execution model is defined. Together with the execution model, a cost model is also defined in order to allow a proper evaluation. The treated examples emphasise the fact that the transformation leads to important improvements of the programs. The speeding up is achieved by reducing the number of recursive calls, and also by enable the fusion of splitting/combining operations on different data structures. In addition, enhancing the function that has to be computed to other useful functions using a tuple, could improved the cost reduction even more.

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!

Literatur
1.
Zurück zum Zitat Achatz K, Schulte W (1995) Architecture independent massive parallelization of divide-and-conquer algorithms. Fakultaet fuer Informatik, Universitaet Ulm, UlmCrossRef Achatz K, Schulte W (1995) Architecture independent massive parallelization of divide-and-conquer algorithms. Fakultaet fuer Informatik, Universitaet Ulm, UlmCrossRef
2.
Zurück zum Zitat Bertot Y, Casteran P (2004) Interactive theorem proving and program development. Springer, BerlinCrossRef Bertot Y, Casteran P (2004) Interactive theorem proving and program development. Springer, BerlinCrossRef
3.
Zurück zum Zitat Bird R (1987) An introduction to the theory of lists. In: Broy M (ed) Logic of programming and calculi of discrete design. Springer, Berlin, pp 5–42CrossRef Bird R (1987) An introduction to the theory of lists. In: Broy M (ed) Logic of programming and calculi of discrete design. Springer, Berlin, pp 5–42CrossRef
4.
Zurück zum Zitat Chin W (1992) Safe fusion of functional expressions. In: Proc. Conference on Lisp and Functional Programming, San Francisco, California Chin W (1992) Safe fusion of functional expressions. In: Proc. Conference on Lisp and Functional Programming, San Francisco, California
5.
Zurück zum Zitat Chin W (1993) Towards an automated tupling strategy. In: Proc Conference on Partial Evaluation and Program Manipulation. ACM Press, Copenhagen, pp 119–132 Chin W (1993) Towards an automated tupling strategy. In: Proc Conference on Partial Evaluation and Program Manipulation. ACM Press, Copenhagen, pp 119–132
6.
Zurück zum Zitat Cole M (1989) Algorithmic skeletons: structured management of parallel computation. MIT Press, CambridgeMATH Cole M (1989) Algorithmic skeletons: structured management of parallel computation. MIT Press, CambridgeMATH
7.
Zurück zum Zitat Cooley JW, Tukey JW (1965) An algorithm for the machine calculation of complex Fourier series. Math Comput 19:297–301MathSciNetCrossRef Cooley JW, Tukey JW (1965) An algorithm for the machine calculation of complex Fourier series. Math Comput 19:297–301MathSciNetCrossRef
8.
Zurück zum Zitat Cousineau G, Mauny M (1998) The functional approach to programming. Cambridge University Press, CambridgeCrossRef Cousineau G, Mauny M (1998) The functional approach to programming. Cambridge University Press, CambridgeCrossRef
9.
Zurück zum Zitat Gesbert L, Gava F, Loulergue F, Dabrowski F (2010) Bulk synchronous parallel ML with exceptions. Future Gener Comput Syst 26:486–490CrossRef Gesbert L, Gava F, Loulergue F, Dabrowski F (2010) Bulk synchronous parallel ML with exceptions. Future Gener Comput Syst 26:486–490CrossRef
10.
Zurück zum Zitat Gorlatch S (2003) SAT: a programming methodology with skeletons and collective operations. In: Rabhi FA, Gorlatch S (eds) Patterns and skeletons for parallel and distributed computing. Springer, Berlin, pp 29–64CrossRef Gorlatch S (2003) SAT: a programming methodology with skeletons and collective operations. In: Rabhi FA, Gorlatch S (eds) Patterns and skeletons for parallel and distributed computing. Springer, Berlin, pp 29–64CrossRef
11.
Zurück zum Zitat Hu Z, Iwasaki H, Takeichi M (1996) Construction of list homomorphisms by tupling and fusion. In: Penczek W, Szalas A (eds) Mathematical Foundations of Computer Science (Lecture Notes in Computer Science), vol 1113. Springer, Berlin, pp 407–418 Hu Z, Iwasaki H, Takeichi M (1996) Construction of list homomorphisms by tupling and fusion. In: Penczek W, Szalas A (eds) Mathematical Foundations of Computer Science (Lecture Notes in Computer Science), vol 1113. Springer, Berlin, pp 407–418
12.
Zurück zum Zitat Kornerup J (1997) Data structures for parallel recursion. In: Ph.D. dissertation, University of Texas Kornerup J (1997) Data structures for parallel recursion. In: Ph.D. dissertation, University of Texas
13.
Zurück zum Zitat Loulergue F, Niculescu V, Tesson J (2014) Implementing powerlists with bulk synchronous parallel ML. In: 16th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC2014), Timisoara, Romania, 22–25 Sept. IEEE Computer Society 2014, pp 325–332 Loulergue F, Niculescu V, Tesson J (2014) Implementing powerlists with bulk synchronous parallel ML. In: 16th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC2014), Timisoara, Romania, 22–25 Sept. IEEE Computer Society 2014, pp 325–332
14.
Zurück zum Zitat Loulergue F, Niculescu V, Robillard S. (2013) Powerlists in Coq: programming and reasoning. In: First International Symposium on Computing and Networking (CANDAR 2013) Matsuyama, Japan, Dec. 4–6, 2013, pp 57–65. IEEE Computer Society Loulergue F, Niculescu V, Robillard S. (2013) Powerlists in Coq: programming and reasoning. In: First International Symposium on Computing and Networking (CANDAR 2013) Matsuyama, Japan, Dec. 4–6, 2013, pp 57–65. IEEE Computer Society
15.
Zurück zum Zitat Misra J (1994) Powerlist: a structure for parallel recursion. ACM Trans Program Lang Syst 16(6):1737–1767CrossRef Misra J (1994) Powerlist: a structure for parallel recursion. ACM Trans Program Lang Syst 16(6):1737–1767CrossRef
16.
Zurück zum Zitat Niculescu V (2007) Data-distributions in powerlist theory. In: Jones CB, Liu Z, Woodcock J (eds) Theoretical aspects of computing (ICTAC) (Ser LNCS) vol. 4711. Springer, pp 396–409 Niculescu V (2007) Data-distributions in powerlist theory. In: Jones CB, Liu Z, Woodcock J (eds) Theoretical aspects of computing (ICTAC) (Ser LNCS) vol. 4711. Springer, pp 396–409
17.
Zurück zum Zitat Niculescu V (2011) PARES—a model for parallel recursive programs. Rom J Inf Sci Technol 14(2):159–182 Niculescu V (2011) PARES—a model for parallel recursive programs. Rom J Inf Sci Technol 14(2):159–182
18.
Zurück zum Zitat Niculescu V, Loulergue F, Bufnea D, Sterca A (2017) A java framework for high level parallel programming using powerlists. In: 18th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT) 18–20, pp 255–262 Niculescu V, Loulergue F, Bufnea D, Sterca A (2017) A java framework for high level parallel programming using powerlists. In: 18th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT) 18–20, pp 255–262
19.
Zurück zum Zitat Valiant LG (1990) A bridging model for parallel computation. Commun ACM 33(8):103–111CrossRef Valiant LG (1990) A bridging model for parallel computation. Commun ACM 33(8):103–111CrossRef
20.
Metadaten
Titel
Transforming powerlist-based divide-and-conquer programs for an improved execution model
verfasst von
Virginia Niculescu
Frédéric Loulergue
Publikationsdatum
25.03.2019
Verlag
Springer US
Erschienen in
The Journal of Supercomputing / Ausgabe 7/2020
Print ISSN: 0920-8542
Elektronische ISSN: 1573-0484
DOI
https://doi.org/10.1007/s11227-019-02820-x

Weitere Artikel der Ausgabe 7/2020

The Journal of Supercomputing 7/2020 Zur Ausgabe