What Is PVM
Parallel Virtual Machine (PVM) is a software package that allows a
heterogeneous network of computers (parallel, vector, or serial) to
appear as a single concurrent computational resource - a virtual
Background to PVM
The development of PVM started in summer 1989 at Oak Ridge National
- Owing to its experimental nature, the PVM project produces, as
incidental products, software of use to the computing community.
- The software is available freely in the interest of advancement
Availability of PVM from vendors
Several vendors are supplying and supporting optimized versions of PVM
for their multi-processor systems, including Cray Research, IBM, Convex,
Intel, SGI, and DEC.
Public domain availability of PVM
PVM is also public domain software
Available on netlib, which is a software distribution service set up on the Internet
Available by Email.
with the message
send xnetlib.shar from xnetlib
or anonymous ftp from
cs.utk.edu in pub/xnetlib
What Is MPI
MPI stands for Message Passing Interface. The goal of MPI is to develop
a standard for writing message passing programs. In designing MPI the
MPI forum sought to make use of features from a number of existing
message passing systems.
Background to MPI
The MPI Forum has been meeting to discuss and define a set of library
- Started April 1992.
- Draft presented at Supercomputing 1993.
- Public comment through February 1994.
Availability of MPI
- Implementations from most major vendors of parallel machines.
- Available public domain.
For example, the Argonne National Laboratory /Mississippi State
University implementation. Available by anonymous ftp from
info.mcs.anl.gov in pub/mpi
Summary of PVM and MPI
- Was originally designed to run on networks of workstations.
- Version PVM3 is designed to use multi-processor native calls.
- Has daemons running on all computers making up the virtual machine.
- Is also a library comprising routines for message passing, spawning processes, and modifying the virtual machine.
- Libraries interface to C and Fortran programs.
- Attempts to establish a Message Passing standard to enable portability.
- Provides support for separately compiled libraries.
- Provides a great deal of functionality based on experience from other message-passing systems.
- Is designed to run on most platforms.
- Provides libraries for C and Fortran programs.
Submitted by Mark Johnston,
last updated on 10 December 1994.