首页 > 解决方案 > 将具有更高优先级的作业添加到 SLURM 队列作为先前提交的作业

问题描述

我想将作业 X 提交并运行到 SLURM 队列,同时已经有其他作业 YZ 在该队列中等待。基本上,我想避免scontrol hold YZ手动操作或找到一种自动化的方式来scontrol hold YZ提交 X 并且scontrol release YZ一旦工作 X 完成。

干杯

标签: slurm

解决方案


有一个scontrol top <jobID>命令,它将一个作业置于具有相同用户 ID 的其他作业之上。但它必须由系统管理员启用。

引用scontrol 手册页

顶级工作列表

将指定的作业 ID 移动到属于相同用户 ID、分区名称、帐户和 QOS 的作业队列的顶部。job_list 参数是一个逗号分隔的作业 ID 有序列表。任何不匹配所有这些领域的工作都不会受到影响。只有提交到单个分区的作业才会生效。此操作通过调整作业 nice 值来更改作业的顺序。对该用户吞吐量的净影响可以忽略不计,甚至会产生轻微的负面影响。默认情况下,非特权(非操作员、管理员、SlurmUser 或 root)用户禁用此操作。系统管理员可以通过在 SchedulerParameters 配置参数中包含选项“enable_user_top”来为非特权用户启用此操作。


推荐阅读