Table of Contents
PVM - Parallel Virtual Machine System Version 3
PVM is a software system that enables a collection of heterogeneous computers to be used as a coherent and flexible concurrent computational resource.
The individual computers may be shared- or local-memory multiprocessors, vector supercomputers, specialized graphics engines, or scalar workstations, that may be interconnected by a variety of networks, such as ethernet, FDDI.
User programs written in C, C++ or Fortran access PVM through library routines (libpvm3.a and libfpvm3.a).
Daemon programs (pvmd3) provide communication and process control between computers.
In the PVM system, machines are assigned a short string to identify their architectures (this includes operating system type as well as CPU type). The types currently predefined in the distribution are:
- Alliant FX/8
- DEC Alpha/OSF-1
- Sequent Balance
- BBN Butterfly TC2000
- 8086 running BSDI or BSD386
- Thinking Machines CM-2 Sun front
- Thinking Machines CM-5
- Convex using IEEE floating-point
- Convex using native f.p.
- Cray S-MP
- Data General Aviion
- Encore 88000
- HP 9000 68000 cpu
- HP 9000 PA-Risc
- Kendall Square
- Intel RX Hypercube
- Intel IPSC/2
- 8086 running Linux
- Intel Paragon
- DEC/Mips arch (3100, 5000, etc.)
- Silicon Graphics IRIS
- Silicon Graphics IRIS running OS >= 5.0
- Sun 3
- Sun 4, 4c, sparc, etc. SUN4SOL2 Sun 4 running Solaris
- Sequent Symmetry
- Stardent Titan
- IBM 3090 running AIX
- Thinking Machines CM-2 Vax front
The following environment variables are used by PVM and may be used
to customize your PVM environment. If you set them, you should do so
in your .cshrc or .profile file.
The following environment variables are used by PVM internally.
With the exception of PVM_ARCH,
their values should not be modified.
This is for information only.
- The path where PVM libraries and system programs are installed,
for example /usr/local/pvm3 or $HOME/pvm3.
This variable must be set on each host where PVM is used in order
for PVM to function.
There is no default value.
Names of environment variables to export from a parent task
to children tasks through pvm_spawn().
Multiple names must be separated by ':'.
If PVM_EXPORT is not set, no environment is exported.
The debugger script to use when pvm_spawn() is called
with PvmTaskDebug set.
The default is $PVM_ROOT/lib/debugger.
[v3.3.2 and later]
The path of the pvmd startup script (default is $PVM_ROOT/lib/pvmd).
It is overridden by host file option dx=.
This variable is useful if you use a shell that doesn't automatically
execute a startup script (such as .cshrc) to allow setting PVM_ROOT
on slave (added) hosts.
If you set it to the absolute or relative path of the pvmd startup
script (for example /usr/local/pvm3/lib/pvmd or pvm3/lib/pvmd),
the script will automatically set PVM_ROOT.
- The PVM architecture name of the host on which it is set,
used to distinguish between
machines with different executable (a.out) formats.
Copies of a program for different architectures are installed
in parallel directories named for PVM architectures.
Is passed from pvmd to spawned task, and gives the
address of the pvmd local socket.
Holds the expected process id of a spawned task exec'd by the pvmd.
The task uses this value to identify itself when reconnecting to the pvmd.
[v3.3 and later]
The libpvm trace mask,
passed from the pvmd to spawned tasks.
pvmd3(1PVM), PVM 3.3 User's Guide and Reference Manual
- A. L. Beguelin [4,5]
- J. J. Dongarra [1,2]
- G. A. Geist 
- W. C. Jiang 
- R. J. Manchek 
- B. K. Moore 
- V. S. Sunderam 
- University of Tennessee, Knoxville TN.
- Oak Ridge National Laboratory, Oak Ridge TN.
- Emory University, Atlanta GA.
- Carnegie Mellon University, Pittsburgh PA
- Pittsburgh Supercomputer Center, Pittsburgh PA
Table of Contents