slurm作业优先级

Job_priority =
    site_factor +
    (PriorityWeightAge) * (age_factor) +
    (PriorityWeightAssoc) * (assoc_factor) +
    (PriorityWeightFairshare) * (fair-share_factor) +
    (PriorityWeightJobSize) * (job_size_factor) +
    (PriorityWeightPartition) * (partition_factor) +
    (PriorityWeightQOS) * (QOS_factor) +
    SUM(TRES_weight_cpu * TRES_factor_cpu,
        TRES_weight_ * TRES_factor_,
        ...)
    - nice_factor

  • 一个作业在任意给定时间的优先级,是SLURM中配置的所有因子按一定权重的总和。

  • 上面job_priority公式中的所有因子都是0.0到1.0之间的浮点数。

  • 权重是32位无符号整数, 在slurm.conf中配置。

  • 作业的优先级在0到4294967295之间,值越大,作业会被放到队列中越高的位置,也会越早被调度。

  • 作业的优先级,即在队列中的位置,可以随着时间改变。

PriorityType=priority/multifactor 提供了一种基于9种因子给作业排序的灵活方法。

  • Age:作业在队列中等待的时间

  • Association

  • Fair-share

  • Job size: 作业被分配的节点数或cpu数

  • Nice: 用户可以用该因子来设置自己作业的优先级

  • Partition: 分区

  • QOS:QOS

  • Site

  • TRES: 每种TRES type都可以影响作业的优先级,如CPU, memory, GRES/gpu, 可以是负值。此选项,可以使得大的作业或小的作业更早被调度。

参考:

https://ni.cmu.edu/computing/knowledge-base/slurm-job-priority-wait-time/

https://slurm.schedmd.com/slurm.conf.html#OPT_PriorityType

你可能感兴趣的:(linux)