SLURM sacct 显示 'batch' 和 'extern' 作业名称

标签 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

最佳答案

一个 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.1 . 5163571.bat+考虑批处理脚本所需的资源(在这种情况下只是 srun hostname; srun echo Hello World--wrap 只是将其放入文件并添加 #!/bin/sh )。
许多非 MPI 程序在批处理步骤中进行了大量计算,因此资源使用情况在那里计算。
现在为 5163571.ext+ :此步骤考虑了该作业在 slurm 之外的所有资源使用情况。这仅显示,如果 PrologFlag contain用来。
属于 slurm 作业但不受 slurm 直接控制的进程的一个示例是 ssh session 。如果您通过 ssh 进入运行其中一个作业的节点,您的 session 将被置于作业的上下文中(并且您将被 cgroups 限制为可用资源,如果已设置)。您在该 ssh session 中进行的所有计算都将在 .extern 作业步骤中进行计算。

关于SLURM sacct 显示 'batch' 和 'extern' 作业名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52447602/

相关文章:

c++ - 基准问题 : execution time varies between two values

slurm - Snakemake slurm 输出文件重定向到新目录

linux - slurm 脚本给出 "command not found"

linux - linux安装软件时在bin中添加软件bin还是只在bin中添加可执行文件的软链接(soft link)?

linux - 调用其他 SLURMS 的主 SLURM 脚本

hpc - Snakemake:如何实现将输入/输出文件复制到/从 tmp 文件夹并在那里应用规则的机制

python - keras(tensorflow 后端)使用 slurm 在集群上运行

slurm - 在 SLURM 中与 mpi 任务一起运行 "monitor"任务

mpi - 在 Slurm runscript 中运行 OpenMPI 作业时出现段错误

centos - 重启状态为down的节点