Platform LSF Administration Guide Version 6.2
Chapter 19
Reserving Resources
Administering Platform LSF
345
Memory Reservation for Pending Jobs
About memory reservation for pending jobs
By default, the rusage string reserves resources for running jobs. Because resources
are not reserved for pending jobs, some memory-intensive jobs could be pending
indefinitely because smaller jobs take the resources immediately before the larger jobs
can start running. The more memory a job requires, the worse the problem is.
Memory reservation for pending jobs solves this problem by reserving memory as it
becomes available, until the total required memory specified on the
rusage string is
accumulated and the job can start. Use memory reservation for pending jobs if memory-
intensive jobs often compete for memory with smaller jobs in your cluster.
Configuring memory reservation for pending jobs
RESOURCE_RESERVE parameter
Use the RESOURCE_RESERVE parameter in lsb.queues to reserve host memory
for pending jobs.
The amount of memory reserved is based on the currently available memory when the
job is pending. Reserved memory expires at the end of the time period represented by
the number of dispatch cycles specified by the value of MAX_RESERVE_TIME set on
the RESOURCE_RESERVE parameter.
Configure
lsb.modules
To enable memory reservation for sequential jobs, add the LSF scheduler plugin module
name for resource reservation (
schmod_reserve
) to the lsb.modules file:
Begin PluginModule
SCH_PLUGIN RB_PLUGIN
SCH_DISABLE_PHASES
schmod_default () ()
schmod_reserve () ()
schmod_preemption () ()
End PluginModule
Configure
lsb.queues
Set the RESOURCE_RESERVE parameter in a queue defined in lsb.queues.
If both RESOURCE_RESERVE and SLOT_RESERVE are defined in the same queue,
job slot reservation and memory reservation are both enabled and an error is displayed
when the cluster is reconfigured. SLOT_RESERVE is ignored.
Example queues
The following queue enables memory reservation for pending jobs:
Begin Queue
QUEUE_NAME = reservation
DESCRIPTION = For resource reservation
PRIORITY=40
RESOURCE_RESERVE = MAX_RESERVE_TIME[20]
End Queue
Using memory reservation for pending jobs
Use the rusage string in the -R option to bsub or the RES_REQ parameter in
lsb.queues to specify the amount of memory required for the job. Submit the job to
a queue with RESOURCE_RESERVE configured.