Pegasus InfoCorp: Web site design and web software development company

PVMD (1)

PVM daemon

SYNOPSIS

    B pvmd [ -options ] [ hostfile ] & R

DESCRIPTION

    Pvmd3 is a daemon process which coordinates 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 pvmds. The local and remote 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 starting the master pvmd or PVM console:

    -dmask

      Set pvmd debug mask. Used to debug the pvmd or libpvm (not intended 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. Useful when gethostname() returns a name not assigned to any network 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 additional 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 environment 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 (instead 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".

    A dollar sign ( $ ) in an option introduces a variable name, for example $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. Information 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: