代码之家  ›  专栏  ›  技术社区  ›  Parsa

SLURM sacct显示“批处理”和“外部”作业名称

  •  2
  • Parsa  · 技术社区  · 7 年前

    我已将作业提交到SLURM队列,作业已运行并完成。然后使用 sacct

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

    谁能解释一下“批处理”和“外部”作业是什么,它们的目的是什么。为什么外部作业总是在主作业失败时完成。

    我试图搜索文件,但没有找到一个令人满意的和完整的答案。

    编辑:这是我提交的脚本来制作上述内容 萨克特

    #!/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
    
    1 回复  |  直到 7 年前
        1
  •  5
  •   Marcus Boden    5 年前

    一个Slurm作业包含多个jobsteps,这些jobsteps都由Slurm单独说明(在资源使用方面)。通常,这些步骤是使用srun/mpirun创建的,并从0开始枚举。例如,执行以下作业:

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

           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.0 5163571.1 . 这个 5163571.bat+ srun hostname; srun echo Hello World . --wrap #!/bin/sh ).

    许多非MPI程序在批处理步骤中进行大量计算,因此ressource的使用情况在这里得到了说明。

    5163571.ext+ :此步骤说明该作业在slurm之外使用的所有资源。只有当 PrologFlag contain

    ssh会话是属于slurm作业但不受slurm直接控制的进程的一个示例。如果您使用ssh连接到运行某个作业的节点,那么您的会话将被放置到该作业的上下文中(如果设置了cgroups,那么您将受限于可用资源)。在ssh会话中进行的所有计算都将在.extern作业步骤中进行。

        2
  •  0
  •   Poshi    7 年前

    作业由几个作业步骤组成。每个作业步骤都独立显示。在您的输出中有$JOBID,它代表总体保留,$JOBID.batch,它代表您提交的主脚本。

    external ... 我不确定,但我猜你开始一个工作步骤,你命名为“外部”。在这种情况下,这就是该作业步骤的信息。

    如果你给我们看你提交的剧本,我们可以澄清一些问题。

    推荐文章