Platform LSF Administration Guide Version 6.2
Time-based Slot Reservation
Administering Platform LSF
352
◆
If preemptive scheduling is used, the estimated start time may not be accurate. The
scheduler may calculate and estimated time, but actually it may preempt other jobs
to start earlier.
Slot limit
enforcement
The following slot limits are enforced:
◆
Slot limits configured in lsb.resources (SLOTS, PER_SLOT)
◆
MXJ, JL/U in lsb.hosts
◆
PJOB_LIMIT, HJOB_LIMIT, QJOB_LIMIT, UJOB_LIMIT in lsb.queues
Memory request
To request memory resources, configure RESOURCE_RESERVE in lsb.queues.
When RESOURCE_RESERVE is used, LSF will consider memory and slot requests
during time-based reservation calculation. LSF will not reserve slot or memory if any
other resources are not satisfied.
If SLOT_RESERVE is configured, time-based reservation will not make a slot
reservation if any other type of resource is not satisfied, including memory requests.
When SLOT_RESERVE is used, if job cannot run because of non-slot resources,
including memory, time-based reservation will not reserve slots. For example, if job
cannot run because it cannot get required license, job will be pending without any
reservation
Host partition and
queue-level
scheduling
If host partitions are configured, LSF first schedules jobs on the host partitions and then
goes through each queue to schedule jobs. The same job may be scheduled several times,
one for each host partition and last one at queue-level. Available candidate hosts may be
different for each time.
Because of this difference, the same job may get different estimated start times, future
allocation, and reservation in different host partitions and queue-level scheduling. With
time-based reservation configured, LSF always keeps the same reservation and future
allocation with the earliest estimated start time.
bjobs displays future allocation information
◆
By default, job future allocation contains LSF host list and number of CPUs per
host, for example:
alloc=2*hostA 3*hostB
◆
LSF integrations define their own future allocation string to override the default
LSF allocation. For example, in RMS, future allocation is displayed as:
rms_alloc=2*sierra0 3*sierra1
Predicted start time may be postponed for some jobs
If a pending job cannot be placed in a future resource allocation, the scheduler can skip
it in the start time reservation calculation and fall back to use greedy slot reservation.
There are two possible reasons:
◆
The job slot request cannot be satisfied in the left future allocation
◆
Other non-slot resources cannot be satisfied.
Either way, the scheduler continues calculating predicted start time for the remaining
jobs without considering the skipped job.
Later, once the resource request of skipped job can be satisfied and placed in a future
allocation, the scheduler reevaluates the predicted start time for the rest of jobs, which
may potentially postpone their start times.