Language and Run-Time Support for Network Parallel Computing

Network parallel computing is the use of diverse computing resources interconnected by general purpose networks to run parallel applications. This paper describes NetFx, an extension of the Fx compiler system which uses the Fx model of task parallelism to distribute and manage computations across the sequential and parallel machines of a network. A central problem in network parallel computing is that the compiler is presented with a heterogeneous and dynamic target. Our approach is based on a novel run-time system that presents a simple communication interface to the compiler, yet uses compiler knowledge to customize communication between tasks executing over the network. The run-time system is designed to support complete applications developed with different compilers and parallel program generators. It presents a standard communication interface for point-to-point transfer of distributed data sets between tasks. This allows the compiler to be portable, and enables communication generation without knowledge of exactly how the tasks will be mapped at run-time and what low level communication primitives will be used. The compiler also generates a set of custom routines, called address computation functions, to translate between different data distributions. The run-time system performs the actual communication using a mix of generic and custom address computation functions depending on run-time parameters like the type and number of nodes assigned to the communicating tasks and the data distributions of the variables being communicated. This mechanism enables the run-time system to exploit compile-time optimizations, and enables the compiler to manage foreign tasks that use non-standard data distributions. We outline several important applications of network parallel computing and describe the NetFx programming model and run-time system.

[1]  Thomas Narten,et al.  Internet routing , 1989, SIGCOMM '89.

[2]  Thomas R. Gross,et al.  Do&Merge: Integrating Parallel Loops and Reductions , 1993, LCPC.

[3]  Alan D. Russell,et al.  Cit photochemical a irshed model- systems manual , 1992 .

[4]  T. Narten Internet routing , 1989, SIGCOMM 1989.

[5]  M. Haines,et al.  Runtime support for data parallel tasks , 1995, Proceedings Frontiers '95. The Fifth Symposium on the Frontiers of Massively Parallel Computation.

[6]  Jaspal Subhlok,et al.  Optimal mapping of sequences of data parallel tasks , 1995, PPOPP '95.

[7]  H. T. Kung,et al.  The design of nectar: a network backplane for heterogeneous multicomputers , 1989, ASPLOS III.

[8]  Peter A. Dinda,et al.  The Performance Impact of Address Relation Caching , 1995, LCR.

[9]  Erik Seligman,et al.  Dome: Parallel Programming in a Heteroge-neous Multi-User Environment , 1995 .

[10]  Ian Foster,et al.  A data transfer library for communicating data-parallel tasks , 1995 .

[11]  Rice UniversityCORPORATE,et al.  High performance Fortran language specification , 1993 .

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

[13]  Dennis Reil Forum. , 1996, Environmental health perspectives.

[14]  Laxmikant V. Kalé,et al.  Converse: an interoperable framework for parallel programming , 1996, Proceedings of International Conference on Parallel Processing.

[15]  H. T. Kung,et al.  The design of nectar: a network backplane for heterogeneous multicomputers , 1989, ASPLOS 1989.

[16]  Kathryn S. McKinley,et al.  Compiler Architectures for Heterogeneous Systems , 1995, LCPC.

[17]  Thomas R. Gross,et al.  Generating Communication for Array Statement: Design, Implementation, and Evaluation , 1994, J. Parallel Distributed Comput..

[18]  Guy E. Blelloch,et al.  NESL: A Nested Data-Parallel Language , 1992 .

[19]  Richard D. Schlichting,et al.  A Software Platform for Constructing Scientific Applications from Heterogeneous Resources , 1994, J. Parallel Distributed Comput..

[20]  Jonathan Richard Shewchuk,et al.  A Compiler for Parallel Finite Element Methods with Domain-Decomposed Unstructured Meshes , 1993 .

[21]  Viktor K. Prasanna,et al.  Heterogeneous computing: challenges and opportunities , 1993, Computer.

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