Platform LSF Administration Guide Version 6.2

Chapter 11
Managing Software Licenses with LSF
Administering Platform LSF
233
Network Floating Licenses
A network floating license allows a fixed number of machines or users to run the
product at the same time, without restricting which host the software can run on.
Floating licenses are cluster-wide resources; rather than belonging to a specific host, they
belong to all hosts in the cluster.
LSF can be used to manage floating licenses using the following LSF features:
Shared resources
Resource reservation
Job requeuing
Using LSF to run licensed software can improve the utilization of the licenses. The
licenses can be kept in use 24 hours a day, 7 days a week. For expensive licenses, this
increases their value to the users. Floating licenses also increase productivity, because
users do not have to wait for a license to become available.
LSF jobs can make use of floating licenses when:
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