25.06.2015 Views

Administering Platform LSF - SAS

Administering Platform LSF - SAS

Administering Platform LSF - SAS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 12<br />

Preemptive Scheduling<br />

Example<br />

◆<br />

For queues without a preference number, the queue with lower-priority is<br />

preferred than the queue with higher priority<br />

Begin Queue<br />

QUEUE_NAME = high_priority<br />

PRIORITY = 50<br />

PREEMPTION = PREEMPTIVE[low_q1+2 low_q2 low_q3]<br />

End Queue<br />

Jobs from low_q1 are preferred first for preemption before jobs from low_q2<br />

and low_q3.<br />

If preemptable queue preference and preemption on jobs with least run time<br />

are both enabled, the queue preference for the job is considered first, then the<br />

job run time.<br />

Preempting jobs with the least run time<br />

Configuring<br />

preemption on<br />

least run time<br />

By default, when more than one preemptable job exists (low-priority jobs<br />

holding the required resource), <strong>LSF</strong> preempts a job from the least-loaded host.<br />

You can configure <strong>LSF</strong> to consider the jobs with least run time first instead of<br />

choosing jobs based on least-loaded host. Run time is wall-clock time, not<br />

normalized run time.<br />

If preemptable queue preference and preemption on jobs with least run time<br />

are both enabled, the queue preference for the job is considered first, then the<br />

job run time.<br />

Set PREEMPT_FOR in lsb.params, and use the LEAST_RUN_TIME keyword<br />

to indicate that jobs with the least run time are to be preempted before other<br />

jobs.<br />

Preventing preemption by run time<br />

You can configure <strong>LSF</strong> to prevent preemption of a job that would finish within<br />

a specified time or that has been running for a specified time. Run time is wallclock<br />

time, not normalized run time.<br />

You must define a run limit for the job, either at job level by bsub -W option<br />

or in the queue by configuring RUNLIMIT in lsb.queues.<br />

NO_PREEMPT_RUN_TIME, NO_PREEMPT_FINISH_TIME (lsb.params)<br />

Set NO_PREEMPT_RUN_TIME in lsb.params, and the jobs have been<br />

running for the specified number of minutes or longer will not be preempted.<br />

Set NO_PREEMPT_FINISH_TIME in lsb.params, and jobs that will finish<br />

within the specified number of minutes will not be preempted.<br />

<strong>Administering</strong> <strong>Platform</strong> <strong>LSF</strong> 183

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!