COLTHPF, a run-time support for the high-level co-ordination of HPF tasks

This paper describesCOLTHPF, a run-time support specifically designed for the co-ordination of concurrent and communicating HPF tasks.COLTHPF is implemented on top of MPI and requires only small changes to the run-time support of the HPF compiler used. Although the COLTHPF API can be used directly by programmers to write applications as a flat collection of interacting data-parallel tasks, we believe that it can be used more productively through a compiler of a simple high-level co-ordination languagewhich facilitates programmers in structuring a set of data-parallel HPF tasks according to common forms oftask-parallelism. The paper outlines design and implementation issues, and discusses the main differences from other approaches to exploiting task parallelism in the HPF framework. We show how COLTHPF can be used to implement common forms of parallelism, e.g. pipeline and processor farms, and we present experimental results regarding both synthetic micro-benchmarks and sample applications. The experiments were conducted on an SGI/Cray T3E using Adaptor, a public domain HPF compiler. Copyright  1999 John Wiley & Sons, Ltd.

[1]  Matthew Haines,et al.  A Coordination Language for Multidisciplinary Applications , 1997, Sci. Program..

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

[3]  Ken Kennedy,et al.  Integrated Support for Task and Data Parallelism , 1994, Int. J. High Perform. Comput. Appl..

[4]  Thomas R. Gross,et al.  Task Parallelism in a High Performance Fortran Framework , 1994, IEEE Parallel & Distributed Technology: Systems & Applications.

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

[6]  Thomas R. Gross,et al.  Exploiting task and data parallelism on a multicomputer , 1993, PPOPP '93.

[7]  Stelios C. Orphanoudakis,et al.  Load Balancing Requirements in Parallel Implementations of Image Feature Extraction Tasks , 1993, IEEE Trans. Parallel Distributed Syst..

[8]  Marco Vanneschi Heterogeneous HPC Environments , 1998, Euro-Par.

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

[10]  Samuel T. Chanson,et al.  Performance Models for the Processor Farm Paradigm , 1997, IEEE Trans. Parallel Distributed Syst..

[11]  Marco Vanneschi,et al.  A methodology for the development and the support of massively parallel programs , 1992, Future Gener. Comput. Syst..

[12]  Anthony J. G. Hey,et al.  Experiments in mimd parallelism , 1989, Future Gener. Comput. Syst..

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

[14]  H. T. Kung,et al.  Computational models for parallel computers , 1988, Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences.

[15]  Prithviraj Banerjee,et al.  Automatic generation of efficient array redistribution routines for distributed memory multicomputers , 1995, Proceedings Frontiers '95. The Fifth Symposium on the Frontiers of Massively Parallel Computation.

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

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

[18]  Jaspal Subhlok,et al.  Optimal latency-throughput tradeoffs for data parallel pipelines , 1996, SPAA '96.

[19]  Peter G. Harrison,et al.  Parallel Programming Using Skeleton Functions , 1993, PARLE.

[20]  Sachin S. Sapatnekar,et al.  A Framework for Exploiting Task and Data Parallelism on Distributed Memory Multicomputers , 1997, IEEE Trans. Parallel Distributed Syst..