Architecture
LSF License Scheduler manages license tokens instead of controlling the licenses directly. Using LSF License Scheduler, jobs receive a license token before starting the application. The number of tokens available from IBM® Spectrum LSF (LSF) and IBM Spectrum LSF Advanced Edition (LSF Advanced Edition) corresponds to the number of licenses available from the license server, so if a token is not available, the job does not start. In this way, the number of licenses that are requested by running jobs does not exceed the number of available licenses.
When a job starts, the application is not aware of LSF License Scheduler. The application checks out licenses from the license server in the usual manner.

How scheduling policies work
With LSF License Scheduler, LSF gathers information about the licensing requirements of pending jobs to efficiently distribute available licenses. Other LSF scheduling policies are independent from LSF License Scheduler policies.
The basic LSF scheduling comes first when starting a job. LSF License Scheduler has no influence on job scheduling priority. Jobs are considered for dispatch according to the prioritization policies configured in each cluster.
For example, a job must have a candidate LSF host on which to start before the LSF License Scheduler fair share policy (for the license project this job belongs to) applies.
Other LSF fair share policies are based on CPU time, run time, and usage. If LSF fair share scheduling is configured, LSF determines which user or queue has the highest priority, then considers other resources. In this way, the other LSF fair share policies have priority over LSF License Scheduler.
When the mbatchd
is offline
When a cluster is running, the mbatchd
maintains a TCP connection to
bld
. When the cluster is disconnected (such as when the cluster goes down or is
restarted), the bld
removes all information about jobs in the cluster. LSF License Scheduler
considers licenses that are checked out by jobs in a disconnected cluster to be non-LSF use of
licenses.
When mbatchd
comes back online, the bld
immediately receives
updated information about the number of tokens that are currently distributed to the cluster.
When the bld
is offline
If the mbatchd
loses the connection with the bld
, the
mbatchd
cannot get bld
’s token distribution decisions to update
its own.
mbatchd
uses the last logged information to
schedule jobs.f3.LanServer1.dat
# f3 LanServer1 3 2
# p1 50 p2 50
12/3 14:20:38 2 0 2 0 1 0 1 0
12/3 14:21:39 2 0 2 0 1 0 1 0
12/3 14:22:40 3 3 0 0 0 0 0 0
12/3 14:23:41 3 3 0 0 0 0 0 0
12/3 14:24:42 1 0 1 0 2 0 2 0
12/3 14:25:43 1 0 1 0 2 0 2 0
12/3 14:26:44 1 0 1 0 2 0 2 0
12/3 14:27:55 1 0 1 0 2 0 2 0
f3
on LanServer1
has three tokens and two projects. Projects
p1
and p2
share licenses 50:50.
At 14:27:55, the bld
dispatched one token to p1
, which has zero
in use, one free, zero reserved. At the same time, the bld
dispatched two tokens to
p2
, which has zero in use, two free, and zero reserved.
The mbatchd
continues to schedule jobs that are based on the token distribution
that is logged at 14:27:55 until the connection with the bld
is re-established.