25.06.2015 Views

Administering Platform LSF - SAS

Administering Platform LSF - SAS

Administering Platform LSF - SAS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 14<br />

Fairshare Scheduling<br />

dynamic priority = number_shares / (run_time * RUN_TIME_FACTOR)<br />

Without the historical run time, the dynamic priority increases suddenly as<br />

soon as the job finishes running because the run time becomes zero, which<br />

gives no chance for jobs pending for other users to start.<br />

When historical run time is included in the priority calculation, the formula<br />

becomes:<br />

dynamic priority = number_shares / (historical_run_time + run_time) *<br />

RUN_TIME_FACTOR)<br />

Now the dynamic priority increases gradually as the historical run time decays<br />

over time.<br />

Committed run time weighting factor<br />

Configuring<br />

Committed run time is the run time requested at job submission with the -W<br />

option of bsub, or in the queue configuration with the RUNLIMIT parameter.<br />

By default, committed run time does not affect the dynamic priority.<br />

While the job is running, the actual run time is subtracted from the committed<br />

run time. The user’s dynamic priority decreases immediately to its lowest<br />

expected value, and is maintained at that value until the job finishes. Job run<br />

time is accumulated as usual, and historical run time, if any, is decayed.<br />

When the job finishes, the committed run time is set to zero and the actual run<br />

time is added to the historical run time for future use. The dynamic priority<br />

increases gradually until it reaches its maximum value.<br />

Providing a weighting factor in the run time portion of the dynamic priority<br />

calculation prevents a “job dispatching burst” where one user monopolizes job<br />

slots because of the latency in computing run time.<br />

Set a value for the COMMITTED_RUN_TIME_FACTOR parameter in<br />

lsb.params. You should also specify a RUN_TIME_FACTOR, to prevent the<br />

user’s dynamic priority from increasing as the run time increases.<br />

If you have also enabled the use of historical run time, the dynamic priority is<br />

calculated according to the following formula:<br />

dynamic priority = number_shares / (cpu_time * CPU_TIME_FACTOR +<br />

(historical_run_time + run_time) * RUN_TIME_FACTOR +<br />

(committed_run_time - run_time) * COMMITTED_RUN_TIME_FACTOR +<br />

(1 + job_slots) * RUN_JOB_FACTOR)<br />

◆ committed_run_time<br />

The run time requested at job submission with the -W option of bsub, or<br />

in the queue configuration with the RUNLIMIT parameter. This calculation<br />

measures the committed run time in hours.<br />

In the calculation of a user’s dynamic priority,<br />

COMMITTED_RUN_TIME_FACTOR determines the relative importance of the<br />

committed run time in the calculation. If the -W option of bsub is not specified<br />

at job submission and a RUNLIMIT has not been set for the queue, the<br />

committed run time is not considered.<br />

<strong>Administering</strong> <strong>Platform</strong> <strong>LSF</strong> 231

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

Saved successfully!

Ooh no, something went wrong!