arrayd - array services daemon
arrayd is the array services daemon. It performs several different tasks
related to the use of an array of two or more machines, such as:
- Allocating global array session handles
- Forwarding "array commands" to all of the machines in an array
- Maintaining a database of the current array configuration and providing
that information to other commands and programs
- Determining which processes belong to a particular array session and
providing that information to other commands and programs
For more discussion of these services, see array_services(5).
The arrayd command itself has several command line options. The valid
-c "Check": causes arrayd to read any configuration files then exit
immediately, sending any errors to stderr rather than syslog
(which is the usual behavior). This is primarily of use for
checking the validity of new configuration files. This is the
same as the -qf flag.
Specifies the name of a single configuration file. This option
may be specified more than once, in which case the files will be
processed in the order that they are specified. One reason to
have multiple configuration files would be to allow all of the
machines in an array to use a single file (accessed via NFS,
perhaps) for array entries and still maintain private
configuration files for local options and/or security information.
The format of an arrayd configuration file is described in
arrayd.conf(4). If no configuration files are specified, then
"/usr/lib/array/arrayd.conf" and "/usr/lib/array/arrayd.auth" will
both be used (in that order).
Sets the "machine identifier" used by the array services daemon
for generating global array session handles to number. Certain
versions of the IRIX kernel may also use this value when
generating array session handles. number must be a value between
0 and 32767. It will override any IDENT setting in the LOCAL
section of any configuration file.
Sets the time interval for arrayd deamon to check whether any mpi
job has died. If any mpi job dies arrayd will clean up the
children of that mpi job. The time interval is in second and it
can be any number between 0 and 32767. The default time interval
is 10 (sec).
-n Ordinarily, arrayd will automatically "daemonize" itself, that is,
dissociate itself from the current terminal and place itself in
the background. Specifying this option will cause arrayd to run
in the foreground on the current terminal. This is mostly useful
for testing purposes.
-nf Do not read any configuration files. This is most useful with
options like -sm that cause arrayd to quit after performing tasks
that do not require configuration information. -nf will override
any -f options.
-nm Do not set the system machine ID. This is used to override a
"LOCAL OPTIONS SETMACHID" statement in the configuration file.
This specifies which port the array services daemon should listen
on for requests. It will override any PORT setting in the LOCAL
section of any configuration file.
-qf Quit after parsing the configuration file(s). This is the same as
the -c option.
-qm Quit after setting the system machine ID. Causes arrayd to exit
as soon as it has set the system machine identifier (or would have
done so, in the case where this operation is not supported by the
current OS release). This may be useful in cases where a nondefault
system machine identifier is desired, but none of the
other array services provided by arrayd are needed. This can also
be used to change the machine identifier on a system that is
already running another copy of arrayd; in this case, kernelgenerated
array session handles will use the new machine
identifier while those generated by arrayd will continue to use
the original machine identifier.
-sm Some versions of IRIX permit setting a system "machine
identifier", which is used by the kernel for generating global
array session handles. If the current system has this facility
and -sm is specified, arrayd will set the machine ID to the value
specified by a LOCAL IDENT statement in the configuration file or
on the command line using the -m option.
-v "Verbose": the daemon will run in the foreground (as with the -n
option) and will send any error messages, plus some additional
messages, to stderr rather than syslog. Specifying this option
more than once or specifying more than one "v" (for example "-
vvv") will cause additional debugging information to be generated.
To clean up errorlog file at a specific time interval the user needs to
set two variables before running arrayd; they are ARRAYD_ELCHECK and
ARRAYD_ELAGE. The ARRAYD_ELCHECK variable defines the interval in
seconds, that arrayd uses to check for files in the "/tmp/.arraysvcs"
directory. The ARRAYD_ELAGE variable also in seconds defines the
interval that arrayd uses to check the age of the files in the
"/tmp/.arraysvcs" directory and removes files that are too old.
Typically, the recomended values for ARRAYD_ELCHECK and ARRAYD_ELAGE are
60 and 300 secondsi, respectively. The user can define these two
variables before the call to arrayd in "/etc/init.d/array" script also
and start arrayd.
If you want to run jobs through arrayd across a large cluster, where
there might be a lot of congestion on the network, you might want to tune
ARRAYD_CONNECTTO and ARRAYD_TIMEOUT variables. By default, these two
variables are set to 5 seconds. If there is a possible network
congestion, you might want to set these two variables higher than default
setting. This might slow down some array commands when a host is
unavailable but it will help to prevent MPI start up problems due to
arrayd can be set up to run automatically at system initialization time
by using the chkconfig(1M) command to turn on the array feature:
chkconfig array on
When run in this manner, arrayd will take its command line options from
the file /etc/config/arrayd.options.
array(1), arrayd.conf(4), array_services(5).
PPPPaaaaggggeeee 3333 [ Back ]