The calculation of the priorities is the same for all the users and labs in Marvin.

 

Marvin use the standard way of Slurm to decide which priority is applied to each job. The priority is based in a arithmetic calculation that depend of six factors.

 

The six factors that influence in the job priority are:

 

Age

The length of time a job has been waiting in the queue, eligible to be scheduled. A job reaches the max value for this factor after waiting in the queue for 1 weeks.

 

Fair-share
The amount of resources that has been consumed in the previous 28 days.

 

Job size
Job time limit. if you know how many time is going to take your job, you can add this info to your slurm script using the ‘--time’ directive to help to gain more priority, specially if you know that your job is going to take a few hours or even minutes (in addition, you also have to take in a account that after this time, if your job is still alive, it will be killed by Slurm).

 

Partition
A factor associated with each node partition. As in Marvin there are only on partition this value is not relevant because all jobs are going to have the same value in this priority factor.

 

QOS
A factor associated with each Quality Of Service. In Marvin the QOS doesn’t have any priority factor associated so this factor is not relevant in the priority calculation.

 

TRES
Each TRES Type has it's own factor for a job which represents the number of requested/allocated TRES Type in a given partition. Actually Marvin is using the default configuration for this priority factor.

  

To check the value of each factor for each job that is pending in the queue, we can use the slurm commands ‘sprio -j --long’ and ‘sshare’.