Runtime support for data parallel tasks

We have recently introduced Opus, a set of Fortran language extensions that provide shared data abstractions (SDAs) as a mechanism for communication and synchronization among coarse-grain data parallel tasks. In this paper, we discuss the design and implementation issues of the runtime system necessary to support SDAs, and outline the underlying requirements for such a runtime system. We explore the feasibility of this approach by implementing a prototype of the runtime system. We give preliminary results of the prototype on the Intel Paragon, outline the current status of the project, and discuss future plans.<<ETX>>

[1]  Frank Mueller,et al.  A Library Implementation of POSIX Threads under UNIX , 1993, USENIX Winter.

[2]  Herb Schwetman,et al.  CSIM† Reference Manual (Revision 16) , 1992 .

[3]  Robert Olson,et al.  Nexus: An interoperability layer for parallel and distributed computer systems , 1994 .

[4]  Philip J. Hatcher,et al.  A parallel programming environment supporting multiple data-parallel modules , 1992, SIGP.

[5]  K. Mani Chandy,et al.  Fortran M: A Language for Modular Parallel Programming , 1995, J. Parallel Distributed Comput..

[6]  Barbara M. Chapman,et al.  A Software Architecture for Multidisciplinary Applications: Integrating Task and Data Parallelism , 1994, CONPAR.

[7]  Matthew Haines,et al.  On the design of Chant: a talking threads package , 1994, Proceedings of Supercomputing '94.

[8]  Brian N. Bershad,et al.  An Open Environment for Building Parallel Programming Systems , 1988, PPOPP/PPEALS.

[9]  Robert Olson,et al.  Programming in FORTRAN M , 1993 .

[10]  Carl H. Hauser,et al.  The portable common runtime approach to interoperability , 1989, SOSP '89.

[11]  Dirk Grunwald A users guide to awesime: an object oriented parallel programming and simulation system , 1991 .

[12]  Ian Foster,et al.  A compilation system that integrates High Performance Fortran and Fortran M , 1994, Proceedings of IEEE Scalable High Performance Computing Conference.

[13]  Bjarne Stroustrup,et al.  The Annotated C++ Reference Manual , 1990 .

[14]  Siegfried Benkner,et al.  Vienna Fortran 90 , 1992, Proceedings Scalable High Performance Computing Conference SHPCC-92..

[15]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[16]  Ewing Lusk,et al.  User''s Guide to the p4 Parallel Programming System , 1992 .

[17]  Mamoru Maekawa,et al.  A N algorithm for mutual exclusion in decentralized systems , 1985, TOCS.

[18]  Jenq Kuen Lee,et al.  Object oriented parallel programming: experiments and results , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[19]  Edward W. Felten,et al.  Improving the performance of message-passing applications by multithreading , 1992, Proceedings Scalable High Performance Computing Conference SHPCC-92..

[20]  John R. Gilbert,et al.  Generating Local Address and Communication Sets for Data-Parallel Programs , 1995, J. Parallel Distributed Comput..

[21]  Brian N. Bershad,et al.  Scheduler activations: effective kernel support for the user-level management of parallelism , 1991, TOCS.

[22]  David R. O'Hallaron,et al.  Task Parallel Programming in Fx , 1994 .

[23]  Brian N. Bershad,et al.  An Open Environment for Building Parallel Programming Systems , 1988, PPOPP/PPEALS.

[24]  Barbara M. Chapman,et al.  Programming in Vienna Fortran , 1992, Sci. Program..

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

[26]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[27]  Greg Eisenhauer,et al.  A machine independent interface for lightweight threads , 1994, OPSR.

[28]  David R. Keppel,et al.  Tools and Techniques for Building Fast Portable Threads Packages , 1993 .