Platform LSF Administration Guide Version 6.2

Chapter 14
Preemptive Scheduling
Administering Platform LSF
255
Configuring Preemptive Scheduling
To configure preemptive scheduling, make at least one queue in the cluster preemptive
(not the lowest-priority queue) or preemptable (not the highest-priority queue).
To make a queue preemptive or preemptable, set PREEMPTION in the queue
definition (
lsb.queues) to PREEMPTIVE or PREEMPTABLE. A queue can be
both: its jobs can always preempt jobs in lower priority queues, and can always be
preempted by jobs from higher priority queues.
Syntax
PREEMPTION = PREEMPTIVE
[
[queue_name
[
+pref_level
]...
]
]
PREEMPTABLE
[
[queue_name
...
]
]
When you specify a list of queues, you must enclose the list in one set of square brackets.
PREEMPTIVE[[queue_name[+pref_level] ...]]
Defines a preemptive queue. Jobs in this queue can preempt jobs from specified lower
priority queues only, or from all lower priority queues by default if the parameter is
specified with no queue names.
If you specify a list of lower-priority preemptable queues, you must enclose the list in
one set of square brackets. To indicate an order of preference for the lower-priority
queues, put a plus sign (
+) after the names of queues and a preference level as a positive
integer. See “Configuring preemptable queue preference” on page 256 for more
information.
PREEMPTABLE [[queue_name ...]]
Defines a preemptable queue. Jobs in this queue can be preempted by jobs from
specified higher-priority queues, or from all higher-priority queues by default (if the
parameter is specified with no queue names), even if the higher-priority queues are not
preemptive.
If you specify a list of higher-priority queues, you must enclose the list in one set of
square brackets.
Example
In these examples, assume Queue 1 has highest priority and Queue 4 the lowest.
If the following settings are in lsb.queues:
QUEUE_NAME=Queue1
PREEMPTION=PREEMPTIVE
Queue 1 is preemptive, so it can preempt jobs in all lower-priority queues (Queues
2, 3 and 4).
If the following settings are in lsb.queues:
QUEUE_NAME=Queue1
PREEMPTION=PREEMPTIVE[Queue3 Queue4]
Queue 1 is preemptive, but can only preempt jobs in Queues 3 and 4, not Queue 2.
If the following settings are in lsb.queues:
QUEUE_NAME=Queue3
PREEMPTION=PREEMPTIVE PREEMPTABLE
Queue 3 is preemptive and preemptable, so it can preempt jobs in all lower-priority
queues (Queue 4), and its jobs can be preempted by all higher-priority queues
(Queues 1 and 2).