Reuse, Portability and Parallel Libraries

Lyndon J. Clarke, Robert A. Fletcher, Shari M. Trewin, R. Alasdair, A. Bruce, A. Gordon Smith, S. Chapple · Birkhäuser Basel eBooks · 1994

Parallel programs are typically written in an explicitly parallel fashion using either message passing or shared memory primitives. Message passing is attractive for performance and portability since shared memory machines can efficiently execute message passing programs, however message passing machines cannot in general effectively execute shared memory programs. In order to write a parallel program using message passing, the programmer is often obliged to develop a significant amount of code which manages distributed data and events and parallel input/output, and such code may have little or nothing to do with the application. However many parallel applications have common structural elements and much of this additional code can be encapsulated within a parallel library and reused in several programs. We discuss the requirements the library writer and user makes of the basic message passing interface and describe how we have addressed these requirements in our Common High-Level Interface for Message Passing (CHIMP) project. We also describe how these requirements are supported in the new standard Message Passing Interface (MPI). We then describe a selection of the parallel libraries which we have written in our Parallel Utility Library (PUL) project. These libraries encapsulate common approaches to parallel data and event management and parallel input/output. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Read the paper · More papers on PaperTik