3

我有一个 Slurm 作业数组,其作业文件包含一个--requeue指令。这是完整的作业文件:

#!/bin/bash
#SBATCH --job-name=catsss
#SBATCH --output=logs/cats.log
#SBATCH --array=1-10000
#SBATCH --requeue
#SBATCH --partition=scavenge
#SBATCH --mem=32g
#SBATCH --time=24:00:00
#SBATCH --mail-type=FAIL
#SBATCH --mail-user=douglas.duhaime@gmail.com
module load Langs/Python/3.4.3
python3 cats.py ${SLURM_ARRAY_TASK_ID} 'cats'

几个数组值至少重新启动了一次。我想知道,这些作业在最终被调度程序取消之前会重新启动多少次?重启是否会无限期地进行,直到系统管理员手动取消它们,或者像这样的作业是否有最大重试次数?

4

1 回答 1

3

AFAIK,工作可以在无限的场合重新排队。您只需决定该作业是否准备好重新排队。如果 not-requeue,则永远不会重新排队。如果重新排队,那么每次系统决定需要它时都会重新排队(节点故障,更高优先级的作业抢占......)。

作业不断重新启动,直到完成(成功与否,但完成而不是中断)。

于 2018-07-21T09:26:47.760 回答