LSF daemons


LSF daemon

Role

mbatchd

Job requests and dispatch

mbschd

Job scheduling

sbatchd

res

Job execution


mbatchd

  • 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.

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 mbatchd and manages local execution of the job.
  • Responsible for enforcing local policies and maintaining the state of jobs on the host.
  • The 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.

Commands

  • bctrld start sbd — Starts sbatchd
  • bctrld stop sbd — Shuts down sbatchd
  • bctrld restart sbd — Restarts sbatchd

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 — Starts res
  • bctrld stop res — Shuts down res
  • bctrld restart res — Restarts res

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 LIM running on the management host.
  • Reports the information that is displayed by lsload and lshosts.
  • 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 — Starts LIM
  • bctrld stop lim — Shuts 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.

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 to mbschd to support scheduling decisions. If the management host LIM becomes unavailable, a LIM on another host automatically takes over.

Commands

  • bctrld start lim — Starts LIM
  • bctrld stop lim — Shuts 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