📄️ Slurm 基本說明
Slurm 架構簡介
📄️ 提交第一個 Slurm 任務
要正確理解 Slurm 的工作流程,需要了解一些基本概念:
📄️ 任務參數
透過指令指定參數
📄️ 任務狀態
前面介紹了如何提交任務,以及設定任務的相關參數,這一節將介紹如何查看任務的狀態。Slurm提供多種指令幫助使用者查看任務狀態,包含scontrol、squeue,下面將介紹如何使用。
📄️ 節點狀態
前面介紹如何查看任務狀態,下面我們介紹如何查看節點狀態。跟查看任務狀態類似,節點狀態我們也可以透過指令來查看,透過指令的使用方式很簡單,但理解系統所顯示出來的結果較複雜,以下分為兩個子節說明。
📄️ 互動型任務
前面介紹了如何使用「sbatch」進行任務提交,這是最常使用的方式,讓用戶將任務編寫為腳本進行提交。但實際上 Slurm 提供任務提交的方式也很多種,而使用「sbatch」最常見的問題,即是腳本中的某一行出現問題,就必須要反覆修改腳本才能夠順利跑完,這對於測試非常不方便,又或者所執行的內容需要與standout 進行互動才能夠跑的通,這時候使用「srun」與「salloc」是更好的方式,下面將分別介紹。
📄️ GPU 資源調度
前面介紹過如何為任務指定資源參數,但只包含了節點數量、CPU使用量,以及記憶體使用量等。但專業的資源調度系統應該支援多種複雜的硬體資源管理,例如本服務的GPU資源。Slurm透過一種套件實現了通用資源的管理,讓管理者甚至可以開發專用的通用管理套件來做使用,本服務也使用這種套件來進行GPU的資源控管。