Platform LSF Administration Guide Version 6.2

Using Historical and Committed Run Time
Administering Platform LSF
304
Without the historical run time, the dynamic priority increases suddenly as soon as the
job finishes running because the run time becomes zero, which gives no chance for jobs
pending for other users to start.
When historical run time is included in the priority calculation, the formula becomes:
dynamic priority = number_shares / (historical_run_time + run_time) *
RUN_TIME_FACTOR)
Now the dynamic priority increases gradually as the historical run time decays over time.
Committed run time weighting factor
Committed run time is the run time requested at job submission with the -W option of
bsub, or in the queue configuration with the RUNLIMIT parameter. By default,
committed run time does not affect the dynamic priority.
While the job is running, the actual run time is subtracted from the committed run time.
The user’s dynamic priority decreases immediately to its lowest expected value, and is
maintained at that value until the job finishes. Job run time is accumulated as usual, and
historical run time, if any, is decayed.
When the job finishes, the committed run time is set to zero and the actual run time is
added to the historical run time for future use. The dynamic priority increases gradually
until it reaches its maximum value.
Providing a weighting factor in the run time portion of the dynamic priority calculation
prevents a “job dispatching burst” where one user monopolizes job slots because of the
latency in computing run time.
Configuring
Set a value for the COMMITTED_RUN_TIME_FACTOR parameter in
lsb.params. You should also specify a RUN_TIME_FACTOR, to prevent the user’s
dynamic priority from increasing as the run time increases.
If you have also enabled the use of historical run time, the dynamic priority is calculated
according to the following formula:
dynamic priority = number_shares / (cpu_time * CPU_TIME_FACTOR +
(historical_run_time + run_time) * RUN_TIME_FACTOR + (committed_run_time
- run_time) * COMMITTED_RUN_TIME_FACTOR + (1 + job_slots) *
RUN_JOB_FACTOR)
committed_run_time
The run time requested at job submission with the
-W option of bsub, or in the
queue configuration with the RUNLIMIT parameter. This calculation measures the
committed run time in hours.
In the calculation of a user’s dynamic priority, COMMITTED_RUN_TIME_FACTOR
determines the relative importance of the committed run time in the calculation. If the
-W option of bsub is not specified at job submission and a RUNLIMIT has not been
set for the queue, the committed run time is not considered.
COMMITTED_RUN_TIME_FACTOR can be any positive value between 0.0 and 1.0.
The default value is 0.0. As the value of COMMITTED_RUN_TIME_FACTOR
approaches 1.0, more weight is given to the committed run time in the calculation of the
dynamic priority.