slurm用户快速入门手册
2. 架构
3. 命令
3.1 sacct
3.2 sattach
3.4 sbatch
3.5 sbcast
3.6 scancel
3.7 scontrol
3.8 sinfo
3.9 smap
3.10 squeue
3.11 srun
3.12 strigger
3.13 sview
1. 概述
Slurm 是一个开源、容错、高可伸缩的集群管理和大型小型 Linux 集群作业调度系统。slurm不需要对操作系统内核进行修改,而是相对独立的。
作为集群工作负载管理器。slurm有三个关键功能:
- 首先,它在一段时间内为用户分配独占或者非独占的计算资源,以便他们能够执行工作任务
- 其次,它能提供一个框架,用于在分配的节点集上启动,执行,监视工作,通常是并行作业任务
- 最后,它通过管理挂起的工作队列,来仲裁资源争夺问题
2. 架构
如下图2.1所示,slurm构成有:
- 运行在每个计算节点上的slurmd守护进程
- 运行在管理节点上的中央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用户快速入门手册的更多相关文章
- Github快速入门手册
最近在试用Github,开源的思想也让人觉得把一些经验分享出来是非常好的事情.附件是doc文件,如有需要请注意查收.希望能对你有帮助. GITHUB基于互联网的版本控制快速入门手册 如有不妥,欢迎指正 ...
- Maven——快速入门手册(学习记录)
前言: 前段时间进行了一点maven的入门学习,在这里做个记录,希望能帮到一些正在学习的朋友们.maven版本为3.3.9.希望大家觉得好的点个赞,觉得不好的多提提意见和建议做个交流.这里也贴出我学习 ...
- Lua脚本语言快速入门手册
学了两天Lua语言,感叹其短小精悍,上手极快,语法还很舒服,不错!整理下学习过程中经常用到的基础知识,共勉! Lua用法简述 Lua语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式 ...
- Java8——快速入门手册(学习笔记)
github博文传送门 Java8特性学习笔记 Java8中新增了许多的新特性,在这里本人研究学习了几个较为常用的特性,在这里与大家进行分享.(这里推荐深入理解Java 8用于理解基础知识)本文分为以 ...
- Markdown 语法快速入门手册
Markdown 是一种轻量级标记语言,能将文本换成有效的XHTML(或者HTML)文档,它的目标是实现易读易写,成为一种适用于网络的书写语言. Markdown 语法简洁明了,易于掌握,所以用它来写 ...
- Gradle用户指南(章9:Groovy快速入门)
Gradle用户指南(章9:Groovy快速入门) 你可以使用groovy插件来构建groovy项目.这个插件继承了java插件的功能,且扩展了groovy编译.你的项目可以包含groovy代码.ja ...
- IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证
IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证 原文:http://docs.identityserver.io/en/releas ...
- Slickflow.Graph 开源工作流引擎快速入门之四: 图形编码建模工具使用手册
前言: 业务人员绘制流程时,通常使用图形GUI界面交互操作来完成,然而对于需要频繁操作或者管理较多流程的系统管理用户,就需要一款辅助工具,来帮助他们快速完成流程的创建和编辑更新.Slickflow.G ...
- 专为设计师而写的GitHub快速入门教程
专为设计师而写的GitHub快速入门教程 来源: 伯乐在线 作者:Kevin Li 原文出处: Kevin Li 在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目 ...
随机推荐
- Python基础点
写这篇的目的并不是要把python的基础知识汇总一遍,而是着重记录一些实际编写代码时遇到的常用/重要的内容 以点的形式记录,之后遇到的内容会慢慢补充进来 1. 斜杠 / :斜字第一笔, 转义用反斜杠 ...
- webAPi OData的使用
一.OData介绍 开放数据协议(Open Data Protocol,缩写OData)是一种描述如何创建和访问Restful服务的OASIS标准. 二.OData 在asp.net mvc中的用法 ...
- CPUFreq驱动
CPUFreq子系统位于 drivers/cpufreq目录下,负责进行运行过程中CPU频率和电压的动态调整,即DvFS( Dynamic Voltage Frequency Scaling,动态电压 ...
- centos6.9NAT网络模式
1.对虚拟机进行设置,点击该虚拟机的设置在网络适配器下将网络连接设置为NAT模式. 2.对虚拟机进行设置,点击虚拟机左上方的编辑-->虚拟网络编辑器,将WMnet信息设置为NAT模式,其它的无需 ...
- 4.7 Sublime Text3 中配置 Python环境 --之上安装Sublime 3
返回总目录 目录: 1.展示效果: 2.缺优分析: 3.下载Sublime Text3 (一)展示效果: 1.能够交互式编写Python代码: 2.可以编写文件式Python代码: 3.能够自动补齐代 ...
- PyQt5--TextDrag
# -*- coding:utf-8 -*- ''' Created on Sep 21, 2018 @author: SaShuangYiBing Comment: ''' import sys f ...
- Qt 编程指南 8 显示静态小图片和动态大图片
显示控件概览 图片浏览示例 第一行是一个标签控件,objectName 为 labelShow,文本内容清空,因为是用来显示图片用的. 主界面第二行的控件是四个普通按钮 第一个按钮文本是 " ...
- P1734 最大约数和
题目描述 选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大. 输入输出格式 输入格式: 输入一个正整数S. 输出格式: 输出最大的约数之和. 输入输出样例 输入样例#1: 复 ...
- ES6中Object.assign() 方法
ES6中Object.assign() 方法 1. 对象合并Object.assign 方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象上.如下代码演示: var targ ...
- Objective-C 代码混淆
代码混淆 参考链接: https://blog.csdn.net/yiyaaixuexi/article/details/29201699 http://fighting300.com/2017/04 ...