Slurm作業(yè)管理系統(tǒng)常用命令和教程

Slurm ( Simple Linux Utility for Resource Management )是開(kāi)源的、具有容錯(cuò)性和高度可擴(kuò)展大型和小型 Linux集群資源管理和作業(yè)調(diào)度系統(tǒng)。超級(jí)計(jì)算系統(tǒng)可利用 Slurm 進(jìn)行資源和作業(yè)管理,以避免相互干擾,提高運(yùn)行效率。所有需運(yùn)行的作業(yè)無(wú)論是用于程序調(diào)試還是業(yè)務(wù)計(jì)算均必須通過(guò)交互式并行 srun、批處理式 sbatch 或分配式 salloc 等命令提交,提交后可以利用相關(guān)命令查詢(xún)作業(yè)狀態(tài)等。

 

同時(shí)北鯤云超算平臺(tái)也是使用的Slurm作業(yè)管理系統(tǒng),熟悉slurm作業(yè)管理系統(tǒng)的同學(xué)可以快速上手北鯤云進(jìn)行計(jì)算,不熟悉的也沒(méi)關(guān)系,一是可以學(xué),我們有完整的教程以及技術(shù)支持服務(wù),另外就是平臺(tái)還提供模板提交方式,無(wú)需it基礎(chǔ)也可以快速進(jìn)行計(jì)算。直接按照模板提示提交作業(yè)即可。多種軟件覆蓋多個(gè)行業(yè),歡迎來(lái)試一試。

一. 常用命令

sinfo       #查看分區(qū)狀態(tài)squeue      #查看隊(duì)列中的作業(yè)scontrol    #查看作業(yè)詳細(xì)信息scancel     #取消已經(jīng)提交的作業(yè)sbatch      #批處理式提交作業(yè)salloc      #分配式運(yùn)行作業(yè)

 

1. 查看分區(qū)狀態(tài)

sinfo

 

CPU分區(qū)命名規(guī)則為c-核心數(shù)-每核心內(nèi)存大小,如c-8-4:表示單節(jié)點(diǎn)規(guī)格為8核,每核心有4G內(nèi)存,即節(jié)點(diǎn)規(guī)格為8核32G。

GPU分區(qū)命名規(guī)則為g-卡號(hào)-每節(jié)點(diǎn)卡數(shù),如g-v100-2:表示有兩張顯卡型號(hào)為tesla v100的gpu節(jié)點(diǎn)。

Slurm作業(yè)管理系統(tǒng)常用命令和教程的圖1

2. 查看作業(yè)隊(duì)列

squeue

 

JOBID:作業(yè)號(hào)

ST:狀態(tài) (R:運(yùn)行中;CF:配置中;PD:排隊(duì)中)。

Slurm作業(yè)管理系統(tǒng)常用命令和教程的圖2

3. 查看所有作業(yè)詳細(xì)信息

scontrol show jobs

 

Slurm作業(yè)管理系統(tǒng)常用命令和教程的圖3

4. 取消作業(yè)號(hào)為20的作業(yè)

scancel 20

 

二. 提交作業(yè)的方式

1. 使用sbatch批處理模式提交作業(yè)

sbatch命令可以提交任務(wù)至一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn),實(shí)現(xiàn)并行計(jì)算。

sbatch命令的一些常用選項(xiàng)

參數(shù) 功能
-N 申請(qǐng)的節(jié)點(diǎn)數(shù)量
-p 指定計(jì)算節(jié)點(diǎn)規(guī)格,使用sinfo查看所支持的規(guī)格
-n 指定任務(wù)數(shù),即并行程序運(yùn)行多少個(gè)進(jìn)程
-c 每進(jìn)程使用的cpu核心數(shù)

參考運(yùn)行程序:demo.sh

#!/bin/bashsleep 6000

 

提交示例:

  • 使用2個(gè)4核心節(jié)點(diǎn)啟動(dòng)8個(gè)并行任務(wù)。

sbatch -N 2 -p c-4-1 -n 8 -c 1 demo.sh

 

  • 1個(gè)4核心節(jié)點(diǎn)啟動(dòng)4個(gè)并行任務(wù)。

sbatch -N 1 -p c-4-1 -n 4 -c 1 demo.sh

 

  • 1個(gè)4核心節(jié)點(diǎn)啟動(dòng)4個(gè)并行任務(wù)。

sbatch -p c-4-1 -n 4 demo.sh

 

  • 1個(gè)4核心節(jié)點(diǎn)啟動(dòng)1個(gè)并行任務(wù), 該任務(wù)使用4個(gè)cpu核心。

sbatch -p c-4-1 -n 1 -c 4 demo.sh

 

  • 2個(gè)4核心節(jié)點(diǎn)啟動(dòng)2個(gè)并行任務(wù), 每個(gè)任務(wù)使用4個(gè)cpu核心。

sbatch -p c-4-1 -n 2 -c 4 demo.sh

 

2. 使用salloc分配模式提交作業(yè)

salloc命令可以用來(lái)分配節(jié)點(diǎn),用戶(hù)可以在獲取分配的計(jì)算節(jié)點(diǎn)后,ssh進(jìn)入直接運(yùn)行相關(guān)計(jì)算程序,主要用來(lái)調(diào)式程序執(zhí)行。

使用步驟(案例):

Step1. salloc申請(qǐng)計(jì)算節(jié)點(diǎn);

salloc -N 1 -p c-8-2 &

 

Step2. ssh登錄到分配的計(jì)算節(jié)點(diǎn);

ssh c-8-2-worker0001

 

Step3. 調(diào)試或運(yùn)行程序;

./demo.sh

 

Step4. 結(jié)束程序運(yùn)行后釋放分配的節(jié)點(diǎn);

scancel 17

 

Slurm作業(yè)管理系統(tǒng)常用命令和教程的圖4

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP