How are job priorities within a queue determined?

 

All public queues on Odyssey employ ‘Fairshare’ queueing, in which a job’s priority within a queue is calculated as follows:

dynamic priority = number_shares / (cpu_time*CPU_TIME_FACTOR + run_time*RUN_TIME_FACTOR + (1 + job_slots)*RUN_JOB_FACTOR)

cpu_time
The cumulative CPU time used by the user (measured in hours). LSF calculates the cumulative CPU time using the actual (not normalized) CPU time and a decay factor such that 1 hour of recently used CPU time decays to 0.1 hours after an interval of time specified by HIST_HOURS.

run_time
The total run time of running jobs (measured in hours).

job_slots
The number of job slots (processors) reserved and in use.

At the moment, CPU_TIME_FACTOR=RUN_TIME_FACTOR=0.7 and RUN_JOB_FACTOR=3

number_shares is the same for all users.

On Odyssey, HIST_HOURS is set to 48 hours.

Site last updated April 18, 2014