The RMS Daemon
4.8 The Process Manager
The Process Manager, rmsmhd, is responsible for starting and stopping the other RMS
daemons. It runs on each node and is responsible for managing the other daemons that
run on its node. It starts them as the node boots, stops them as the node halts and starts
or stops them in response to requests from the RMS client application rcontrol (see
Page 5-20).
4.8.1 Interaction with the Database
RMS stores information regarding which daemons run on which nodes; this information
is stored centrally in the RMS database, rather than in node-specific configuration files.
On startup, the Process Manager checks the servers table (see Section 10.2.19) for
entries matching its node. This information is used to start the other daemons. If its
child processes (the other daemons) are killed, it checks the table to see whether they
should be restarted. The Process Manager creates its own entry in the servers table.
4.9 The RMS Daemon
The RMS daemon rmsd runs on each node in the machine. Its purpose is as follows:
• To start application processes
• To implement scheduling decisions made by the Partition Manager
• To clean up after parallel programs when they have finished
• To execute RMS remote procedure calls on behalf of clients elsewhere in the network
• To collect accounting data and performance statistics
rmsd carries out the following tasks on behalf of the Partition Manager to run a user’s
parallel program:
• Creating and destroying communication contexts (see Section C.2)
• Starting the application loader, rmsloader.
• Delivering signals
• Suspending and resuming processes
• Collecting accounting data from the kernel
RMS Daemons 4-7