slurm学习笔记(一)

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

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

学习笔记二:Slurm学习笔记(二)_种花家的奋斗兔的博客-CSDN博客

一、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 2020PARTITION AVAIL TIMELIMIT   JOB_SIZE ROOT OVERSUBS     GROUPS NODES       STATE NODELISTdebug*       up   infinite 1-infinite   no       NO       all     1       mixed gpu01debug*       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) NODELISTdebug*       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 2020PARTITION AVAIL TIMELIMIT   JOB_SIZE ROOT OVERSUBS     GROUPS NODES       STATE NODELISTdebug*       up   infinite 1-infinite   no       NO       all     1       mixed gpu01debug*       up   infinite 1-infinite   no       NO       all     5       idle gpu[02-06]

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

PARTITION AVAIL TIMELIMIT NODES STATE NODELISTdebug*       up   infinite     1   mix gpu01control     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

slurm学习笔记(一)相关推荐

  1. Slurm学习笔记(二)

    Slurm学习笔记(二) 上文:https://eternal-sun.blog.csdn.net/article/details/112208409 一.查看队列详细信息 scontrol show ...

  2. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  3. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  4. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  5. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  6. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  7. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  8. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  9. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

最新文章

  1. 关于python文件_关于python文件操作
  2. Asp.net之MsChart控件动态绑定温度曲线图
  3. 档案信息服务器配置方案,档案馆档案信息化系统建设方案.doc
  4. 如何在vue中使用sass
  5. windows编译MaskRCNN
  6. Elasticsearch的用例:灵活的查询缓存
  7. @Value和Hibernate问题
  8. GitHub还是GitLab?谈谈两者的区别
  9. 超星高级语言程序设计实验作业 (实验03 模块化程序设计)
  10. memcpy和memmove以及memcmp
  11. heap exploitation巩固——堆中的off-by-one
  12. 阿里云企业实名认证教程
  13. iOS-打开本地或下载的Excel文件
  14. 海格里斯HEGERLS深度解析|重型四向穿梭车的轨道换向组件及轨道系统
  15. 传说之下打开debug模式超超超超超超超超详细方法
  16. Excel表格转为Latex图表
  17. Win10改Win7后USB没有被驱动
  18. 色彩大全 Android 颜色值
  19. 轻触开源(二)-Gson项目源码解析_壹
  20. 如何给Linux服务器安装瑞星,手把手教你制作瑞星Linux杀毒光盘

热门文章

  1. 【GStreamer 】1-扫盲介绍
  2. 教你使用caret包(一)--数据预处理
  3. “烫烫烫烫烫烫烫烫烫烫烫烫烫...
  4. [a, b]均匀分布方差
  5. MySQL中定时任务的使用
  6. 自制表情包!android,diy表情包制作软件下载-diy表情包 安卓版v2.6.0-PC6安卓网
  7. uni-app 最简单的显示隐藏
  8. 企二代继承者们如何再续辉煌
  9. Netty框架之Selector使用详解
  10. Cisco Packet Tracer实验集合