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

FreeBSD Manual Pages

  
 
  

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

NAME
       pvmd, pvmd3 - PVM daemon

SYNOPSIS
       pvmd [ -options ] [ hostfile ]

DESCRIPTION
       Pvmd3 is	a daemon process which coordinates unix	hosts in a virtual ma-
       chine.  One pvmd3 must run on each host in the group.  They provide the
       communication  and  process  control functions needed by	the user's PVM
       processes.  The daemon can be started manually with a host  file	 argu-
       ment that will automatically start the remote pvmds.  The local and re-
       mote pvmds can also be started from the PVM console program pvm.

       The name	of the daemon executable is pvmd3.  It is usually started by a
       shell script, $PVM_ROOT/lib/pvmd.

       [v3.4  and  later]  Before  running pvmd3, pvmd sources any commands in
       $HOME/.pvmprofile if this file exists.

OPTIONS
       The following options may be specified on the command line when	start-
       ing the master pvmd or PVM console:

       -dmask  Set pvmd	debug mask.  Used to debug the pvmd or libpvm (not in-
	       tended  to be used to debug application programs).  Mask	is the
	       sum of the following bits and can be specified  in  hexadecimal
	       (0x...),	octal (0...) or	decimal:
		   Bit	   Information
		   0x1	   Packet routing
		   0x2	   Message routing and entry points
		   0x4	   Task	state
		   0x8	   Slave pvmd startup
		   0x10	   Host	table updates
		   0x20	   Select loop (below packet layer)
		   0x40	   IP network
		   0x80	   Multiprocessor nodes
		   0x100   Resource manager interface
		   0x200   Application (messages with no destination, etc.)
		   0x400   Wait	contexts
		   0x800   Shared memory operations
		   0x1000  Semaphores
		   0x2000  Locks
		   0x4000  Message route control

       -nname  Specify an alternate hostname for the master pvmd to use.  Use-
	       ful  when gethostname() returns a name not assigned to any net-
	       work interface.

       The following options are used by the master pvmd when starting	slaves
       and  are	 only  of interest to someone writing a	hoster.	 Don't just go
       using them, now.

       -s     Start pvmd in slave mode.	 Hostfile cannot be used,  five	 addi-
	      tional  parameters  must	be supplied: master pvmd index,	master
	      IP, master MTU, slave pvmd index,	and slave IP.

       -S     Same as -s, but slave pvmd doesn't wait  for  its	 stdin	to  be
	      closed after printing its	parameters.  Used for manual startup.

       -f     Slave  doesn't  fork after configuration (useful if the slave is
	      to be controlled or monitored by some process).

HOST FILE FORMAT
       Each host in the	virtual	machine	must have an entry in the  host	 file.
       Lines  beginning	with a splat ( # ), optionally preceded	by whitespace,
       are ignored.

       A simple	host file might	look like:

	    # my first host file
	    thud
	    fred
	    wilma
	    barney
	    betty

       This specifies the names	of five	hosts to be configured in the  virtual
       machine.

       The master pvmd for a group is started by hand on the localhost,	and it
       starts  slaves  on  each	 of the	remaining hosts	using the rsh or rexec
       command.	 The master host may appear on any  line  of  the  host	 file.
       Host names cannot be numeric (IP) addresses, because they are passed to
       rsh and rexec(),	which usually don't accept addresses.

       The  simple  format above works fine if you have	the same login name on
       all five	machines and the name of the master host in your .rhosts files
       on the other four.

       There are several host file options available:

	      lo=NAME	Specifies an alternate login name (NAME) to use.

	      so=pw	This is	necessary when the remote  host	 cannot	 trust
			the  master.   Causes  the master pvmd to prompt for a
			password for the remote	host in	the tty	 of  the  pvmd
			(note  you can't start the master using	the console or
			background it when using this option) you will see:
			     Password (honk.cs.utk.edu:manchek):
			you should type	your password  for  the	 remote	 host.
			The startup will then continue as normal.

	      dx=FILE	Specifies  the	path of	the pvmd executable.  FILE may
			be a simple filename, an absolute pathname, or a  path
			relative  to  the  user's home directory on the	remote
			host.  This is mainly useful to	aid in	debugging  new
			versions of PVM, but may have other uses.

	      ep=PATH	Specifies a path for the pvmd to search	for executable
			program	 components  when spawning a new process.  The
			path may have multiple elements, separated by colons (
			: ).

	      wd=PATH	Specifies a working directory  in  which  all  spawned
			tasks on this host will	execute.

	      sp=VALUE	Specifies  the	relative  computational	 speed of this
			host compared to other	hosts  in  the	configuration.
			VALUE is an integer in the range [1 - 1000000]

	      bx=PATH	Specifies  the debugger	program	path.  Note: the envi-
			ronment	variable PVM_DEBUGGER can also be set.

	      ip=NAME	Specifies an alternate IP address to use for the host.
			As with	host names (when ip= is	not used), the address
			must be	a host name, not a numeric address, because it
			is passed to rsh and rexec().  This option allows  one
			to  pick  a  specific  network interface for a machine
			without	using the interface's name.  It	 can  also  be
			used  to  create a virtual machine using symbolic (in-
			stead of actual) host names.

	      so=ms	Rarely used.  Causes the master	pvmd to	 request  user
			to  manually  perform the startup of a pvmd on a slave
			host when rsh and rexec	network	services are  disabled
			but  IP	 connectivity  exists.	 See  section  "MANUAL
			STARTUP".

	      id=VMID	A new feature in PVM 3.4.4 is the concept of  a	 "Vir-
			tual  Machine ID".  You	can now	set the	VMID to	an ar-
			bitrary	string and this	 will  distinguish  and	 allow
			multiple  virtual  machines  to	run on the same	set of
			hosts under the	same userid.  (This feature was	origi-
			nally introduced by SGI	in their commercial PVM	 prod-
			uct,  and  has now been	generalized for	the public PVM
			system.)  This feature seems to	be something that peo-
			ple often want,	and  the  "id="	 hostfile  option  (or
			$PVM_VMID environment variable)	is the cleanest	way to
			provide	 this  functionality,  rather than overloading
			the SHAREDTMP compiler flag and	other internals.

			*** Make Sure  ***  that  you  appropriately  set  the
			$PVM_VMID  environment	variable  in  any  shells from
			which PVM application tasks or the "pvm" console  will
			be  run, or else they won't know which virtual machine
			to attach to!

			By default, all	hosts which are	added to  the  virtual
			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 machine for the given
			user.	The  VMID need not be consistent on every host
			in a virtual machine (although this is not necessarily
			advisable).

       A dollar	sign ( $ ) in an option	introduces a variable name, for	 exam-
       ple  $PVM_ARCH.	 Names are expanded from environment variables by each
       pvmd.

       Each of the flags above has a default value.  These are:
	      lo      The loginname on the master host.
	      so      Nothing
	      dx      $PVM_ROOT/lib/pvmd (or environment variable PVM_DPATH)
	      ep      $HOME/pvm3/bin/$PVM_ARCH:$PVM_ROOT/bin/$PVM_ARCH
	      wd      $HOME
	      sp      1000
	      bx      $PVM_ROOT/lib/debugger

       You can change these by adding a	line with a star ( * )	in  the	 first
       field followed by the options, for example:

	    * lo=afriend so=pw

       This sets new default values for	'lo' and 'so' for the remainder	of the
       host  file,  or	until  the next	'*' line.  Options set on the last '*'
       line also apply to hosts	added dynamically using	pvm_addhosts().

       Host options can	be set without starting	the hosts automatically.   In-
       formation  on  host  file  lines	 beginning with	'&' is stored, but the
       hosts are not started until added using pvm_addhosts().

       Example host file:
	    # host file	for testing on various platforms
	    fonebone
	    refuge
	    # installed	in /usr/local here
	    sigi.cs	       dx=/usr/local/pvm3/lib/pvmd
	    # borrowed accts, "guest", don't trust fonebone
	    *		       lo=guest	 so=pw
	    sn666.jrandom.com
	    cubie.misc.edu
	    # really painful one, must start it	by hand	and share a homedir
	    & igor.firewall.com	 lo=guest2  so=ms  ep=bob/pvm3/bin/$PVM_ARCH

MANUAL STARTUP
       When adding a host with this option set you will	see on the tty of  the
       pvmd:
	    ***	Manual startup ***
	    Login to "honk" and	type:
	    $PVM_ROOT/lib/pvmd -S -d0 -nhonk 1 80a9ca95:0cb6 4096 2 80a95c43:0000
	    Type response:

       after  typing  the  given  command  on host honk, you should see	a line
       like:
	    ddpro<2312>	arch<ALPHA> ip<80a95c43:0a8e> mtu<4096>

       type this line on the tty of the	master pvmd.  You should then see:
	    Thanks

       and the two pvmds should	be able	to communicate.

       Note you	can't start the	master using the console or background it when
       using this option.

OVERLOADING HOSTS
       You can force PVM to overload a host (start more	than one pvmd  on  it)
       by  putting  a  '$' before the host name	in the host file.  This	is not
       recommended unless you know what	you're doing and have  a  good	reason
       for it.	You must build the PVM source with option OVERLOADHOST defined
       for it to work.

       You  may	 also  need  to	 use the ip= hostfile option to	define several
       names with the same IP address.	If two or more hosts in	a PVM have the
       same name, they cannot be identified uniquely.

STOPPING PVMD3
       The preferred method of stopping	all the	pvmds is to give the halt com-
       mand in the PVM console.	This kills all PVM tasks, all the remote  dae-
       mons,  the local	daemon,	and finally the	console	itself.	 If the	master
       pvmd is killed manually it should be sent a SIGTERM signal to allow  it
       to kill the remote pvmds	and clean up various files.

       The  pvmd  can be killed	in a manner that leaves	the file /tmp/pvmd.uid
       behind on one or	 more  hosts.	Uid  is	 the  numeric  user  ID	 (from
       /etc/passwd)  of	 the  user.   This will	prevent	PVM from restarting on
       that host.  Deletion of this file will fix this problem:

	   rm `( grep $user /etc/passwd	|| ypmatch $user passwd	)
		| awk -F: '{print "/tmp/pvmd."$3; exit}'`

FILES
	 $PVM_ROOT/lib/pvmd  PVM daemon	startup	script
	 $PVM_ROOT/lib/$PVM_ARCH/pvmd3 PVM daemon executable
	 $HOME/.pvmprofile Shell commands read by pvmd before
	   running pvmd3
	 $HOME/pvm3/bin/$PVM_ARCH  Private PVM executable directory
	 $PVM_ROOT/pvm3/bin/$PVM_ARCH  System PVM executable directory
	 /tmp/pvmd.uid Pvmd local socket address
	 /tmp/pvml.uid Pvmd runtime error log
	 $HOME/.rhosts File allowing access to a host from
	   other hosts

SEE ALSO
       pvm(1PVM), pvm_intro(1PVM), rhosts(5)

				 06 May, 1994			    PVMD(1PVM)

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

home | help