Skip to content

Latest commit

 

History

History
71 lines (56 loc) · 2.78 KB

priority.md

File metadata and controls

71 lines (56 loc) · 2.78 KB

ULHPC Job Prioritization Factors

The ULHPC Slurm configuration rely on the Multifactor Priority Plugin and the Fair tree algorithm to preform Fairsharing among the users1

Priority Factors

There are several factors enabled on ULHPC supercomputers that influence job priority:

  • Age: length of time a job has been waiting (PD state) in the queue
  • Fairshare: difference between the portion of the computing resource that has been promised and the amount of resources that has been consumed - see Fairsharing.
  • Partition: factor associated with each node partition, for instance to privilege interactive over batch partitions
  • QOS A factor associated with each Quality Of Service (low $\longrightarrow$ urgent)

The job's priority at any given time will be a weighted sum of all the factors that have been enabled. Job priority can be expressed as:

Job_priority =
    PriorityWeightAge       * age_factor +
    PriorityWeightFairshare * fair-share_factor+
    PriorityWeightPartition * partition_factor +
    PriorityWeightQOS       * QOS_factor +
    - nice_factor

All of the factors in this formula are floating point numbers that range from 0.0 to 1.0. The weights are unsigned, 32 bit integers, you can get with:

$ sprio -w
# OR, from slurm.conf
$ scontrol show config | grep -i PriorityWeight

You can use the sprio to view the factors that comprise a job's scheduling priority and were your (pending) jobs stands in the priority queue.

!!! example "sprio Utility usage" Show current weights sprio -w List pending jobs, sorted by jobid bash sprio [-n] # OR: sp List pending jobs, sorted by priority sprio [-n] -S+Y sprio [-n] | sort -k 3 -n sprio [-n] -l | sort -k 4 -n

Getting the priority given to a job can be done either with squeue:

# /!\ ADAPT <jobid> accordingly
squeue -o %Q -j <jobid>

Backfill Scheduling

Backfill is a mechanism by which lower priority jobs can start earlier to fill the idle slots provided they are finished before the next high priority jobs is expected to start based on resource availability.

!!! important "" If your job is sufficiently small, it can be backfilled and scheduled in the shadow of a larger, higher-priority job

For more details, see official Slurm documentation

Footnotes

  1. All users from a higher priority account receive a higher fair share factor than all users from a lower priority account