建立 HPC 叢集總覽


如要為跨多個節點擴充的緊密耦合應用程式建立基礎架構,可以建立虛擬機器 (VM) 執行個體叢集。本指南將概要說明重要考量事項和步驟,協助您設定虛擬機器 (VM) 執行個體叢集,透過密集資源分配執行高效能運算 (HPC) 工作負載。

Compute Engine 提供多種方式,可建立大量連線至相同網路的 VM 執行個體,但不需要密集分配資源。舉例來說,您可以採用下列任一方法,這些方法在 Compute Engine 文件的其他位置都有說明:

您也可以建立指令碼,其中包含建立個別執行個體的指令,並將緊密放置群組政策與執行個體建立關聯,以減少延遲。

透過 H4D (搶先版),Compute Engine 可將整個 VM 執行個體叢集視為單一電腦,支援執行大量 HPC 工作負載。使用 VM 的拓撲感知配置,即可存取單一網路超級區塊中的許多執行個體,並將網路延遲時間降到最低。您也可以在這些執行個體上設定 Cloud RDMA,盡量提升節點間的通訊效能,這對於緊密耦合的 HPC 工作負載至關重要。

您可以使用 H4D 建立這些 HPC VM 叢集,方法是預留容量區塊,而非個別資源。為叢集使用容量區塊可提供下列額外功能,方便您部署及管理這些大規模環境:

  • 拓撲感知 VM 執行個體放置位置
  • 先進的預訂系統,確保並管理容量
  • 專為大型且相互依存的 VM 執行個體集設計的強化型代管執行個體群組 (MIG)。
  • 進階維護排程和控制項可讓您進一步控管 VM 執行個體的維護時間和方式,這對長時間執行且容易受到干擾的工作負載至關重要。包括客戶觸發的維護作業,以及資源區塊的群組維護作業。

叢集術語

處理容量區塊時,會用到下列詞彙:

方塊
多個子區塊會透過無阻斷結構互連,提供高頻寬互連。區塊內的任何 CPU 最多只能透過兩個網路躍點連線。系統會向協調器公開區塊和子區塊中繼資料,以利最佳化工作放置位置。
叢集
多個區塊互連形成叢集,可擴充至數千個 CPU,執行大規模 HPC 工作負載。每個叢集都是全域專屬。不同區塊之間的通訊只會增加一個額外躍點,即使在大規模作業中,也能維持高效能和可預測性。叢集層級的中繼資料也可供協調器使用,以進行大規模的智慧型工作放置作業。
密集部署
資源要求:分配的加速器資源在實體上彼此靠近,可盡量減少網路躍點,並將延遲時間降到最低。
網路架構
網路架構可在叢集中的所有區塊和 Google Cloud 服務之間,提供高頻寬、低延遲的連線。Jupiter 是 Google 的資料中心網路架構,運用軟體定義網路和光纖電路交換器,演進網路並提升效能。
節點或主機
資料中心內的單一實體伺服器機器。 每個主機都有相關聯的運算資源,包括 CPU、記憶體和網路介面。這些運算資源的數量和設定取決於機器系列。VM 執行個體是在實體主機上佈建。
自動調度管理工具
協調器會自動管理叢集。有了協調器,您就不必管理叢集中的每個 VM 執行個體。Slurm 或 Google Kubernetes Engine (GKE) 等調度器會處理工作排隊、資源分配、自動調度 (使用 GKE 時) 等工作,以及其他日常叢集管理工作。
子區塊
這些是基礎單元,其中一組主機實際共用一個機架。機架頂端 (ToR) 交換器會連線至這些主機,讓子區塊內的任意兩個 CPU 之間,都能進行極有效率的單一躍點通訊。Cloud RDMA 可促進這類直接通訊。

使用 H4D VM 建立叢集的程序總覽

如要在預留容量區塊上建立 HPC 叢集,請完成下列步驟:

  1. 選擇用量模式並取得容量
  2. 選擇部署選項和協調器
  3. 選擇作業系統或叢集映像檔
  4. 建立叢集

