PVM_INTRO(1PVM)

NAME
PVM - Parallel Virtual Machine System Version 3

DESCRIPTION
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.

MACHINE ARCHITECTURE
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:
    AFX8
        Alliant FX/8
    ALPHA
        DEC Alpha/OSF-1
    ALPHAMP
        DEC Alpha/OSF-1 / using shared memory
    BAL Sequent Balance
    BFLY
        BBN Butterfly TC2000
    BSD386
        80[345]86 running BSDI or BSD386
    CM2 Thinking Machines CM-2 Sun front-end
    CM5 Thinking Machines CM-5
    CNVX
        Convex using IEEE floating-point
    CNVXN
        Convex using native f.p.
    CRAY
        Cray
    CRAY2
        Cray-2
    CRAYSMP
        Cray S-MP
    CSPP
        Convex Exemplar
    DGAV
        Data General Aviion
    E88K
        Encore 88000
    FREEBSD
        80[345]86 running FreeBSD
    HP300
        HP 9000 68000 cpu
    HPPA
        HP 9000 PA-Risc
    HPPAMP
        HP 9000 PA-Risc / shared memory transport
    KSR1
        Kendall Square
    I860
        Intel RX Hypercube
    IPSC2
        Intel IPSC/2
    LINUX
        80[345]86 running Linux
    MASPAR
        Maspar
    MIPS
        Mips
    NETBSDAMIGA
        Amiga running NetBSD
    NETBSDHP300
        HP 300 running NetBSD
    NETBSD
        80[345]86 running NetBSD
    NETBSDMAC68K
        Macintosh running NetBSD
    NETBSDPMAX
        DEC Pmax running NetBSD
    NETBSDSPARC
        Sparc running NetBSD
    NETBSDSUN3
        SUN 3 running NetBSD
    NEXT
        NeXT
    PGON
        Intel Paragon
    PMAX
        DEC/Mips arch (3100, 5000, etc.)
    RS6K
        IBM/RS6000
    RS6KMP
        IBM SMP / shared memory transport
    RT  IBM/RT
    SCO 80[345]86 running SCO Unix
    SGI Silicon Graphics IRIS
    SGI5
        Silicon Graphics IRIS running OS >= 5.0
    SGI64
        Silicon Graphics IRIS running OS >= 6.0
    SGIMP
        Silicon Graphics IRIS / OS 5.x / using shared memory
    SGIMP64
        Silicon Graphics IRIS / OS 6.x / using shared memory
    SP2MPI
        IBM SP-2 / using MPI
    SUN3
        Sun 3
    SUN4
        Sun 4, 4c, sparc, etc.
    SUN4SOL2
        Sun 4 running Solaris 2.x
    SUNMP
        Sun 4 / using shared memory / Solaris 2.x
    SX3 NEC SX-3
    SYMM
        Sequent Symmetry
    TITN
        Stardent Titan
    U370
        IBM 3090 running AIX
    UTS2
        Amdahl running UTS
    UVAX
        DEC/Microvax
    VCM2
        Thinking Machines CM-2 Vax front-end
    UXPM
        Fujitsu running UXP/M

ENVIRONMENT VARIABLES
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.

PVM_ROOT
    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.

PVM_EXPORT
    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.

PVM_DEBUGGER
    The debugger script to use when pvm_spawn() is called with PvmTaskDebug set. The default is $PVM_ROOT/lib/debugger.

PVM_DPATH
    [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. Note that for this to work, you must set it to run the pvmd script, not the pvmd3 executable itself.

PVMDLOGMAX
    [v3.3.8 and later] Sets the maximum length of the pvmd error log file. Default value is the PVMDLOGMAX parameter in the source, 1 Mbyte.

PVMDDEBUG
    [v3.3.8 and later] Sets the default pvmd debugging mask (as does the pvmd -d option). Value should be a hexadecimal number. Used to debug the pvmd (not intended to be used to debug application programs).

PVMTASKDEBUG
    [v3.3.8 and later] Sets the default libpvm debugging mask (as does pvm_setopt(PvmDebugMask, x)). Value should be a hexadecimal number. Used to debug libpvm (not intended to be used to debug application programs).

PVMBUFSIZE
    Sets the size of the shared memory buffers used by libpvm and the pvmd. The default value is 1048576. If your program composes messages longer than this size, you must increase it.

PVMKEY
    PVM uses this value, combined with the process id, to generate shared-memory segment keys. The default value is your numeric uid. PVM automatically detects collisions when generating a key and picks a new key, so it should almost never need to be set explicitly.

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.

PVM_ARCH
    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.

PVMSOCK
    Is passed from pvmd to spawned task, and gives the address of the pvmd local socket.

PVMEPID
    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.

PVMTMASK
    [v3.3 and later] The libpvm trace mask, passed from the pvmd to spawned tasks.

SEE ALSO
aimk(1PVM), pvm(1PVM), pvmd3(1PVM), PVM 3.3 User's Guide and Reference Manual

AUTHORS
A. L. Beguelin [4,5], J. J. Dongarra [1,2], G. A. Geist [2], W. C. Jiang [1], R. J. Manchek [1], B. K. Moore [1], V. S. Sunderam [3] 1. University of Tennessee, Knoxville TN.
2. Oak Ridge National Laboratory, Oak Ridge TN.
3. Emory University, Atlanta GA.
4. Carnegie Mellon University, Pittsburgh PA
5. Pittsburgh Supercomputer Center, Pittsburgh PA