【问题标题】:How to set the maximum priority to a Slurm job?如何为 Slurm 作业设置最高优先级?
【发布时间】:2021-07-06 21:36:04
【问题描述】:

作为管理员,我需要为给定的工作赋予最高优先级。

我发现像 --priority=<value>--nice[=adjustment] 这样的提交选项可能很有用,但我不知道应该为它们分配哪些值才能为作业提供最高优先级。

另一种方法是默认为所有作业设置低优先级,而特殊作业则提高它。

知道如何执行它吗?

编辑:我正在使用 sched/backfill 策略和默认作业优先级策略 (FIFO)。

谢谢。

【问题讨论】:

    标签: slurm


    【解决方案1】:

    我找到了一个无需使用PriorityType=priority/multifactor(如suggested by Bub Espinja)即可工作的解决方案:

    $ scontrol update job=<job-id> Priority=<any-integer>
    

    上述命令会更新作业的优先级,并相应地更新队列。

    可以通过检查下一个待处理作业的优先级并向其添加一个来找到成为下一个队列所需的最低优先级。您可以使用以下方法找到作业的优先级:

    $ scontrol show job=<job-id>
    

    scontrol update 可用于更改工作的许多方面,例如time limitothers。)

    编辑:

    我刚刚学会了做人

    $ scontrol top <job-id>
    

    将作业放在其队列的顶部。

    【讨论】:

      【解决方案2】:

      我所做的是使用优先级插件multifactor,默认配置,在slurm.conf中加入这一行:

      PriorityType=priority/multifactor

      然后,由于所有作业的优先级都为 0,我必须更新目标作业优先级,在我的情况下使用 API:

      job_desc_msg_t job_update;
      slurm_init_job_desc_msg(&job_update);
      job_update.job_id = target_job_id;
      job_update.priority = 4294967295;
      slurm_update_job(&job_update);
      

      已编辑:

      来自Slurm FAQ

      作业的优先级是一个介于 0 和 4294967295 之间的整数。数字越大,作业在队列中的位置越高,作业调度的越早。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-20
        • 1970-01-01
        • 1970-01-01
        • 2015-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多