Skeletons and Transformations in an Integrated Parallel Programming Environment

We present an integrated environment for the systematic development of parallel and distributed programs. Our approach allows the user to construct complex applications by composing and transforming skeletons, i.e., recurring patterns of task and data parallelism. First academic and commercial experience with skeleton-based systems has demonstrated the benefits of the approach but also the lack of a dedicated set of methods for algorithm design and performance prediction. We take a first step towards such a set of methods by proposing an environment which integrates a framework for algorithm transformation, called FAN, with two existing skeleton-based programming systems: the academic system P3L and its commercial counterpart SkIE.

[1]  William Gropp,et al.  Skjellum using mpi: portable parallel programming with the message-passing interface , 1994 .

[2]  Marco Danelutto,et al.  SkIE: A heterogeneous environment for HPC applications , 1999, Parallel Comput..

[3]  Alois Goller,et al.  Parallel and Distributed Processing , 1998, Lecture Notes in Computer Science.

[4]  Sergei Gorlatch,et al.  A Transformational Framework for Skeletal Programs: Overview and Case Study , 1999, IPPS/SPDP Workshops.

[5]  George Horatiu Botorog,et al.  Skil: an imperative language with algorithmic skeletons for efficient distributed programming , 1996, Proceedings of 5th IEEE International Symposium on High Performance Distributed Computing.

[6]  Jack J. Dongarra,et al.  Graphical development tools for network-based concurrent supercomputing , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[7]  Salvatore Orlando,et al.  P3 L: A structured high-level parallel language, and its structured support , 1995, Concurr. Pract. Exp..

[8]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[9]  Sergei Gorlatch,et al.  (De) composition rules for parallel scan and reduction , 1997, Proceedings. Third Working Conference on Massively Parallel Programming Models (Cat. No.97TB100228).

[10]  Susanna Pelagatti Structured development of parallel programs , 1997 .

[11]  Marco Danelutto,et al.  Rewriting skeleton programs: How to evaluate the data-parallel stream-parallel tradeoff , 1998 .

[12]  Yike Guo,et al.  Parallel skeletons for structured composition , 1995, PPOPP '95.

[13]  Christian Lengauer,et al.  On linear list recursion in parallel , 1998, Acta Informatica.

[14]  Marco Danelutto,et al.  ANCLETO: a template-based P3L compiler , 1997 .

[15]  Richard S. Bird,et al.  Lectures on Constructive Functional Programming , 1989 .

[16]  Brian J. N. Wylie,et al.  Annai: An Integrated Parallel Programming Environment for Multicomputers , 1996 .

[17]  Sergei Gorlatch,et al.  Optimization rules for programming with collective operations , 1999, Proceedings 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing. IPPS/SPDP 1999.

[18]  Anthony Skjellum,et al.  Using MPI - portable parallel programming with the message-parsing interface , 1994 .