Resource management
The following new features affect resource management and allocation.
Accurate affinity accounting for job slots
Affinity accounting is an extension of HPC allocation feature, where LSF accounts all the slots on the allocated hosts for exclusive jobs. Previous versions of LSF miscalculated the job accounting for job slots when affinity is used in the resource requirement string (in the bsub -R option). LSF can now accurately account the number of slots that are consumed by jobs with affinity requirements. LSF calculates the number of slots that are required by affinity jobs when the job task is allocated to the host. The processor unit (PU) that is used for calculating the number of slots is the effective ncpus value on the host. LSF uses this effective ncpus value to calculate the number of slots that are required by affinity jobs when the job task is allocated to the host.
Enable HPC allocation and affinity accounting by defining the LSB_ENABLE_HPC_ALLOCATION parameter in the lsf.conf file.
Pre-provisioning and post-provisioning in LSF resource connector
Set up pre-provisioning in LSF resource connector to run commands before the resource instance joins the cluster. Configure post-provisioning scripts to run clean up commands after the instance is terminated, but before the host is removed from the cluster.
Configure resource provisioning policies in LSF resource connector
LSF resource connector provides built in policies for limiting the number of instances to be launched and the maximum number of instances to be created. The default plugin framework is a single python script that communicates via stdin and stdout in JSON data structures. LSF resource connector provides an interface for administrators to write their own resource policy plugin.
Improvements to units for resource requirements and limits
For the bsub, bmod, and brestart commands, you can now use the ZB (or Z) unit in addition to the following supported units for resource requirements and limits: KB (or K), MB (or M), GB (or G), TB (or T), PB (or P), EB (or E). The specified unit is converted to the appropriate value specified by the LSF_UNIT_FOR_LIMITS parameter. The converted limit values round up to a positive integer. For resource requirements, you can specify unit for mem, swp and tmp in select and rusage section.
By default, the tmp resource is not supported by the LSF_UNIT_FOR_LIMITS parameter. Use the parameter LSF_ENABLE_TMP_UNIT=Y to enable the LSF_UNIT_FOR_LIMITS parameter to support limits on the tmp resource.
When the LSF_ENABLE_TMP_UNIT=Y parameter is set and the LSF_UNIT_FOR_LIMITS parameter value is not MB, an updated LIM used with old query commands has compatibility issues. The unit for the tmp resource changes with the LSF_UNIT_FOR_LIMITS parameter in LIM, but query commands still display the unit for the tmp resource as MB.