Integrating task and data parallelism by means of coordination patterns

This paper shows, by means of some examples, the suitability and expressiveness of a pattern-based approach to integrate task and data parallelism. Coordination skeletons or patterns express task parallelism among a collection of data parallel HPF tasks. Patterns specify the interaction among domains involved in the application along with the processor and data layouts. On the one hand, the use of domains, i.e. regions together with some interaction information, improves pattern reusability. On the other hand, the knowledge at the coordination level of data distribution belonging to the different HPF tasks is the key for an efficient implementation of the communication among them. Besides that, our system implementation requires no change to the runtime system support of the HPF compiler used. We also present some experimental results that show the efficiency of the model.

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

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

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

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

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

[6]  José M. Troya,et al.  DIP: a pattern-based approach for task and data parallelism integration , 2001, SAC.

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

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

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

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

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

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

[13]  Joel H. Saltz,et al.  An Integrated Runtime and Compile-Time Approach for Parallelizing Structured and Block Structured Applications , 1995, IEEE Trans. Parallel Distributed Syst..

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

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

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