1. 概述

Slurm 是一个开源、容错、高可伸缩的集群管理和大型小型 Linux 集群作业调度系统。slurm不需要对操作系统内核进行修改,而是相对独立的。

作为集群工作负载管理器。slurm有三个关键功能:

  1. 首先,它在一段时间内为用户分配独占或者非独占的计算资源,以便他们能够执行工作任务
  2. 其次,它能提供一个框架,用于在分配的节点集上启动,执行,监视工作,通常是并行作业任务
  3. 最后,它通过管理挂起的工作队列,来仲裁资源争夺问题

2. 架构

如下图2.1所示,slurm构成有:

  1. 运行在每个计算节点上的slurmd守护进程
  2. 运行在管理节点上的中央slurmctld守护进程(可选的故障切换节点模式)



    用户命令,包括:sacct,salloc,sattach,sbatch,sbcast,scancel,scontrol,sinfo,smap,squeue,srun,strigger,sviw,sreport等,均可以在集群的任何地方运行。

    如下图所示,由这些 Slurm 守护程序管理的实体,包括:
  • 计算资源node
  • 计算资源组成的逻辑集partition
  • 分配给用户指定的时间量的资源分配job
  • 作业中的一组任务(有可能是并行任务)



这些分区可以被视为作业队列, 其中每一个都有各种约束, 如作业大小限制、工作时间限制、允许使用它的用户等。

按照优先级排序的作业,从队列中分配节点,直至该队列分资源,如节点,处理器,内存等耗尽。

一旦一个job分配了一组节点后, 用户就能够按照任何分配配置,以作业步骤形式启动并行工作。

例如, 可以启动一个作业步骤, 利用分配给作业的所有节点, 或者多个作业步骤可以独立地使用分配的一部分。

3. 命令

在部署了slurm的系统上,slurm daemons,slurm commands,和API functions均可通过帮助选择查看。

命令选择--help也能够提供一个简洁的功能选项总结。需要注意的是,命令选项都区分大小写。

3.1 sacct

sacct 用于汇总报告正在活动或者已经结束的job和job step的审计信息。

3.2 sattach

sattach用于input、output和error plus signal功能附加到当前正在运行的作业或作业步骤中。你可以多次连接和分离工作。

3.4 sbatch

sbatch用于提交作业脚本以供以后执行。脚本通常包含一个或多个 srun 命令来启动并行任务

3.5 sbcast

sbatch用于将文件从本地磁盘传输到分配给作业的节点上的本地磁盘。这可用于有效地使用无盘计算节点或提供相对于共享文件系统的改进性能

3.6 scancel

scancel用于取消挂起或正在运行的作业或作业步骤。它还可用于向与正在运行的作业或作业步骤关联的所有进程发送任意信号。

3.7 scontrol

scontrol是用于查看和/或修改 Slurm 状态的管理工具。请注意, 许多 scontrol 命令只能作为用户根执行。

3.8 sinfo

sinfo报告由 Slurm 管理的分区和节点的状态。它具有多种筛选、排序和格式设置选项。

3.9 smap

smap报告由 Slurm 管理的作业、分区和节点的状态信息, 但以图形方式显示信息以反映网络拓扑。

3.10 squeue

报告作业或作业步骤的状态。它具有多种筛选、排序和格式设置选项。

默认情况下, 它以优先级顺序报告正在运行的作业, 然后按优先级顺序报表挂起的作业。

3.11 srun

用于提交执行任务或实时启动作业步骤。

srun 有各种各样的选项来指定资源需求, 包括: 最小和最大节点数、处理器计数、要使用或不使用的特定节点以及特定节点特征 (内存、磁盘空间、某些必需的功能等)。

作业可以包含在作业节点分配中按顺序或并行执行的多个作业步骤。

3.12 strigger

strigger用于设置、获取或查看事件触发器。事件触发器包括节点下降或工作接近其时间限制等内容。

3.13 sview

是一个图形用户界面, 用于获取和更新由 Slurm 管理的作业、分区和节点的状态信息。

