SLURM 資源管理系統(tǒng)

上一篇中我們簡要介紹了 LSF 作業(yè)管理系統(tǒng),下面將介紹 SLURM 資源管理系統(tǒng)。

簡介

SLURM (Simple Linux Utility for Resource Management)是一種可用于大型計算節(jié)點集群的高度可伸縮和容錯的集群管理器和作業(yè)調(diào)度系統(tǒng),被世界范圍內(nèi)的超級計算機(jī)和計算集群廣泛采用。SLURM 維護(hù)著一個待處理工作的隊列并管理此工作的整體資源利用。它以一種共享或非共享的方式管理可用的計算節(jié)點(取決于資源的需求),以供用戶執(zhí)行工作。SLURM 會為任務(wù)隊列合理地分配資源,并監(jiān)視作業(yè)至其完成。如今,SLURM 已經(jīng)成為了很多最強大的超級計算機(jī)上使用的領(lǐng)先資源管理器,如天河二號上便使用了 SLURM 資源管理系統(tǒng)。

常用命令

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

  • sacct:查看歷史作業(yè)信息
  • salloc:分配資源
  • sbatch:提交批處理作業(yè)
  • scancel:取消作業(yè)
  • scontrol:系統(tǒng)控制
  • sinfo:查看節(jié)點與分區(qū)狀態(tài)
  • squeue:查看隊列狀態(tài)
  • srun:執(zhí)行作業(yè)

常用環(huán)境變量

下表是 SLURM 環(huán)境變量:

變量 說明
SLURM_NPROCS 要加載的進(jìn)程數(shù)
SLURM_TASKS_PER_NODE 每節(jié)點要加載的任務(wù)數(shù)
SLURM_JOB_ID 作業(yè)的 JobID
SLURM_SUBMIT_DIR 提交作業(yè)時的工作目錄
SLURM_JOB_NODELIST 作業(yè)分配的節(jié)點列表
SLURM_JOB_CPUS_PER_NODE 每個節(jié)點上分配給作業(yè)的 CPU 數(shù)
SLURM_JOB_NUM_NODES 作業(yè)分配的節(jié)點數(shù)
HOSTNAME 對于批處理作業(yè),此變量被設(shè)置為批處理腳本所執(zhí)行節(jié)點的節(jié)點名

資源管理系統(tǒng)實體

SLURM 資源管理系統(tǒng)的管理對象包括:節(jié)點,分區(qū),作業(yè)和作業(yè)步。

  • 節(jié)點:Node

    • 即指計算節(jié)點
    • 包含處理器、內(nèi)存、磁盤空間等資源
    • 具有空閑、分配、故障等狀態(tài)
    • 使用節(jié)點名字標(biāo)識
  • 分區(qū):Partition

    • 節(jié)點的邏輯分組
    • 提供一種管理機(jī)制,可設(shè)置資源限制、訪問權(quán)限、優(yōu)先級等
    • 分區(qū)可重疊,提供類似于隊列的功能
    • 使用分區(qū)名字標(biāo)識
  • 作業(yè):Job

    • 一次資源分配
    • 位于一個分區(qū)中,作業(yè)不能跨分區(qū)
    • 排隊調(diào)度后分配資源運行
    • 通過作業(yè) ID 標(biāo)識
  • 作業(yè)步:Jobstep

    • 通過 srun 進(jìn)行的任務(wù)加載
    • 作業(yè)步可只使用作業(yè)中的部分節(jié)點
    • 一個作業(yè)可包含多個作業(yè)步,可并發(fā)運行
    • 在作業(yè)內(nèi)通過作業(yè)步 ID 標(biāo)識

作業(yè)運行模式

SLURM 系統(tǒng)有三種作業(yè)運行模式:

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

交互模式

交互模式作業(yè)的使用過程為:

  1. 在終端提交資源分配請求,指定資源數(shù)量與限制;
  2. 等待資源分配;
  3. 獲得資源后,加載計算任務(wù);
  4. 運行中,任務(wù) I/O 傳遞到終端;
  5. 可與任務(wù)進(jìn)行交互,包括 I/O,信號等;
  6. 任務(wù)執(zhí)行結(jié)束后,資源被釋放。

例如使用 srun 申請 4 個進(jìn)程生成一個作業(yè)步:

$ srun -n 4 ./example

批處理模式

批處理模式作業(yè)的使用過程為:

  1. 用戶編寫作業(yè)腳本;
  2. 提交作業(yè);
  3. 作業(yè)排隊等待資源分配;
  4. 分配資源后執(zhí)行作業(yè);
  5. 腳本執(zhí)行結(jié)束,釋放資源;
  6. 運行結(jié)果定向到指定的文件中記錄。

下面給出作業(yè)腳本示例:

#!/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

用以下命令提交批處理作業(yè):

$ sbatch example.sh

分配模式

分配模式作業(yè)的使用過程為:

  1. 提交資源分配請求;
  2. 作業(yè)排隊等待資源分配;
  3. 執(zhí)行用戶指定的命令;
  4. 命令執(zhí)行結(jié)束,釋放資源。

分配模式通過 salloc 命令運行,舉例如下(使用 2 個節(jié)點,4 個進(jìn)程,預(yù)計運行時間 100 秒):

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

資源分配請求成功后會進(jìn)入 bash shell 終端,在其中可以使用 srun 交互式地執(zhí)行作業(yè)任務(wù)。在終端輸入 exit 命令或 Ctrl+D 退出分配模式。

天河二號上的 SLURM 管理系統(tǒng)

天河二號上使用的是 SLURM 資源管理系統(tǒng),不過天河二號上使用的 SLURM 命令都是將標(biāo)準(zhǔn)的 SLURM 命令開頭的 s 改成了 yh,如下:

  • yhacct:查看歷史作業(yè)信息
  • yhalloc:分配資源
  • yhbatch:提交批處理作業(yè)
  • yhcancel:取消作業(yè)
  • yhcontrol:系統(tǒng)控制
  • yhinfo/yhi:查看節(jié)點與分區(qū)狀態(tài)
  • yhqueue/yhq:查看隊列狀態(tài)
  • yhrun:執(zhí)行作業(yè)

以上介紹了 SLURM 資源管理系統(tǒng),在下一篇中我們將介紹 MPI-3 的新特性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,716評論 25 709
  • 拉薩,這樣安靜的夜,我失眠了——因為疼痛……也許人在疼痛的時刻會更加清醒!在疼痛面前我努力掙扎和反抗,希望能戰(zhàn)勝它...
    孔一白露閱讀 214評論 0 0
  • 簡介 二維條碼/二維碼是用某種特定的幾何圖形按一定規(guī)律在平面分布的黑白相間的圖形記錄數(shù)據(jù)符號信息的 在編碼上巧妙地...
    論丶道閱讀 2,647評論 3 7
  • 北京時間12月19日,洛杉磯湖人隊在主場迎戰(zhàn)金州勇士隊。在比賽中場休息時間,湖人隊為傳奇巨星科比-布萊恩特舉行了隆...
    Sandy體育風(fēng)云閱讀 360評論 0 0
  • 小雨悄悄 挪出盈盈的蓮步 婀娜而來 親吻 不盡的綠意 像花針 密密地繡出 七彩的世界 小雨莎莎 踏出 飄逸的舞步 ...
    請叫我小心心閱讀 430評論 0 0

友情鏈接更多精彩內(nèi)容