next up previous
Next: The Dynamic World Up: PVMPI: An Integration Previous: PVMPI: An Integration

Introduction

 

PVM is one of a number of parallel distributed computing environments (DCEs) [#DCE##1#] that were introduced to assist users wishing to create portable parallel applications [#SURVEY##1#]. The system has been in use since 1992 [#PVM1##1#] and has grown in popularity, leading to a large body of knowledge and a substantial quantity of legacy code accounting for many man-years of development.

For the past several years, standardization efforts have attempted to address many of the deficiencies of the different DCEs and introduce a single stable system for message passing. These efforts culminated in the first Message Passing Interface (MPI) standard, introduced in June 1994 [#MPI##1#]. Within a year, several different implementations of MPI were available, including both commercial and public systems.

One of MPI's prime goals was to produce a system that would allow manufacturers of high-performance massively parallel processing (MPPs) computers to provide highly optimized and efficient implementations. In contrast, PVM was designed primarily for networks of workstations, with the goal of portability, gained at the sacrifice of optimal performance. PVM has been ported successfully to many MPPs by its developers and by vendors, and several enhancements--including in-place data packing and pack-send extensions--have been implemented with much success [#PERF##1#]. Nevertheless, PVM's inherent message structure has limited overall performance when compared with that of native communications systems.

Thus, PVM has many features required for operation on a distributed system consisting of many (possibly nonhomogeneous) nodes with reliable, but not necessarily optimal, performance. MPI, on the other hand, provides high-performance communication and a nonflexible static process model.

The aim of this work is to interface the flexible process and virtual machine control from the PVM system with the enhanced communication system of several MPI implementations. The need for such a system was clearly identified by the first MPI forum and motivated the current round of discussions by the MPI-2 forum. Indeed, MPI-2-style tools have been promised by several MPI implementors; examples include MPIX [#MPIX##1#] and LAM MPI-6.0 [#LAM##1#].

In this paper we compare the PVM and MPI systems, focusing in particular on machine definition, process control, and message-passing implementation. Then we consider how these systems can interoperate, and we address such issues as language binding and interfaces.



next up previous
Next: The Dynamic World Up: PVMPI: An Integration Previous: PVMPI: An Integration



Jack Dongarra
Fri Apr 12 11:15:36 EDT 1996