Name

psid — the ParaStation MPI daemon. The organizer of the ParaStation MPI software architecture.

Synopsis

psid [-v?] [-d level] [-f configfile] [-l logfile] [--usage]

Description

The ParaStation MPI daemon is implemented as a Unix daemon process. It supervises allocated resources, cleans up after application shutdowns, and controls access to common resources. Thus, it takes care of tasks which are usually managed by the operating system.

The local daemon is usually started by executing psiadmin(1). If it is not running at the time a ParaStation MPI process is starting, the inetd(8) or xinetd(8) daemon is starting up psid automatically. The daemon can also be started using the command line. Parameters can be given at the command line or in the configuration file inetd.conf(5) or xinetd.conf(5). Most of the parameters can also be given in the ParaStation MPI configuration file parastation.conf(5). As an alternative, the psid can be installed as a service using the start/stop script /etc/init.d/parastation.

Nodes without a running ParaStation MPI daemon are not visible within the cluster. Be aware of the fact that psiadmin(1) usually only starts the local daemon. All other daemons managing the nodes configured to belong to the cluster may be started using the add directive from within the ParaStation MPI administration tool psiadmin(1).

If psiadmin(1) is started with the -s option, all daemons within the cluster will be started automatically.

The ParaStation MPI daemon must always run with root privileges.

Before a process can communicate with the ParaStation MPI system, it has to register with the daemon. Access may be granted or denied. The daemon can deny the access due to several reasons:

  • the ParaStation MPI system library of the process and the ParaStation MPI daemon are incompatible.

  • the daemon is in a state where it does not accept new connections.

  • insufficient resources.

  • the user is temporally not allowed to access ParaStation MPI (see psiadmin(1)).

  • the group is temporally not allowed to access ParaStation MPI (see psiadmin(1)).

  • the number of processes exceed the maximum set by psiadmin(1).

The ParaStation MPI daemon can restrict the access to the communication subsystem to a specific user or a maximum number of processes. This enables the cluster to run in an optimized way, since multiple processes slow down application execution due to scheduling overhead. (See psiadmin(1), set user, set group and set maxproc for this features.)

All ParaStation MPI daemons are connected to each other. They exchange local information and transmit demands of local processes to the psid of the destination node. With this cooperation, the ParaStation MPI system offers a distributed resource management.

The ParaStation MPI daemon spawns and kills client processes on demand of a parent process. The ParaStation MPI system transfers remote spawning or killing requests to the daemon of the destination node. Then operating system functionality is used to spawn and kill the processes on the local node. The spawned process runs with same user and group id as the spawning process. The ParaStation MPI system redirects the output of spawned process to the terminal of the parent process.

Options

-d , --debug=level

Activate the debugging mode and set the debugging level to level. If debugging is enabled, i.e. if level is larger than 0 and option -l is set to stdout, no fork(2) is made on startup, which is usually done in order to run psid as a daemon process in background.

The debugging level of the daemon can also be modified during runtime using the set psiddebug command of psiadmin(1).

Be aware of the fact that high values of level lead to excessively much debugging output spoiling the syslog(3) or the logfile.

-f , --configfile=file

Choose file to be the ParaStation MPI configuration file. The default is to use /etc/parastation.conf.

-l , --logfile=file

Choose file to be the destination for logging output. file may be the name of an ordinary file or stdin or stdout. The default is to use syslog(3) for any logging output.

-v , --version

Output version information and exit.

-? , --help

Show a help message.

--usage

Display a brief usage message.

See also

parastation.conf(5), psiadmin(1), mlisten(1)