PVM is one of a number of parallel distributed computing environments (DCEs) [#DCE#
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#
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#
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#
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:
The Dynamic World
Up: PVMPI: An Integration
Previous: PVMPI: An Integration
Jack Dongarra
Fri Apr 12 11:15:36 EDT 1996