Platform LSF Administration Guide Version 6.2
Queue-based Fairshare
Administering Platform LSF
292
Interaction with other scheduling policies
◆
Queues participating in a queue-based fairshare pool cannot be preemptive or
preemptable.
◆
You should not configure slot reservation (SLOT_RESERVE) in queues that use
queue-based fairshare.
◆
Cross-queue user-based fairshare (FAIRSHARE_QUEUES) can undo the
dispatching decisions of queue-based fairshare. Cross-queue user-based fairshare
queues should not be part of a queue-based fairshare pool.
Examples
◆
Three queues using two hosts each with maximum job slot limit of 6 for a total of
12 slots to be allocated:
❖
queue1 shares 50% of slots to be allocated = 2 * 6 * 0.5 = 6 slots
❖
queue2 shares 30% of slots to be allocated = 2 * 6 * 0.3 = 3.6 -> 4 slots
❖
queue3 shares 20% of slots to be allocated = 2 * 6 * 0.2 = 2.4 -> 3 slots;
however, since the total cannot be more than 12,
queue3 is actually allocated
only 2 slots.
◆
Four queues using two hosts each with maximum job slot limit of 6 for a total of 12
slots;
queue4 does not belong to any pool.
❖
queue1 shares 50% of slots to be allocated = 2 * 6 * 0.5 = 6
❖
queue2 shares 30% of slots to be allocated = 2 * 6 * 0.3 = 3.6 -> 4
❖
queue3 shares 20% of slots to be allocated = 2 * 6 * 0.2 = 2.4 -> 2
❖
queue4 shares no slots with other queues
queue4 causes the total number of slots to be less than the total free and in use by
the
queue1, queue2, and queue3 that do belong to the pool. It is possible that
the pool may get all its shares used up by
queue4, and jobs from the pool will
remain pending.
◆
queue1, queue2, and queue3 belong to one pool, queue6, queue7, and
queue8 belong to another pool, and queue4 and queue5 do not belong to any
pool. LSF orders the queues in the two pools from higher priority queue to lower
priority queue (
queue1 is highest and queue8 is lowest):
queue1 -> queue2 -> queue3 -> queue6 -> queue7 -> queue8
If the queue belongs to a pool, jobs are dispatched from the highest priority queue
first. Queues that do not belong to any pool (
queue4 and queue5) are merged into
this ordered list according to their priority, but LSF dispatches as many jobs from
the non-pool queues as it can:
queue1 -> queue2 -> queue3 -> queue4 -> queue5 -> queue6 -> queue7 -> queue8