slurm用戶快速入門手冊

1. 概述

Slurm 是一個開源、容錯、高可伸縮的集羣管理和大型小型 Linux 集羣做業調度系統。slurm不須要對操做系統內核進行修改,而是相對獨立的。
做爲集羣工做負載管理器。slurm有三個關鍵功能:node

  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用於將文件從本地磁盤傳輸到分配給做業的節點上的本地磁盤。這可用於有效地使用無盤計算節點或提供相對於共享文件系統的改進性能blog

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 管理的做業、分區和節點的狀態信息。

相關文章
相關標籤/搜索