前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >slurm学习笔记(一)

slurm学习笔记(一)

作者头像
种花家的奋斗兔
发布2021-01-06 11:58:27
5.2K0
发布2021-01-06 11:58:27
举报

slurm学习笔记(一)

官网: https://slurm.schedmd.com/

中文文档:https://docs.slurm.cn/users/shou-ce-ye

一、slurm简介

Slurm (Simple Linux Utility for Resource Management,https://slurm.schedmd.com/)是一种可用于大型计算节点集群的高度可伸缩和容错的集群管理器和作业调度系统,超级计算系统可利用Slurm进行资源和作业管理,以避免相互干扰,提高运行效率。Slurm 维护着一个待处理工作的队列并管理此工作的整体资源利用,它以一种共享或非共享的方式管理可用的计算节点(取决于资源的需求),以供用户执行工作,所有需运行的作业无论是用于程序调试还是业务计算均必须通过交互式并行srun、批处理式sbatch或分配式salloc等命令提交,提交后可以利用相关命令查询作业状态等,Slurm 会为任务队列合理地分配资源,并监视作业至其完成

二、slurm的三种作业模式

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

资源分配任务加载两步均通过srun命令进行:

当在登录shell中执行srun命令时, srun首先向系统提交作业请求并等待资源分配,然后在所分配的节点上加载作业 任务

采用该模式,用户在该终端需等待任务结束才能继续其它操作,在作业结束前,如果提交时的命令行终端断开,则任务终止。一般用于短时间小作业测试。

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

对于批处理作业(提交后立即返回该命令行终端,用户可进行其它操作)

使用sbatch命令提交作业脚本,作业被调度运行后,在所分配的首个节点上执行作业脚本。在作业脚本中也可使用srun命令加载作业任务。提交时采用的命令行终端终止,也不影响作业运行

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

分配作业模式类似于交互式作业模式批处理作业模式的融合。

用户需指定所需要的资源条件,向资源管理器提出作业的资源分配请求。提交后,作业处于排队, 当用户请求资源被满足时,将在用户提交作业的节点上执行用户所指定的命令, 指定的命令执行结束后,运行结束,用户申请的资源被释放。在作业结束前,如果提交时的命令行终端断开,则任务终止。典型用途是分配资源并启动一个shell, 然后在这个shell中利用srun运行并行作业。

三、基本命令

sacct: 显示激活的或已完成作业或作业步的记账信息。 salloc:为需实时处理的作业分配资源,典型场景为分配资源并启动一个shell,然 后用此shell执行srun命令去执行并行任务。 sbatch:提交作业脚本使其运行。此脚本一般也可含有一个或多个srun命令启动并行任务。 scancel:取消排队或运行中的作业或作业步。 scontrol:显示或设定Slurm作业、队列、节点等状态。 sinfo:显示队列或节点状态。 squeue:显示队列中的作业及作业步状态。 srun:实时交互式运行并行作业,一般用于段时间测试,或者与sallcoc及sbatch结合。

1. 查看队列、节点信息

sinfo可以查看系统存在什么队列、节点及其状态。

sinfo:

sinfo ­-l

Mon Sep 21 10:07:48 2020 PARTITION AVAIL TIMELIMIT JOB_SIZE ROOT OVERSUBS GROUPS NODES STATE NODELIST debug* up infinite 1-infinite no NO all 1 mixed gpu01 debug* up infinite 1-infinite no NO all 5 idle gpu[02-06] control up infinite 1-infinite no NO all 1 down* mu01

sinfo -s将显示分区汇总信息:

PARTITION AVAIL TIMELIMIT NODES(A/I/O/T) NODELIST debug* up infinite 1/5/0/6 gpu[01-06] control up infinite 0/0/1/1 mu01

sinfo --long --partition=debug将显示debug分区的更完整的信息:

Mon Sep 21 10:12:31 2020 PARTITION AVAIL TIMELIMIT JOB_SIZE ROOT OVERSUBS GROUPS NODES STATE NODELIST debug* up infinite 1-infinite no NO all 1 mixed gpu01 debug* up infinite 1-infinite no NO all 5 idle gpu[02-06]

sinfo --states=mixed将显示状态为mixed的节点信息:

PARTITION AVAIL TIMELIMIT NODES STATE NODELIST debug* up infinite 1 mix gpu01 control up infinite 0 n/a

也可以自定义查询的格式:

sinfo -o "|%20N | %10c | %10m | %25f | %10G| %10S|"

字段解释:

PARRITION:节点所在分区

AVAIL:分区状态,up标识可用,down标识不可用

TIMELIMIT:程序运行最大时长,infinite表示不限制,如果限制格式为days-houres:minutes:seconds

NODES:节点数

NODELIST:节点名列表

STATE:节点状态,可能的状态包括:

- allocated、alloc :已分配

- completing、comp:完成中

- down:宕机

- drained、drain:已失去活力

- fail:失效

- idle:空闲

- mixed:混合,节点在运行作业,但有些空闲CPU核,可接受新作业

- reserved、resv:资源预留

- unknown、unk:未知原因

注意:如果状态带有后缀*,表示节点没有响应

更多信息参见:https://slurm.schedmd.com/sinfo.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-01-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • slurm学习笔记(一)
    • 一、slurm简介
      • 二、slurm的三种作业模式
        • 1. 交互式作业提交(采用srun命令提交):
      • 2. 批处理作业(采用sbatch命令提交,最常用方式):
        • 3. 实时分配模式作业(采用salloc命令提交):
      • 三、基本命令
        • 1. 查看队列、节点信息
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档