LSF daemons and processes

There are multiple LSF processes running on each host in the cluster. The type and number of processes running depends on whether the host is a master host or a compute host.

Master host daemon processes

LSF hosts run various daemon processes, depending on their role in the cluster.

LSF daemon

Role

mbatchd

Job requests and dispatch

mbschd

Job scheduling

sbatchd

Job execution

res

Job execution

lim

Host information

pim

Job process information

elim

Dynamic load indices

mbatchd

Master Batch Daemon running on the master host. Responsible for the overall state of jobs in the system.

Receives job submission, and information query requests. Manages jobs held in queues. Dispatches jobs to hosts as determined by mbschd.

mbschd

Master Batch Scheduler Daemon running on the master host. Works with mbatchd.

Makes scheduling decisions based on job requirements, policies, and resource availability. Sends scheduling decisions to the mbatchd.

sbatchd

Slave Batch Daemon running on each server host including the master host. Receives the request to run the job from mbatchd and manages local execution of the job. Responsible for enforcing local policies and maintaining the state of jobs on the host.

sbatchd forks a child sbatchd for every job. The child sbatchd runs an instance of res to create the execution environment in which the job runs. The child sbatchd exits when the job is complete.

res

Remote Execution Server (RES) running on each server host. Accepts remote execution requests to provide transparent and secure remote execution of jobs and tasks.

lim

Load Information Manager (LIM) running on each server host. Collects host load and configuration information and forwards it to the master LIM running on the master host. Reports the information displayed by lsload and lshosts.

Static indices are reported when the LIM starts up or when the number of CPUs (ncpus) change.

Master lim

The LIM running on the master host. Receives load information from the LIMs running on hosts in the cluster.

Forwards load information to mbatchd, which forwards this information to mbschd to support scheduling decisions. If the master LIM becomes unavailable, a LIM on a master candidate automatically takes over.

pim

Process Information Manager (PIM) running on each server host. Started by LIM, which periodically checks on PIM and restarts it if it dies.

Collects information about job processes running on the host such as CPU and memory used by the job, and reports the information to sbatchd.

ELIM

External LIM (ELIM) is a site-definable executable that collects and tracks custom dynamic load indices. An ELIM can be a shell script or a compiled binary program, which returns the values of the dynamic resources you define. The ELIM executable must be named elim.anything and located in LSF_SERVERDIR.