Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PVM_INTRO(1PVM) 		 PVM Version 3.4		 PVM_INTRO(1PVM)

NAME
     PVM, pvm_intro - Parallel Virtual Machine System Version 3

DESCRIPTION
     PVM is a software system that enables a collection of heterogeneous comput-
     ers  to  be  used	as  a coherent and flexible concurrent computational re-
     source.

     The individual computers may be shared-  or  local-memory	multiprocessors,
     vector  supercomputers,  specialized  graphics  engines, or scalar worksta-
     tions, that may be interconnected by a variety of networks, such as  ether-
     net, FDDI.

     User  programs written in C, C++ or Fortran access PVM through library rou-
     tines (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
	    AIX46K	  IBM/RS6000 / AIX 4.x
	    AIX4MP	  IBM SMP / shared memory transport / AIX 4.x
	    AIX4SP2	  IBM SP-2 / using MPI / AIX 4.x
	    APOLLO	  HP 300 running Domain/OS
	    ATT 	  AT&T/NCR 3600 running SysVR4
	    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
	    CYGWIN	  POSIX emulation layer on top of Windows32
	    DGAV,DGIX	  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
	    LINUXALPHA	  DEC Alpha running Linux
	    LINUXARM	  Strogarm running Linux
	    LINUXHPPA	  HP 9000 running Linux
	    LINUXPPC	  PowerPC running Linux
	    LINUXSPARC	  Sparc running Linux
	    M88K	  Motorola M88100 running Real/IX
	    M88K	  Motorola M88100 running Real/IX
	    MASPAR	  Maspar
	    MIPS	  Mips
	    NETBSDALPHA   DEC Alpha running NetBSD
	    NETBSDAMIGA   Amiga running NetBSD
	    NETBSDARM32   Strongarm running NetBSD
	    NETBSDHP300   HP 300 running NetBSD
	    NETBSDI386	  80[345]86 running NetBSD
	    NETBSDM68K	  Any Motorola 68K running NetBSD
	    NETBSDMAC68K  Macintosh running NetBSD
	    NETBSDMIPSEB  Mips EB running NetBSD
	    NETBSDMIPSEL  Mips EL running NetBSD
	    NETBSDNS32K   NS32K running NetBSD
	    NETBSDPMAX	  DEC Pmax running NetBSD
	    NETBSDPOWERPC
			  PowerPC running NetBSD
	    NETBSDSH3	  SH3 running NetBSD
	    NETBSDSPARC   Sparc running NetBSD
	    NETBSDSPARC64
			  Sparc64 running NetBSD
	    NETBSDSUN3	  SUN 3 running NetBSD
	    NETBSDVAX	  Vax running NetBSD
	    NEXT	  NeXT
	    OS2 	  OS/2
	    PGON	  Intel Paragon
	    PMAX	  DEC/Mips arch (3100, 5000, etc.)
	    RS6K	  IBM/RS6000 / AIX 3.x
	    RS6KMP	  IBM SMP / shared memory transport / AIX 3.x
	    RT		  IBM/RT
	    SCO 	  80[345]86 running SCO Unix
	    SGI 	  Silicon Graphics IRIS
	    SGI5	  Silicon Graphics IRIS running OS 5.0
	    SGI6	  Silicon Graphics IRIS running OS >= 6.0
	    SGI64	  Silicon Graphics IRIS running 64 bit
	    SGIMP	  Silicon Graphics IRIS / OS 5.x / using shared memory
	    SGIMP6	  Silicon Graphics IRIS / OS 6.x / using shared memory
	    SGIMP64	  Silicon Graphics IRIS / 64 bit / using shared memory
	    SP2MPI	  IBM SP-2 / using MPI / AIX 3.x
	    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
	    UWARE	  Uware
	    UXPM	  Fujitsu running UXP/M
	    VCM2	  Thinking Machines CM-2 Vax front-end
	    WIN32	  Windows 95/98/NT
	    X86SOL2	  80[345]86 running Solaris 2.x

ENVIRONMENT VARIABLES
     The following environment variables are read by PVM and may be set in order
     to  customize  your  PVM environment.  To set them, you can add commands to
     your .cshrc or .profile or equivalent shell startup file.	See  the  manual
     page  for	the shell you normally use for information about how to do this.
     You can also include an appropriate shell startup file stub to set PVM  en-
     vironment variables and to add PVM directories to your execution path.  In-
     ert  the  matching  stub  file, pvm3/lib/cshrc.stub, pvm3/lib/kshrc.stub or
     pvm3/lib/bashrc.stub, after your declaration  of  PVM_ROOT  in  your  shell
     startup file.

     For  csh users: Note that setting them in .login does not have the same ef-
     fect.  The .login script file is only read when you  are  actually  logging
     in, whereas .cshrc is read every time csh starts up.  PVM needs to have en-
     vironment	variables  set	when  it starts a slave pvmd with "rsh host pvmd
     ...", so they must be set in .cshrc.

     For those using a shell that doesn't always read a startup script (e.g. sh,
     ksh), there is another way to set environment variables  for  PVM.   Before
     running  the  PVM	executables, the pvm and pvmd startup scripts source any
     commands in $HOME/.pvmprofile if this file exists.

     The following environment variables are supported by PVM 3.4.4:

     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_TMPThe path for PVM temporary files, such as  the  daemon  socket  file
	    pvmd.<uid>	and the log file pvml.<uid>.  Use this environment vari-
	    able to use a directory other than /tmp (or C:\TEMP on Win32), or to
	    introduce added security by using a protected subdirectory	in  /tmp
	    that is owned by your userid and cannot be easily corrupted.

     PVM_RSHThe path to the "rsh" program on your system, if different than that
	    defined  in  the  $PVM_ROOT/conf/$PVM_ARCH.def  configuration  file.
	    This environment variable can also be used	to  replace  "rsh"  with
	    "ssh" for added security.

     PVM_PATH
	    The  execution  path to be searched for PVM programs on your system.
	    By	 default,   PVM   looks    in	 $HOME/pvm3/bin/$PVM_ARCH    and
	    $PVM_ROOT/bin/$PVM_ARCH for your PVM applications.	This environment
	    variable does not override the ep= host file option.

     PVM_WD The  working  directory for spawned PVM programs on your system.  By
	    default, PVM spawns your PVM applications in $HOME, but  for  conve-
	    nience  in	accessing data or input files using relative path names,
	    an alternate working directory can be specified.   This  environment
	    variable does not override the wd= host file option.

     PVM_EXPORT
	    Names of environment variables to export from a parent task to chil-
	    dren 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 Pvm-
	    TaskDebug set.  The default is $PVM_ROOT/lib/debugger.

     PVM_DPATH
	    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  automati-
	    cally  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/lo-
	    cal/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.

     PVM_WINDPATH
	    This variable serves the same purpose as the  PVM_DPATH  above,  but
	    specifically  for  Win32  systems.	This second environment variable
	    allows for alternate specification of the path to the pvmd3.exe dae-
	    mon executable using appropriate DOS file path syntax  and	environ-
	    ment variables (e.g. %PVM_ROOT%\lib\WIN32\pvmd3.exe).

     PVMHOSTFILE
	    Specifies  the  path  to an optional host file to be used by default
	    when starting PVM.	This alleviates the need to manually pass a host
	    file path argument to the "pvm" console or "pvmd" script when start-
	    ing PVM.

     PVMDLOGMAX
	    Sets the maximum length of the pvmd error log file.   Default  value
	    is the PVMDLOGMAX parameter in the source, 1 Mbyte.

     PVMDDEBUG
	    Sets  the  default pvmd debugging mask (as does the pvmd -d option).
	    Value can be in hexadecimal (0x...), octal (0...) or decimal.   Used
	    to debug the pvmd (not intended to be used to debug application pro-
	    grams).

     PVMTASKDEBUG
	    Sets the default libpvm debugging mask (as does pvm_setopt(PvmDebug-
	    Mask,  x)).   Value  can  be in hexadecimal (0x...), octal (0...) or
	    decimal.  Used to debug libpvm (not intended to be used to debug ap-
	    plication programs).

     PVMTASKSets additional flag bits for the pvm_spawn() library call.   Allows
	    override at run time of flags compiled into the pvm_spawn() calls in
	    PVM  application,  e.g. to turn on PvmTaskDebug for popping up child
	    tasks in a debugger window.

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

     PVM_VMID
	    A new feature in PVM 3.4.4 is the concept of a "Virtual Machine ID".
	    You can now set the PVM_VMID environment variable  to  an  arbitrary
	    string  (or  use  the  "id=" option in a host file, see man page for
	    pvmd3), and this will distinguish and  allow  multiple  virtual  ma-
	    chines to run on the same set of hosts under the same userid.  (This
	    feature  was  originally  introduced  by SGI in their commercial PVM
	    product, and has now been generalized for the  public  PVM	system.)
	    This  feature  seems to be something that people often want, and the
	    PVM_VMID is the cleanest way to provide this  functionality,  rather
	    than overloading the SHAREDTMP compiler flag and other internals.

	    Setting  the  PVM_VMID environment variable before starting PVM will
	    create an encapsulated virtual machine with the given VMID name.  By
	    default, all other hosts which are added  to  this	virtual  machine
	    will  inherit  the same VMID.  If hosts are added to the virtual ma-
	    chine which are running older versions of PVM (prior to 3.4.4), then
	    the VMID will be ignored for those hosts, and hence  these	machines
	    can  only  be  added to one virtual machine for the given user.  The
	    VMID need not be consistent on every host in a virtual machine  (al-
	    though  this  is not necessarily advisable), and the VMID can be set
	    for individual hosts using the "id=" host file option (see man  page
	    for pvmd3).

     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)  for-
	    mats.  Copies of a program for different architectures are installed
	    in parallel directories named for PVM architectures.

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

     PVMEPIDHolds the expected process id of a spawned task exec'd by the  pvmd.
	    This  is a magic cookie used by the task to identify itself when re-
	    connecting to the pvmd, in order to get the correct task slot.

     PVMTMASK
	    The libpvm trace mask, passed from the pvmd to spawned tasks.

     PVMTRCBUF
	    The libpvm trace buffer size.  If specified determines the number of
	    bytes of trace event message buffer to be collected  before  sending
	    to front-end tracer program.

     PVMTRCOPT
	    The libpvm trace option setting.  Determines the level of tracing to
	    be performed on invocations of PVM library calls.

     PVMINPLACEDELAY
	    Used to optimize sending of PvmDataInPlace messages on MPP systems.

     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.

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

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

				 11 April, 1995 		 PVM_INTRO(1PVM)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=PVM&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help