Slurm 是 AI、HPC 和雲端運算最熱門且廣泛使用的開放原始碼工作負載管理員之一。 透過 Slurm,您可以跨一組計算節點執行大規模的平行和分散式應用程式。 它提供作業排程、資源管理、容錯和電源管理等功能。 世界上許多頂級超級計算機、研究機構、大學和企業都使用斯盧姆。
不過,在雲端上設定和管理 Slurm 叢集可能具有挑戰性且耗時,特別是如果您不熟悉雲端環境或 Slurm 組態。 您必須處理布建和調整計算節點、安裝和更新 Slurm 軟體、設定網路和記憶體、監視叢集健康情況和效能,以及疑難解答問題等工作。 這些工作會分散您的核心研究或商務目標,並降低 AI 和 HPC 工作負載的生產力和效率。
適用於 Slurm 的 Azure CycleCloud 工作區是 Azure Marketplace 解決方案範本,可讓您用來在 Azure 上使用 CycleCloud 來建立、設定及部署預先定義的 Slurm 叢集。 你不需要先有 Azure 或 Slurm 的知識來部署範本,但操作和自訂環境需要這些技能。 解決方案會使用 PMix v4、Pyxis 和 enroot 預先設定 Slurm 叢集,以支援容器化 AI/HPC Slurm 作業。 你可以透過 SSH 或 Visual Studio Code 存取已配置的登入節點,執行常見任務,如提交和管理 Slurm 工作。
雖然 Azure CycleCloud 已經可讓您執行其中一些工作,但不會為您部署 AI/HPC 基礎結構。 您必須處理安裝及設定 CycleCloud、設定網路和記憶體,以及建立和設定 Slurm 叢集等工作。 適用於 Slurm 的 Azure CycleCloud 工作區會在 Marketplace 解決方案範本中為您執行這些工作,您可以直接從 Azure 入口網站或透過 Azure CLI 進行部署。 您幾分鐘就能做好準備,而不是數天或數周。
選擇 Azure 協調流程選項
根據排程員的經驗及團隊所需的基礎設施控制程度,選擇一個選項:
| Option | 最適用 | 作業模型 |
|---|---|---|
| Azure CycleCloud Workspace for Slurm | 想要一個即刻部署 Slurm 環境以支援 HPC 或 AI 工作負載的團隊 | Marketplace 解決方案會在你的 Azure 訂閱中部署 CycleCloud、Slurm、網路、儲存和存取元件。 |
| Azure CycleCloud | 需要非 Slurm 排程器、自訂叢集拓撲,或與現有本地工作流程高度對齊的 HPC 環境 | 你安裝 CycleCloud,並設定排程器、叢集、網路和儲存空間。 CycleCloud 負責配置並自動擴展 Azure 基礎設施。 |
| Azure Batch | 平行且高吞吐量的工作負載,不需要你操作排程軟體 | Azure 提供排程服務。 你用批次 API 和工具建置,而批次則管理池、節點、工作和任務。 |
以你目前的環境作為決定因素:
| 起點 | 偏好 | 原因為何 |
|---|---|---|
| 你想要的是 Slurm,而預設的網路、儲存、存取和叢集架構符合你的需求。 | 適用於 Slurm 的 Azure CycleCloud 工作區 | Marketplace 解決方案縮短了通往運作中的 Slurm 環境的路徑,同時保留資源在訂閱中。 |
| 你需要 Slurm 以外的排程器,或必須自訂超出此解決方案設計範圍的拓撲、排程器原則或基礎架構。 | Azure CycleCloud | CycleCloud 提供對排程器與叢集配置的控制。 |
| 您的應用程式可以使用集區、作業和工作,且不需要與排程器相容。 | Azure Batch | Batch 以服務形式提供排程功能,讓您無需管理 Slurm。 |
如果你預期 Workspace for Slurm 是代管平台服務,就不要選擇 Workspace for Slurm。 你的團隊仍然擁有已部署的 Azure 資源、Slurm 設定、安全、監控、升級和工作負載操作。 當預設架構不符合所需拓撲或整合時,請選擇自訂 CycleCloud。
在正式實施前,請記錄為何 Workspace for Slurm 適合你、你拒絕的替代方案、部署是否是綠地或重複使用現有資源、網路與身份設計、儲存基準、區域虛擬機器配額與容量、復原方法、營運負責人,以及每個代表工作的時間與成本。 先從 部署規劃開始。 關於自訂的 CycleCloud 叢集,請參見 「規劃與規模 HPC 叢集」。
適用於 Slurm 的 Azure CycleCloud 工作區的優點
當您想要在 Azure 中建置 AI/HPC 環境時,Azure CycleCloud 是絕佳的解決方案,您可以隨即轉移部分內部部署 AI/HPC 工作負載,或建置新的環境。 不過,建置完整的端對端 AI/HPC 環境並不容易。 您必須決定如何設計您的網路、要作為共用檔案系統使用的儲存元件、要用於執行工作負載的 VM 類型,以及許多會讓您的專案複雜化的小細節。
適用於 Slurm 的 Azure CycleCloud 工作區為想要在 Azure 上執行 Slurm 工作負載的使用者提供數個優點,例如:
簡單且快速的叢集建立:您可以遵循 GUI 中的幾個簡單步驟,在 Azure 上建立 Slurm 叢集。 此程序比過去沒有適用於 Slurm 的 Azure CycleCloud 工作區時的數天或數週工作更快速。 您可以選擇各種 Azure 虛擬機 (VM) 大小和類型。 您可以自定義叢集設定,例如節點數目、網路設定、從 Azure NetApp Files 到 Azure 受控 Lustre 檔案系統的記憶體選項,以及 Slurm 參數。
彈性和動態叢集管理:Azure CycleCloud 會相應增加或減少 Slurm 叢集。 您可以監視叢集狀態、效能和使用率。 您可以在 GUI 中檢視叢集記錄和計量。 您也可以在不再需要 Slurm 叢集時刪除叢集,並只支付您使用的資源費用。
如何建立適用於 Slurm 的 Azure CycleCloud 工作區?
您可以從 Azure Marketplace 或使用 Azure CLI 部署適用於 Slurm 的 Azure CycleCloud 工作區。 若要從 Marketplace 部署,請搜尋 Slurm,然後選取 [ 建立]。 若要使用 Azure CLI 進行部署,您必須先建立輸入參數檔案,然後使用 命令進行部署 az deployment sub create 。 如需詳細指示,請參閱 如何使用 CLI 部署 CycleCloud Slurm 工作區環境。
適用於 Slurm 的 Azure CycleCloud 工作區不是什麽?
適用於 Slurm 的 Azure CycleCloud 工作區不是 PaaS 服務。 整個基礎結構會部署在您的租使用者中,這可讓您部署所有專案(綠地部署),或指定現有的資源重複使用(棕色地帶部署),例如目標資源群組、虛擬網路、Azure NetApp Files 等等。
適用於 Slurm 部署環境的 Azure CycleCloud 工作區看起來是什麼樣子
以下是適用於 Slurm 的 Azure CycleCloud 工作區部署的一般架構。 此架構包含必要資源,例如執行 CycleCloud 的虛擬機、使用者主目錄的共用文件系統,以及 CycleCloud 專案記憶體的記憶體帳戶。
適用於 Slurm 的 Azure CycleCloud 工作區可以部署虛擬網路,或者您可以使用現有的虛擬網路來建立資源。 您可以選擇性地在自己的子網中建立 Azure 受控 Lustre 文件系統。
如果貴公司安全性規則不允許公用 IP 位址 (且許多人不這麼做),您可以在中樞和支點模式中建立與現有虛擬網路對等互連的虛擬網路。 中樞包含所有連線服務,例如虛擬網路閘道或 Azure Bastion。
最後,在沒有公用IP且沒有 VPN 的環境中,您需要 Bastion。 Bastion 可讓您安全地存取 CycleCloud 入口網站,並可讓您使用 SSH 連線到驗證節點。