File: pvmd3.cat

package info (click to toggle)
scilab 2.4-1
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 55,196 kB
  • ctags: 38,019
  • sloc: ansic: 231,970; fortran: 148,976; tcl: 7,099; makefile: 4,585; sh: 2,978; csh: 154; cpp: 101; asm: 39; sed: 5
file content (197 lines) | stat: -rw-r--r-- 7,670 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197

pvmd3(1)                         pvm daemon                          pvmd3(1)
NAME
  pvmd3 - PVM  daemon

SYNOPSIS
  pvmd3 [ -options ] [ hostfile ] &

DESCRIPTION
  pvmd3 is a daemon process which coordinates hosts in a virtual machine. One
  pvmd 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.

  Local daemon may also be started by the scilab instruction pvm_start() and
  remote daemons may also be started by the scilab function pvm_addhosts
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 a hexade-
       cimal number which is the sum of the following bits: Bit Information

       1       Packet routing

       2       Message routing and entry points

       4       Task management

       8       Slave pvmd startup

       10      Host table updates

       20      Select loop (below packet layer)

       40      IP network

       80      Multiprocessor port debugging

       100
               Resource manager interface

       200
               Application (messages with no destination, etc.)

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

  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 com-
  mand. 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.

  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 multi-
            ple 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 vari-
            able PVM_DEBUGGER can also be set.

  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      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. Informa-
  tion on host file lines beginning with `&' is stored, but the hosts are not
  started until added using pvm_addhosts().

  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

start it by
  * lo=guest so=pw sn666.jrandom.com cubie.misc.edu # really painful one, must
            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.
STOPPING PVMD3

  The preferred method of stopping all the pvmds 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 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}'`