作为管理员,我需要为给定的工作赋予最大的优先级。
我发现提交选项如下:--priority=<value>或--nice[=adjustment]可能很有用,但我不知道我应该为它们分配哪些值以便为作业提供最高优先级。
另一种方法可能是默认为所有作业设置低优先级,并为特殊作业增加优先级。
知道我如何执行它吗?
编辑:我正在使用sched/backfill策略和默认作业优先级策略 (FIFO)。
谢谢你。
Fel*_*der 21
我找到了一个无需使用即可工作的解决方案PriorityType=priority/multifactor(如Bub Espinja 建议):
$ scontrol update job=<job-id> Priority=<any-integer>
Run Code Online (Sandbox Code Playgroud)
上述命令将更新作业的优先级并相应地更新队列。
通过检查下一个待处理作业的优先级并向其添加 1,可以找到成为队列中下一个作业所需的最低优先级。您可以使用以下方法找到作业的优先级:
$ scontrol show job=<job-id>
Run Code Online (Sandbox Code Playgroud)
(scontrol update可用于更改工作的许多方面,例如时间限制等。)
编辑:
我刚刚了解到一个人可以做
$ scontrol top <job-id>
Run Code Online (Sandbox Code Playgroud)
把一份工作放在他们队列的最前面。
我所做的是使用优先级插件 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);
Run Code Online (Sandbox Code Playgroud)
编辑:
来自Slurm 常见问题解答:
作业的优先级是一个介于 0 到 4294967295 之间的整数。数字越大,作业在队列中的位置就越高,作业就越早被调度。
| 归档时间: |
|
| 查看次数: |
5408 次 |
| 最近记录: |