SLURM 资源管理系统

上一篇中我们简要介绍了 LSF 作业管理系统,下面将介绍 SLURM 资源管理系统。

简介

SLURM (Simple Linux Utility for Resource Management)是一种可用于大型计算节点集群的高度可伸缩和容错的集群管理器和作业调度系统,被世界范围内的超级计算机和计算集群广泛采用。SLURM 维护着一个待处理工作的队列并管理此工作的整体资源利用。它以一种共享或非共享的方式管理可用的计算节点(取决于资源的需求),以供用户执行工作。SLURM 会为任务队列合理地分配资源,并监视作业至其完成。如今,SLURM 已经成为了很多最强大的超级计算机上使用的领先资源管理器,如天河二号上便使用了 SLURM 资源管理系统。

常用命令

下面是一些最常用的 SLURM 命令:

  • sacct:查看历史作业信息
  • salloc:分配资源
  • sbatch:提交批处理作业
  • scancel:取消作业
  • scontrol:系统控制
  • sinfo:查看节点与分区状态
  • squeue:查看队列状态
  • srun:执行作业

常用环境变量

下表是 SLURM 环境变量:

变量 说明
SLURM_NPROCS 要加载的进程数
SLURM_TASKS_PER_NODE 每节点要加载的任务数
SLURM_JOB_ID 作业的 JobID
SLURM_SUBMIT_DIR 提交作业时的工作目录
SLURM_JOB_NODELIST 作业分配的节点列表
SLURM_JOB_CPUS_PER_NODE 每个节点上分配给作业的 CPU 数
SLURM_JOB_NUM_NODES 作业分配的节点数
HOSTNAME 对于批处理作业,此变量被设置为批处理脚本所执行节点的节点名

资源管理系统实体

SLURM 资源管理系统的管理对象包括:节点,分区,作业和作业步。

  • 节点:Node

    • 即指计算节点
    • 包含处理器、内存、磁盘空间等资源
    • 具有空闲、分配、故障等状态
    • 使用节点名字标识
  • 分区:Partition

    • 节点的逻辑分组
    • 提供一种管理机制,可设置资源限制、访问权限、优先级等
    • 分区可重叠,提供类似于队列的功能
    • 使用分区名字标识
  • 作业:Job

    • 一次资源分配
    • 位于一个分区中,作业不能跨分区
    • 排队调度后分配资源运行
    • 通过作业 ID 标识
  • 作业步:Jobstep

    • 通过 srun 进行的任务加载
    • 作业步可只使用作业中的部分节点
    • 一个作业可包含多个作业步,可并发运行
    • 在作业内通过作业步 ID 标识

作业运行模式

SLURM 系统有三种作业运行模式:

  • 交互模式,以 srun 命令运行;
  • 批处理模式,以 sbatch 命令运行;
  • 分配模式,以 salloc 命令运行。

交互模式

交互模式作业的使用过程为:

  1. 在终端提交资源分配请求,指定资源数量与限制;
  2. 等待资源分配;
  3. 获得资源后,加载计算任务;
  4. 运行中,任务 I/O 传递到终端;
  5. 可与任务进行交互,包括 I/O,信号等;
  6. 任务执行结束后,资源被释放。

例如使用 srun 申请 4 个进程生成一个作业步:

$ srun -n 4 ./example

批处理模式

批处理模式作业的使用过程为:

  1. 用户编写作业脚本;
  2. 提交作业;
  3. 作业排队等待资源分配;
  4. 分配资源后执行作业;
  5. 脚本执行结束,释放资源;
  6. 运行结果定向到指定的文件中记录。

下面给出作业脚本示例:

#!/bin/env bash

# file: example.sh

# set the number of nodes
#SBATCH --nodes=2

# set the number of tasks (processes) per node
#SBATCH --ntasks-per-node=4

# set partition
#SBATCH --partition=example-partition

# set max wallclock time
#SBATCH --time=2:00:00

# set name of job
#SBATCH --job-name=example-mpi4py

# set batch script's standard output
#SBATCH --output=example.out

# mail alert at start, end and abortion of execution
#SBATCH --mail-type=ALL

# send mail to this address
#SBATCH --mail-user=user@mail.com

# run the application
srun python example-mpi4py.py

用以下命令提交批处理作业:

$ sbatch example.sh

分配模式

分配模式作业的使用过程为:

  1. 提交资源分配请求;
  2. 作业排队等待资源分配;
  3. 执行用户指定的命令;
  4. 命令执行结束,释放资源。

分配模式通过 salloc 命令运行,举例如下(使用 2 个节点,4 个进程,预计运行时间 100 秒):

$ salloc -N 2 -n 4 -p example-partition -t 100 /bin/bash

资源分配请求成功后会进入 bash shell 终端,在其中可以使用 srun 交互式地执行作业任务。在终端输入 exit 命令或 Ctrl+D 退出分配模式。

天河二号上的 SLURM 管理系统

天河二号上使用的是 SLURM 资源管理系统,不过天河二号上使用的 SLURM 命令都是将标准的 SLURM 命令开头的 s 改成了 yh,如下:

  • yhacct:查看历史作业信息
  • yhalloc:分配资源
  • yhbatch:提交批处理作业
  • yhcancel:取消作业
  • yhcontrol:系统控制
  • yhinfo/yhi:查看节点与分区状态
  • yhqueue/yhq:查看队列状态
  • yhrun:执行作业

以上介绍了 SLURM 资源管理系统,在下一篇中我们将介绍 MPI-3 的新特性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,077评论 25 707
  • 拉萨,这样安静的夜,我失眠了——因为疼痛……也许人在疼痛的时刻会更加清醒!在疼痛面前我努力挣扎和反抗,希望能战胜它...
    孔一白露阅读 205评论 0 0
  • 简介 二维条码/二维码是用某种特定的几何图形按一定规律在平面分布的黑白相间的图形记录数据符号信息的 在编码上巧妙地...
    论丶道阅读 2,520评论 3 7
  • 北京时间12月19日,洛杉矶湖人队在主场迎战金州勇士队。在比赛中场休息时间,湖人队为传奇巨星科比-布莱恩特举行了隆...
    Sandy体育风云阅读 336评论 0 0
  • 小雨悄悄 挪出盈盈的莲步 婀娜而来 亲吻 不尽的绿意 像花针 密密地绣出 七彩的世界 小雨莎莎 踏出 飘逸的舞步 ...
    请叫我小心心阅读 363评论 0 0