作为管理员,我需要对给定的作业给予最大的优先级。
我发现提交选项(比如:--priority=<value>
或--nice[=adjustment]
)可能很有用,但我不知道应该分配哪些值来为工作提供最高优先级。
另一种方法可以是在默认情况下为所有作业设置一个较低的优先级,并将其提高到特殊的作业。
知道我该怎么做吗?
编辑:我使用sched/回填策略和默认的作业优先级策略(FIFO)。
谢谢。
发布于 2020-08-05 19:03:29
我找到了一种无需使用PriorityType=priority/multifactor
(作为由Bub Espinja建议)的解决方案:
$ scontrol update job=<job-id> Priority=<any-integer>
上面的命令将更新作业的优先级并相应地更新队列。
通过检查下一个挂起的作业的优先级并向其添加一个优先级,可以找到成为下一个任务所需的最低优先级。您可以使用以下方法找到作业的优先级:
$ scontrol show job=<job-id>
(scontrol update
可用于更改作业的许多方面,如时限和其他。)
编辑:
我刚学会了一个人能做的
$ scontrol top <job-id>
把一份工作排在他们的最前面。
发布于 2016-10-03 12:30:39
我所做的是在默认配置中使用优先级插件多因素,将这一行添加到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);
编辑:
作业的优先级是介于0到4294967295之间的整数。数量越多,作业在队列中的位置就越高,作业就会越早被调度。
https://stackoverflow.com/questions/39787477
复制相似问题