Setting up Consumable Resources with LSF
The following information was provided by IBM.
If you have questions or issues with setting up a consumable resource for LSF, please refer to your LSF documentation. For questions not covered there, please contact firstname.lastname@example.org and email@example.com.
LSF has the ability to do "license scheduling" and ensure that CLC Server jobs running under LSF are only dispatched when there are available CLC Grid Worker licenses. When such scheduling is configured, CLC jobs for which no free licenses are available would stay in "pend" status, waiting for a CLC Grid Worker license to become available.
There are two parts to making use of this type of scheduling:
- Configure the consumable resource in LSF.
- Specify a clcbio license reservation when jobs are submitted to LSF.
Configuring the consumable resource in LSF
Add a consumable resource called clcbio in $LSF_ENVDIR/lsf.shared:
Begin Resource RESOURCENAME TYPE INTERVAL INCREASING DESCRIPTION # Keywords mips Boolean () () (MIPS architecture) ... ... clcbio Numeric () N (clcbio license) End Resource
Add the number of clcbio licenses in $LSF_ENVDIR/lsf.cluster.<clustername>:
Begin ResourceMap RESOURCENAME LOCATION # CLCBIO license resource clcbio (14@[all]) # 14 clcbio licenses can be used #.... End ResourceMap
This example shows a configuration for 14 CLC Grid Worker licenses, which means that up to 14 CLC jobs can be running on the LSF cluster at the same time. This integer needs to be changed to the number of licenses you own.
The configuration shown here assumes the CLC Grid Worker licenses can only be use in the LSF cluster as LSF will manage the free token count from the scheduling side.
In this context, LSF does not replace or directly talk to the LMX license server for CLC licenses. Rather, LSF manages the CLC Grid Worker license reservations internally.
Specify a clcbio license reservation when jobs are submitted to LSF
CLC jobs submitted to LSF need to have a clcbio license reservation specified.
This can be done in several different ways:
- via the CLC Grid Preset "Native Specification" field. (This is the most convenient method.) Simply add:
to this field.
- via the batch job submission command line
- using the RES_REQ line inside the lsb.queues file
- via an application profile (lsb.applications)
Important: After any LSF configuration file changes, one needs to reconfigure LSF for the changes to take effect. That is, run:
lsadmin reconfig badmin reconfig
These are "safe" commands to run. That is, pending LSF jobs will continue to "pend" in status and running LSF jobs will continue to run.