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.

Using Historical and Committed Run Time<br />

230<br />

Using Historical and Committed Run Time<br />

Historical run time decay<br />

Configuring<br />

<strong>Administering</strong> <strong>Platform</strong> <strong>LSF</strong><br />

By default, as a job is running, the dynamic priority decreases gradually until<br />

the job has finished running, then increases immediately when the job finishes.<br />

In some cases this can interfere with fairshare scheduling if two users who<br />

have the same priority and the same number of shares submit jobs at the same<br />

time.<br />

To avoid these problems, you can modify the dynamic priority calculation by<br />

using either or both of the following weighting factors:<br />

◆ Historical run time decay<br />

◆ Committed run time<br />

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

configure <strong>LSF</strong> so that the user’s dynamic priority increases gradually after a<br />

job finishes. After a job is finished, its run time is saved as the historical run<br />

time of the job and the value can be used in calculating the dynamic priority,<br />

the same way <strong>LSF</strong> considers historical CPU time in calculating priority. <strong>LSF</strong><br />

applies a decaying algorithm to the historical run time to gradually increase the<br />

dynamic priority over time after a job finishes.<br />

Specify ENABLE_HST_RUN_TIME=Y in lsb.params. Historical run time is<br />

added to the calculation of the dynamic priority so that the formula becomes<br />

the following:<br />

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

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

RUN_JOB_FACTOR)<br />

◆ historical_run_time<br />

The historical run time (measured in hours) of finished jobs accumulated<br />

in the user’s share account file. <strong>LSF</strong> calculates the historical run time using<br />

the actual run time of finished jobs and a decay factor such that 1 hour of<br />

recently-used run time decays to 0.1 hours after an interval of time<br />

specified by HIST_HOURS in lsb.params (5 hours by default).<br />

How mbatchd reconfiguration and restart affects historical run time<br />

After restarting or reconfiguring mbatchd, the historical run time of finished<br />

jobs might be different, since it includes jobs that may have been cleaned from<br />

mbatchd before the restart. mbatchd restart only reads recently finished jobs<br />

from lsb.events, according to the value of CLEAN_PERIOD in lsb.params.<br />

Any jobs cleaned before restart are lost and are not included in the new<br />

calculation of the dynamic priority.<br />

Example<br />

The following fairshare parameters are configured in lsb.params:<br />

CPU_TIME_FACTOR = 0<br />

RUN_JOB_FACTOR = 0<br />

RUN_TIME_FACTOR = 1<br />

Note that in this configuration, only run time is considered in the calculation<br />

of dynamic priority. This simplifies the formula to the following:

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

Saved successfully!

Ooh no, something went wrong!