列出作业的待定步骤

时间:2017-08-02 12:16:39

标签: slurm

场景就是这个,我用salloc分配资源(2个节点,64个CPU):

salloc -N 1-2 -n 64 -c 1 -w cluster-node[2-3] -m cyclic -t 5
salloc: Granted job allocation 1720

然后,我使用srun为我的工作创建步骤:

for i in (seq 70)
    srun --exclusive -N 1 -n 1 --jobid=1720 sleep 60 &
end

因为我为我的工作创建了比可用cpus更多的步骤,所以步骤“待定”直到空闲CPU。

当我使用squeue和-s选项列出步骤时,我只能查看正在运行的步骤。

squeue -s -O stepid:12,stepname:10,stepstate:9
1720.0     sleep     RUNNING
[...]
1720.63     sleep     RUNNING

我的问题是,步骤的状态是否与 RUNNING 的状态不同,如果是,是否有办法查看带有squeue(或其他命令)的那些?

1 个答案:

答案 0 :(得分:1)

不确定Slurm是否可以提供相关信息。一种替代方法是使用GNU Parallel,以便在CPU可用之前根本不启动作业步骤。在当前设置中,所有作业步骤立即启动,而没有可用CPU的步骤正在等待。

因此,使用相同的分配,请替换

for i in (seq 70)
    srun --exclusive -N 1 -n 1 --jobid=1720 sleep 60 &
end

parallel -P $SLURM_NTASKS srun --exclusive -N 1 -n 1 --jobid=1720 sleep 60

然后squeue的输出应列出RUNNING和PENDING步骤。

N.B。不确定BTW

是否需要--jobid=选项