我正在尝试使用我们的集群,但是有问题。我尝试通过以下方式分配一些资源:
salloc -N 1 --ntasks-per-node=5 bash
但是它一直在浪费:
salloc:待分配的工作...
salloc:作业...排队等待资源
或者当我尝试时:
srun -N1 -l echo test
它在等待队列中徘徊!
我犯错了还是我们的集群有问题?
答案 0 :(得分:1)
使用选项 --time
为 Slurm 作业设置时间限制可能会有所帮助,例如将限制设置为 10 分钟,如下所示:
srun --job-name="myJob" --ntasks=4 --nodes=2 --time=00:10:00 --label echo test
没有时间限制,Slurm 将使用分区的默认时间限制。问题是有时这可能设置为无穷大或几天,因此这可能会导致作业开始延迟。要检查分区的默认时间限制使用:
$ sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
prod* up infinite 198 ....
gpu* up 4-00:00:00 70 ....
来自Slurm docs:
<块引用>-t, --time=<time>
对作业分配的总运行时间设置限制。如果请求的时间限制超过分区的时间限制,作业将处于 PENDING 状态(可能无限期)。默认时间限制是分区的默认时间限制。当达到时间限制时,每个作业步骤中的每个任务都会发送 SIGTERM,然后发送 SIGKILL。