C
RMS Kernel Module
C.1 Introduction
The RMS kernel module supports the operation of RMS on each node in a system. It
provides functions that bind together the set of processes that make up a program on
each node, allowing RMS to apply scheduling, signal delivery and statistics gathering
operations to them collectively. For example, the RMS kernel module allows the rmsd
daemon or an administrator process to send a signal to all processes in a parallel
program at the same time.
The RMS kernel module stores the Elan capabilities assigned to a program, making
them available to the processes of that program and their children. The capablilities are
only accessible to processes that belong to this one parallel program, they are not
available to other processes. The RMS kernel module keeps track of processes through
handlers called whenever a process belonging to a parallel program forks or exits.
Note that a parallel program under RMS may consist of one or more UNIX process
groups or sessions. It is the ability of a UNIX process to call setpgrp or setsid at any
time that makes the program structure provided by the RMS kernel module necessary;
without it, suspend, resume, signal delivery and program cleanup operations on
changing sets of processes are unreliable.
C.2 Capabilities
An Elan capability describes a parallel program’s rights to use one rail of Compaq
AlphaServer SC Interconnect. It specifies the range of nodes that have been allocated
RMS Kernel Module C-1