1014 字
5 分钟
Slurm作业调度系统

Slurm作业调度系统#

​ Slurm(Simple Linux Utility for Resource Management,http://slurm.schedmd.com/)是 开源的、具有容错性和高度可扩展大型和小型Linux集群资源管理和作业调度系统。超 级计算系统可利用Slurm进行资源和作业管理,以避免相互干扰,提高运行效率。所有 需运行的作业无论是用于程序调试还是业务计算均必须通过交互式并行srun、批处理 式sbatch或分配式salloc等命令提交,提交后可以利用相关命令查询作业状态等。

1、作业实例#

​ 在中科曙光云上运行 sbatch test.slurm

#!/bin/bash
# filename:test.slurm
#SBATCH -p hebhdnormal # 队列
#SBATCH -N 1 # 节点数
#SBATCH -n 32 # 总线程数
#SBATCH --gres=dcu:3 # 调用DCU 3个
#SBATCH -J test # 作业名
# load the basic module
module purge
module load compiler/cmake/3.23.3 compiler/dtk/23.10 compiler/devtoolset/7.3.1 mpi/hpcx/2.7.4/gcc-7.3.1
module li
# the commands
mpirun -np 3 ./gpu2dafdshoti datapath=./ enter_y=y vp=vel.rsf den=den.rsf wave=wavelet.rsf npml=10 freesrf=y fm=25 nbell=3 sou=sou.rsf rec=rec.rsf seis_p=shot.rsf gpu_encoder=7 output=output.txt snapot=900 snapnt=1 snap_p=snap_p.rsf

1.1 三种模式#

• 批处理作业(采用sbatch命令提交,最常用方式):

​ 对于批处理作业(提交后立即返回该命令行终端,用户可进行其它操作)使 用sbatch命令提交作业脚本,作业被调度运行后,在所分配的首个节点上执行作 业脚本。在作业脚本中也可使用srun命令加载作业任务。提交时采用的命令行终 端终止,也不影响作业运行。

• 交互式作业提交(采用srun命令提交):

​ 资源分配与任务加载两步均通过srun命令进行:当在登录shell中执行srun命令时, srun首先向系统提交作业请求并等待资源分配,然后在所分配的节点上加载作业 任务。采用该模式,用户在该终端需等待任务结束才能继续其它操作,在作业结 束前,如果提交时的命令行终端断开,则任务终止。一般用于短时间小作业测试。

• 实时分配模式作业(采用salloc命令提交):

​ 分配作业模式类似于交互式作业模式和批处理作业模式的融合。用户需指定所需 要的资源条件,向资源管理器提出作业的资源分配请求。提交后,作业处于排队, 当用户请求资源被满足时,将在用户提交作业的节点上执行用户所指定的命令, 指定的命令执行结束后,运行结束,用户申请的资源被释放。在作业结束前,如 果提交时的命令行终端断开,则任务终止。典型用途是分配资源并启动一个shell, 然后在这个shell中利用srun运行并行作业。 salloc后面如果没有跟定相应的脚本或可执行文件,则默认选择/bin/sh,用户获得 了一个合适环境变量的shell环境。 salloc和sbatch最主要的区别是salloc命令资源请求被满足时,直接在提交作业的 节点执行相应任务,而sbatch则当资源请求被满足时,在分配的第一个节点上执 行相应任务。 salloc在分配资源后,再执行相应的任务,很适合需要指定运行节点和其它资源 限制,并有特定命令的作业。

1.2 查看队列中的作业信息:squeue#

image-20240527215629183

  • JOBID:作业号。
  • PARTITION:队列名(分区名)。
  • NAME:作业名。
  • USER:用户名。
  • ST:状态。 – PD:排队中,PENDING。 – R:运行中,RUNNING。 – CA:已取消,CANCELLED。 – CF:配置中,CONFIGURING – CG:完成中,COMPLETING – CD:已完成,COMPLETED。 – F:已失败,FAILED。 – TO:超时,TIMEOUT。 – NF:节点失效,NODE FAILURE。 – SE:特殊退出状态,SPECIAL EXIT STATE。
  • TIME:已运行时间。
  • NODELIST(REASON):分配给的节点名列表

Reference#

【1】Slurm作业调度系统使用指南 (ustc.edu.cn)

【2】Slurm作业调度系统使用指南 (ustc.edu.cn)->本地地址

【3】提交批处理作业-sbatch(推荐) · 计算服务 (sugon.com)

Slurm作业调度系统
https://tuoyuangui.github.io/website/posts/typora/dcu和集群/slurm/
作者
椭圆规/tuoyuangui
发布于
2024-11-24
许可协议
CC BY-NC-SA 4.0