PVMD(1PVM)

NAME
pvmd3 - PVM version 3 daemon

SYNOPSIS
pvmd3 [ -options ] [ hostfile ]

DESCRIPTION
Pvmd3 is a daemon process which allows coordination between unix hosts in a virtual machine. 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 argument that will automatically start the remote pvmd3. The local and remote pvmd3 can also be started from the pvm console program pvm.

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 that there are five hosts in the virtual machine, and what their names are. The master pvmd3 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 hostfile, but must have an entry. 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.
    pw  This is necessary when the remote host cannot trust the master. Causes the master pvmd3 to prompt for a password for the remote host in the tty of the pvmd3 (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 a filename to execute instead of "~/pvm3/lib/pvmd". 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 pvmd3 to search for executable program components when spawning a new process. The path may have multiple elements, separated by colons ( : ). A percent in the path ( % ) expands to the architecture of the remote host.
    wd=PATH
        Specifies a working directory in which all spawned tasks on this host will execute. Not implemented in PVM 3.2
    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 environment variable PVM_DEBUGGER can also be set.
    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. (Note you can't start the master using the console or background it when using this option) When using this option you will see in the tty of the pvmd3:
        	[t80040000] ready   Fri Aug 27 18:47:47 1993
        	*** Manual startup ***
        	Login to "honk" and type:
        	pvm3/lib/pvmd -S -d0 -nhonk 1 80a9ca95:0cb6 4096 2 80a95c43:0000
        	Type response:
        on honk after typing the given line, you should see:
        	ddpro<2312> arch<ALPHA> ip<80a95c43:0a8e> mtu<4096>
        which you should relay back to the master pvmd. at that point, you will see:
        	Thanks
        and the two pvmds should be able to communicate.
Each of the flags above has a default value. These are:
    lo  The loginname on the master host.
    pw  Don't ask
    dx  ~/pvm3/lib/pvmd
    ep  pvm/%
    wd  $HOME
    speed
        1000
    bx  ~/pvm3/lib/debugger
    ms  false
You can change these by adding a line with a star ( * ) in the first field followed by the options, for example:
    * lo=afriend pw This sets new default values for 'lo' and 'pw' for the remainder of the host file, or until the next '*' line. Example hostfile:
	# hostfile 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  pw
	sn666.jrandom.com
	cubie.misc.edu
	# really painful one, must start it by hand and share a homedir
	igor.firewall.com  lo=guest2  ms  ep=bob/pvm3/bin/%

STOPPING PVMD3
When pvmd3 starts up it prints the single line: [t800xxxxxxx] ready

The preferred method of stopping all the pvmd3 is to give the halt command in the pvm console. This kills all pvm tasks, all the remote daemons, the local daemon, and finally the console itself. If the master pvmd3 is killed manually it should be sent a SIGTERM signal to allow it to kill the remote pvmd3 and clean up various files.

Occasionally the pvmd3 is killed in a manner that leaves the file /tmp/pvmd.<uid> behind on one or more hosts. This will prevent PVM from restarting on that host. Deletion of this file will fix this problem.

SEE ALSO
pvm(1PVM)