Control job dispatch order in cross-queue fair share
DISPATCH_ORDER parameter (lsb.queues)
Use DISPATCH_ORDER=QUEUE in the parent queue to define an ordered cross-queue fair share set. DISPATCH_ORDER indicates that jobs are dispatched according to the order of queue priorities, not user fair share priority.
Priority range in cross-queue fair share
By default, the range of priority defined for queues in cross-queue fair share cannot be used with any other queues. The priority of queues that are not part of the cross-queue fair share cannot fall between the priority range of cross-queue fair share queues.
For example, you have four queues: queue1, queue2, queue3, and queue4. You configure cross-queue fair share for queue1, queue2, and queue3, and assign priorities of 30, 40, 50 respectively. The priority of queue4 (which is not part of the cross-queue fair share) cannot fall between 30 and 50, but it can be any number up to 29 or higher than 50. It does not matter if queue4 is a fair share queue or FCFS queue.
If DISPATCH_ORDER=QUEUE is set in the parent queue, queues that are not part of the ordered cross-queue fair share can have any priority. Their priority can fall within the priority range of cross-queue fair share queues and they can be inserted between two queues using the same fair share tree. In the example above, queue4 can have any priority, including a priority falling between the priority range of the cross-queue fair share queues (30-50).
Jobs from equal priority queues
- If two or more non-fair share queues have the same priority, their jobs are dispatched first-come, first-served based on submission time or job ID as if they come from the same queue.
- If two or more fair share queues have the same priority, jobs are dispatched in the order the queues are listed in lsb.queues.