選擇用量模式並取得容量

消費選項會決定叢集取得資源的方式。如要建立具有進階管理功能的叢集,您必須為密集部署要求容量區塊。

下表摘要列出容量區塊的用量選項主要差異:

用量方案 容量區塊的未來預留項目 彈性啟動 (預覽版)
工作負載特性 需要密集分配資源的大型分散式長時間工作負載 需要密集分配資源的短期工作負載
效期 不限時間 最多 7 天
先占
配額 建立執行個體前,請先確認配額是否足夠。 系統會收取先占配額費用。
定價
資源分配 密集 密集
佈建模型 取決於預留項目 彈性啟動 (預覽版)
建立方式 如要建立 HPC 叢集和 VM,請執行下列操作:
  1. 聯絡帳戶團隊預留容量。
  2. 在您選擇的日期和時間,您可以使用預留容量建立 HPC 叢集。請參閱「選擇部署選項」。
如要建立 VM,請選取下列其中一個選項:

當您要求的容量可用時,Compute Engine 就會佈建該容量。

選擇部署選項

視叢集部署作業的控管層級需求而定,您可以選擇高度受管理或較不受管理的部署作業,以便進一步控管基礎架構。可用的部署選項包括安裝及設定協調器,以加強管理 HPC 叢集。

高度管理

如要讓 Google 部署及設定基礎架構,請使用 Cluster Toolkit 或 Google Kubernetes Engine (GKE)。

  • Cluster Toolkit:Google 提供的開放原始碼工具,可簡化使用 Slurm 或 GKE 的叢集設定和部署作業。您可以使用預先定義的藍圖,建構以藍圖為基礎的部署資料夾。您可以修改藍圖或部署資料夾,自訂部署作業和軟體堆疊。接著,您可以使用 Terraform 或 Packer 執行 Cluster Toolkit 產生的指令,部署叢集。

    如需這個部署方法的教學課程,請參閱「建立啟用 RDMA 的 HPC Slurm 叢集」。

  • GKE:代管式 Kubernetes 服務和開放原始碼容器自動化調度管理平台。GKE 提供自動調整資源配置和高可用性等功能。這些功能讓 GKE 非常適合部署及管理 HPC 工作負載,包括自動化調度管理容器化應用程式、支援特殊硬體,以及與 Google Cloud 生態系統相容。您可以直接使用 GKE 或 Cluster Toolkit 部署 GKE 叢集。您可以選擇 Google Kubernetes Engine (GKE) Standard 版或 Autopilot。

    如要進一步瞭解這項部署方法,請參閱「使用 H4D 執行 HPC 工作負載」。

減少管理工作,控管更全面

如要更精細地控管叢集和叢集上安裝的軟體,請使用下列任一方法建立 Compute Engine 叢集:

如果您想使用 Slurm 或 GKE 以外的協調器,可以採用這些方法。建立 VM 後,請在 VM 上手動安裝 HPC 工作負載所需的任何重要軟體。您也可以使用開機指令碼,在 VM 啟動時自動檢查軟體安裝作業,並視需要安裝軟體。

選擇作業系統映像檔

您選擇的作業系統 (OS) 映像檔取決於用於部署叢集的服務。

  • 適用於 GKE 叢集:使用 GKE 節點映像檔,例如 Container-Optimized OS。如果您使用 Cluster Toolkit 部署 GKE 叢集,系統預設會使用容器最佳化作業系統映像檔。如要進一步瞭解節點映像檔,請參閱 GKE 說明文件中的「節點映像檔」。

  • Compute Engine 上的叢集:您可以使用下列其中一個映像檔:

  • 適用於 Slurm 叢集:Cluster Toolkit 會部署 Slurm 叢集,並使用以 Rocky Linux 8 為基礎的 HPC VM 映像檔,針對緊密耦合的 HPC 工作負載進行最佳化。

建立 HPC 叢集

檢視叢集建立程序並為工作負載做出初步決定後,請使用下列任一選項建立叢集:

後續步驟