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
       computers to be used as a coherent  and	flexible  concurrent  computa-
       tional resource.

       The  individual	computers  may be shared- or local-memory multiproces-
       sors, 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  be-
       tween 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 mem-
			    ory
	      SGIMP6	    Silicon Graphics IRIS / OS 6.x / using shared mem-
			    ory
	      SGIMP64	    Silicon Graphics IRIS / 64 bit / using shared mem-
			    ory
	      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 com-
       mands 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 environment variables and to  add  PVM  directories  to
       your    execution    path.     Inert    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
       effect.	The .login script file is only read when you are actually log-
       ging in,	whereas	.cshrc is read every time csh starts up.  PVM needs to
       have  environment  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	 func-
	      tion.  There is no default value.

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

       PVM_RSH
	      The 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 sys-
	      tem.  By default,	 PVM  looks  in	 $HOME/pvm3/bin/$PVM_ARCH  and
	      $PVM_ROOT/bin/$PVM_ARCH  for  your PVM applications.  This envi-
	      ronment 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
	      convenience 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
	      children tasks through pvm_spawn().  Multiple names must be sep-
	      arated by	':'.  If PVM_EXPORT is not set,	no environment is  ex-
	      ported.

       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 automat-
	      ically  execute  a startup script	(such as .cshrc) to allow set-
	      ting PVM_ROOT on slave (added) hosts.  If	you set	it to the  ab-
	      solute  or relative path of the pvmd startup script (for example
	      /usr/local/pvm3/lib/pvmd or pvm3/lib/pvmd), the script will  au-
	      tomatically  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	daemon executable using	appropriate DOS	file path syn-
	      tax	  and	     environment	variables	 (e.g.
	      %PVM_ROOT%\lib\WIN32\pvmd3.exe).

       PVMHOSTFILE
	      Specifies	the path to an optional	host file to be	 used  by  de-
	      fault  when  starting PVM.  This alleviates the need to manually
	      pass a host file path argument to	the "pvm"  console  or	"pvmd"
	      script when starting 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  op-
	      tion).   Value  can  be  in hexadecimal (0x...), octal (0...) or
	      decimal.	Used to	debug the pvmd (not intended to	be used	to de-
	      bug application programs).

       PVMTASKDEBUG
	      Sets  the	 default  libpvm  debugging  mask  (as	does   pvm_se-
	      topt(PvmDebugMask,  x)).	 Value	can be in hexadecimal (0x...),
	      octal (0...) or decimal.	Used to	debug libpvm (not intended  to
	      be used to debug application programs).

       PVMTASK
	      Sets additional flag bits	for the	pvm_spawn() library call.  Al-
	      lows override at run time	of flags compiled into the pvm_spawn()
	      calls  in	PVM application, e.g. to turn on PvmTaskDebug for pop-
	      ping 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 com-
	      poses messages 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	multi-
	      ple virtual machines 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 pro-
	      vide 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 vir-
	      tual machine will	inherit	the same VMID.	If hosts are added  to
	      the  virtual  machine  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  ma-
	      chine  for  the  given user.  The	VMID need not be consistent on
	      every host in a virtual machine (although	this is	not  necessar-
	      ily advisable), and the VMID can be set for individual hosts us-
	      ing 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)  formats.	  Copies  of a program for different architec-
	      tures are	installed in parallel directories named	for PVM	archi-
	      tectures.

       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.  This is a magic cookie used by the	task to	 identify  it-
	      self  when reconnecting 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  num-
	      ber  of  bytes of	trace event message buffer to be collected be-
	      fore sending to front-end	tracer program.

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

       PVMINPLACEDELAY
	      Used  to optimize	sending	of PvmDataInPlace messages on MPP sys-
	      tems.

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

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

home | help