LSF Version 7.3 - Administering Platform LSF
Administering Platform LSF 263
Managing Software Licenses with LSF
◆ All license jobs are run through LSF
◆ Licenses are managed outside of LSF control
All licenses used through LSF
If all jobs requiring licenses are submitted through LSF, then LSF could regulate the
allocation of licenses to jobs and ensure that a job is not started if the required
license is not available. A static resource is used to hold the total number of licenses
that are available. The static resource is used by LSF as a counter which is
decremented by the resource reservation mechanism each time a job requiring that
resource is started.
Example
For example, suppose that there are 10 licenses for the Verilog package shared by
all hosts in the cluster. The LSF configuration files should be specified as shown
below. The resource is a static value, so an ELIM is not necessary.
lsf.shared Begin Resource
RESOURCENAME TYPE INTERVAL INCREASING DESCRIPTION
verilog Numeric () N (Floating licenses for
Verilog)
End Resource
lsf.cluster.cluster_name
Begin ResourceMap
RESOURCENAME LOCATION
verilog (10@[all])
End ResourceMap
Submitting jobs The users would submit jobs requiring verilog licenses as follows:
bsub -R "rusage[verilog=1]" myprog
Licenses used outside of LSF control
To handle the situation where application licenses are used by jobs outside of LSF,
use an ELIM to dynamically collect the actual number of licenses available instead
of relying on a statically configured value. The ELIM periodically informs LSF of
the number of available licenses, and LSF takes this into consideration when
scheduling jobs.
Example
Assuming there are a number of licenses for the Verilog package that can be used
by all the hosts in the cluster, the LSF configuration files could be set up to monitor
this resource as follows:
lsf.shared Begin Resource
RESOURCENAME TYPE INTERVAL INCREASING DESCRIPTION
verilog Numeric 60 N (Floating licenses
for Verilog)
End Resource