LSF daemons
LSF interacts with several daemons, each responsible for different aspects of the entire LSF workflow.
mbatchd (mbd)
- Management batch daemon running on the management host.
- Started by
sbatchd. - Responsible for the overall state of jobs in the system.
- Receives job submission, and information query requests.
- Manages jobs that are held in queues. Dispatches jobs to hosts as determined by
mbschd.
- Configuration
- Port number is defined in lsf.conf.
lsfproxyd
- LSF rate limiter daemon.
- By default, all LSF batch
commands contact the
mbatchddaemon (or thembatchdquery child, if configured). When there are excessive requests, such as scripts with tight loop running bjobs commands,mbatchdcan become overloaded, negatively affecting cluster performance. Starting in Fix Pack 14, to protectmbatchdfrom heavy loads, enable the LSF rate limiter (controlled by thelsfproxyddaemon), which acts as a gatekeeper between the commands and thembatchddaemon. The rate limiter is supported on Linux.
- Configuration
- You can configure to have multiple
lsfproxyddaemons run within a single cluster; use the LSF_PROXY_HOSTS parameter to list the hosts on which you wantlsfproxyddaemons to run. When multiplelsfproxyddaemons are defined for a cluster, they work together to balance workload and provide high availability: the client command first randomly picks one to use, and if anlsfproxyddaemon is unavailable, then the command locates another one to use.
mbschd
- Management batch scheduler daemon running on the management host.
- Works with
mbatchd. - Started by
mbatchd. - Makes scheduling decisions based on job requirements, and policies, and resource availability.
Sends scheduling decisions to
mbatchd.
sbatchd
- Server batch daemon running on each server host.
- Receives the request to run the job from
mbatchdand manages local execution of the job. - Responsible for enforcing local policies and maintaining the state of jobs on the host.
- The
sbatchdforks a childsbatchdfor every job. The childsbatchdruns an instance ofsbatchdto create the execution environment in which the job runs. The childsbatchdexits when the job is complete.
- Commands
-
- bctrld
start sbd: Start
sbatchd. - bctrld
stop sbd: Shut down
sbatchd. - bctrld
restart sbd: Restart
sbatchd.
- bctrld
start sbd: Start
- Configuration
- Port number is defined in lsf.conf.
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.
- Commands
-
- bctrld start res: Start
res. - bctrld stop res: Shut down
res. - bctrld restart res: Restart
res.
- bctrld start res: Start
- Configuration
- Port number is defined in lsf.conf.
lim
- Load information manager (
LIM) running on each server host. - Collects host load and configuration information and forwards it to the management host
LIMrunning on the management host. - Reports the information that is displayed by the lsload and lshosts commands.
- Static indices are reported when the LIM starts up or when the number of CPUs
(ncpus) change. Static indices are:
- Number of CPUs (ncpus)
- Number of disks (ndisks)
- Total available memory (maxmem)
- Total available swap (maxswp)
- Total available temp (maxtmp)
- Dynamic indices for host load collected at regular intervals are:
- Hosts status (status)
- 15 second, 1 minute, and 15 minute run queue lengths (r15s, r1m, and r15m)
- CPU utilization (ut)
- Paging rate (pg)
- Number of login sessions (ls)
- Interactive idle time (it)
- Available swap space (swp)
- Available memory (mem)
- Available temp space (tmp)
- Disk IO rate (io)
- Commands
-
- bctrld start lim: Start LIM.
- bctrld stop lim: Shut down LIM.
- bctrld restart lim: Restart LIM.
- lsload: View dynamic load values.
- lshosts: View static host load values.
- Configuration
- Port number is defined in lsf.conf.
Parent lim
- The LIM running on the management host. Receives load information from the LIMs running on hosts in the cluster.
- Forwards load information to
mbatchd, which forwards this information tombschdto support scheduling decisions. If the management host LIM becomes unavailable, a LIM on another host automatically takes over.
- Commands
-
- bctrld start lim: Start LIM.
- bctrld stop lim: Shut down LIM.
- bctrld restart lim: Restarts LIM.
- lsload: View dynamic load values.
- lshosts: View static host load values.
- Configuration
- Port number is defined in lsf.conf.
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 and located in LSF_SERVERDIR.
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 that is used by the job, and reports the information to sbatchd.
- Commands
- bjobs: View job information.