dwww Home | Manual pages | Find package

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)

Generated by dwww version 1.15 on Sat Jun 29 02:04:04 CEST 2024.