slurm用户快速入门手册的更多相关文章

  1. Github快速入门手册

    最近在试用Github,开源的思想也让人觉得把一些经验分享出来是非常好的事情.附件是doc文件,如有需要请注意查收.希望能对你有帮助. GITHUB基于互联网的版本控制快速入门手册 如有不妥,欢迎指正 ...

  2. Maven——快速入门手册(学习记录)

    前言: 前段时间进行了一点maven的入门学习,在这里做个记录,希望能帮到一些正在学习的朋友们.maven版本为3.3.9.希望大家觉得好的点个赞,觉得不好的多提提意见和建议做个交流.这里也贴出我学习 ...

  3. Lua脚本语言快速入门手册

    学了两天Lua语言,感叹其短小精悍,上手极快,语法还很舒服,不错!整理下学习过程中经常用到的基础知识,共勉! Lua用法简述 Lua语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式 ...

  4. Java8——快速入门手册(学习笔记)

    github博文传送门 Java8特性学习笔记 Java8中新增了许多的新特性,在这里本人研究学习了几个较为常用的特性,在这里与大家进行分享.(这里推荐深入理解Java 8用于理解基础知识)本文分为以 ...

  5. Markdown 语法快速入门手册

    Markdown 是一种轻量级标记语言,能将文本换成有效的XHTML(或者HTML)文档,它的目标是实现易读易写,成为一种适用于网络的书写语言. Markdown 语法简洁明了,易于掌握,所以用它来写 ...

  6. Gradle用户指南(章9:Groovy快速入门)

    Gradle用户指南(章9:Groovy快速入门) 你可以使用groovy插件来构建groovy项目.这个插件继承了java插件的功能,且扩展了groovy编译.你的项目可以包含groovy代码.ja ...

  7. IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证

    IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证 原文:http://docs.identityserver.io/en/releas ...

  8. Slickflow.Graph 开源工作流引擎快速入门之四: 图形编码建模工具使用手册

    前言: 业务人员绘制流程时,通常使用图形GUI界面交互操作来完成,然而对于需要频繁操作或者管理较多流程的系统管理用户,就需要一款辅助工具,来帮助他们快速完成流程的创建和编辑更新.Slickflow.G ...

  9. 专为设计师而写的GitHub快速入门教程

    专为设计师而写的GitHub快速入门教程 来源: 伯乐在线 作者:Kevin Li     原文出处: Kevin Li 在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目 ...

随机推荐

  1. Python之岭回归

    实现:# -*- coding: UTF-8 -*- import numpy as npfrom sklearn.linear_model import Ridge __author__ = 'zh ...

  2. JMeter—配置元件(七)

    参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第二节配置元件JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. ...

  3. python包中__init__.py的作用

    1.__init__.py定义包的属性和方法 一般为空文件,但是必须存在,没有__init__.py表明他所在的目录只是目录不是包 2.导入包的时候使用 例如有一个test目录,test下有xx1.p ...

  4. 洗礼灵魂,修炼python(24)--自定义函数(5)—匿名函数lambda

    在这个互联网时代,大家都喜欢匿名,匿名上网,匿名登录,匿名操作等等,都不喜欢实名对吧?(虽然说现在实名制已经快到来,题外话,扯远了),当然python里也有个不喜欢实名的,它的功效优点特殊,说强大吧? ...

  5. CSS| 學習心得

    resize :both , 只有overflow設置為auto時, 才能起作用???

  6. sql server2014企业版无人值守批处理脚本自动化安装

    ▲版权声明:本文为博主原创文章,未经博主允许不得转载. SQL Server系列软件是Microsoft 公司推出的关系型数据库管理系统.2014年4月16日于旧金山召开的一场发布会上,微软CEO萨蒂 ...

  7. Nginx实现页面缓存

    页面缓存 1.缓存指令 Nginx的缓存配置比较直观简单,具体有下面几个指令需要知道: A.proxy_cache_path 格式:proxy_cache_path path [levels=numb ...

  8. SAP ABAP 查找用户出口

    1.查找事物代码程序名 2.查找用户出口 T-CODE:SE80 在子例程中查找以USEREXIT开头的子程序.

  9. postMessage 实现跨源通信 iframe 跨域获取url

    用postMessage实现跨源通信的方法实例 如:在www.bbb.com/index.html页面获取www.aaa.com/index.html的数据,以iframe的形式 www.aaa.co ...

  10. vs2012中如何显示代码行号

    打开一个项目,里面没有显示行号   打开工具-选项   选择文本编辑器-C#   在行号前面上打钩   点击确定,就可以看到代码前面显示出行号 6 还可以按此办法添加其他类型文件的代码行号