SLURM sacct显示“批次”和“外部”职位名称

时间:2018-09-21 16:14:28

标签: slurm

我已将作业提交到SLURM队列,该作业已运行并完成。然后,我使用sacct命令检查完成的作业。但是,在查看sacct命令的结果时,我注意到了我没有想到的其他结果:

       JobID                        JobName      State      NCPUS  Timelimit
5297048                                test  COMPLETED          1   00:10:00  
5297048.bat+                          batch  COMPLETED          1           
5297048.ext+                         extern  COMPLETED          1       

任何人都可以解释“批处理”和“外部”工作是什么以及它们的目的是什么。为什么即使主要作业失败,外部作业仍总是完成。

我试图搜索文档,但没有找到满意而完整的答案。

编辑:这是我提交的用于产生上述sacct输出的脚本:

#!/bin/bash
echo test_script > done.txt

使用以下sbatch命令:

sbatch -A BRIDGE-CORE-SL2-CPU --nodes=1 --ntasks=1 -p skylake --cpus-per-task 1 -J jobname -t 00:10:00 --output=./output.out --error=./error.err < test.sh

2 个答案:

答案 0 :(得分:2)

Slurm作业包含多个作业步骤,所有步骤均由Slurm分别负责(就资源使用而言)。通常,这些步骤是使用srun / mpirun创建的,并从0开始枚举。但是除此之外,有时还有两个特殊步骤。例如,执行以下工作:

sbatch -n 4 --wrap="srun hostname; srun echo Hello World"

这将导致以下sacct输出:

       JobID    JobName  Partition    Account  AllocCPUS      State ExitCode 
------------ ---------- ---------- ---------- ---------- ---------- -------- 
5163571            wrap     medium      admin          4  COMPLETED      0:0 
5163571.bat+      batch                 admin          4  COMPLETED      0:0 
5163571.ext+     extern                 admin          4  COMPLETED      0:0 
5163571.0      hostname                 admin          4  COMPLETED      0:0 
5163571.1          echo                 admin          4  COMPLETED      0:0 

两个srun调用创建了步骤5163571.05163571.15163571.bat+占批脚本所需的资源(在本例中为srun hostname; srun echo Hello World--wrap只是将其放入文件并添加#!/bin/sh)。

许多非MPI程序在批处理步骤中进行了大量计算,因此资源使用情况在那里得到确认。

现在用于5163571.ext+:此步骤说明了该工作在泛滥之外的所有资源使用情况。仅在使用PrologFlag contain时显示。

ssh会话是属于slurm作业但不受slurm直接控制的流程的示例。如果您将ssh切换到其中一个作业运行所在的节点,则您的会话将放置在该作业的上下文中(如果已设置,cgroup将限制您的可用资源)。您在该ssh会话中所做的所有计算都将在.extern作业步骤中说明。

答案 1 :(得分:1)

一个工作包括几个工作步骤。每个作业步骤均独立显示。在输出中,您有$ JOBID(代表整体预订)$ JOBID.batch,它代表您提交的主要脚本。

关于external ...我不确定,但是我想您开始了一个工作步骤,并将其命名为“外部”。在这种情况下,这就是该工作步骤的信息。

如果您向我们展示您提交的脚本,我们可以澄清一些疑问。