Domain interaction patterns to coordinate HPF tasks

This paper describes domain interaction patterns, a pattern-based, high level coordination language, which provides a new way of integrating task and data parallelism. Coordination patterns are used to express task parallelism among a collection of data parallel High Performance Fortran (HPF) tasks. Patterns specify the interaction among domains involved in the application along with the processor and data layouts. The use of domains, i.e. regions together with some interaction information, improves pattern reusability. Data distribution belonging to the different HPF tasks is known at the coordination level. This is the key for both computational code reutilization and an efficient implementation of the communication among tasks. Besides that, our system implementation requires no change to the runtime system support of the HPF compiler used. In addition, a set of different implementation templates is provided in order to ease the programmer task. The suitability, expressiveness and efficiency of the language are shown by means of some examples.

[1]  Thomas Rauber,et al.  A coordination language for mixed task and and data parallel programs , 1999, SAC '99.

[2]  Ramesh C. Agarwal,et al.  An efficient parallel algorithm for the 3-D FFT NAS parallel benchmark , 1994, Proceedings of IEEE Scalable High Performance Computing Conference.

[3]  Jaspal Subhlok,et al.  A new model for integrated nested task and data parallel programming , 1997, PPOPP '97.

[4]  Barry F. Smith,et al.  Domain Decomposition: Parallel Multilevel Methods for Elliptic Partial Differential Equations , 1996 .

[5]  David B. Skillicorn,et al.  Building programs in the network of tasks model , 2000, SAC '00.

[6]  José M. Troya,et al.  BCL: A Border-based Coordination Language , 2000, PDPTA.

[7]  Salvatore Orlando,et al.  Integrating task and data parallelism with taskHPF , 2000, PDPTA.

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

[9]  Matthew Haines,et al.  Approaches for integrating task and data parallelism , 1998, IEEE Concurr..

[10]  Guy L. Steele,et al.  The High Performance Fortran Handbook , 1993 .

[11]  Murray Cole,et al.  Activity graphs: a model-independent intermediate layer for skeletal coordination , 2000, SAC '00.

[12]  Matthew Haines,et al.  Opusc A Coordination Language for Multidisciplinary Applications , 1997 .

[13]  Alok N. Choudhary,et al.  A Library-Based Approach to Task Parallelism in a Data-Parallel Language , 1997, J. Parallel Distributed Comput..

[14]  Richard Barrett,et al.  Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods , 1994, Other Titles in Applied Mathematics.

[15]  José M. Troya,et al.  Integration of Task and Data Parallelism: A Coordination-Based Approach , 2000, HiPC.

[16]  Nicholas Carriero,et al.  Coordination languages and their significance , 1992, CACM.

[17]  Peter A. Dinda,et al.  The CMU task parallel program suite , 1994 .

[18]  William Gropp,et al.  Domain Decomposition: Parallel Mul-tilevel Methods for Elliptic PDEs , 1996 .

[19]  Lawrence Rauchwerger,et al.  Parallel computing for irregular applications , 2000, Parallel Comput..

[20]  Salvatore Orlando,et al.  COLTHPF, a run‐time support for the high‐level co‐ordination of HPF tasks , 1999 .

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

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

[23]  Juan I. Ramos,et al.  Domain decomposition techniques for reaction-diffusion equations in two-dimensional regions with re-entrant corners , 2001, Appl. Math. Comput..