具備進階叢集管理功能的 HPC 叢集總覽

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

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

您可以使用 H4D 建立這些 HPC VM 叢集,方法是預留容量區塊,而不是個別資源。為叢集使用容量區塊可提升叢集管理功能

您可以建立具備或不具備強化叢集管理功能的 H4D 執行個體 HPC 叢集。如果您不需要 H4D HPC 叢集提供進階叢集管理功能,或是想使用 H4D 以外的機器系列建立 HPC 叢集,請按照下列操作說明建立 HPC 執行個體或叢集:

叢集術語

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

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

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

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

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

VM 和叢集建立的佈建模式

建立 VM 執行個體時,您可以使用「Compute Engine 執行個體佈建模型」一文所述的佈建模型。

如要建立緊密耦合的 H4D 執行個體,您必須使用下列其中一種佈建模型,取得建立運算執行個體所需的資源:

  • 預留型:您可以預留資源,並在未來指定日期和時間長度內以折扣價使用。在預留期間開始時,您可以使用預留資源建立 VM 或叢集。在預留期間,您可專屬存取預留資源。

  • 彈性啟動:您最多可要求七天的折扣資源。 Compute Engine 會盡力在您要求的資源可用時,立即安排資源佈建作業。在要求的期間內,您可專屬存取取得的資源。

  • Spot:您可以根據可用性,立即取得大幅折扣的資源。不過,Compute Engine 可能隨時會停止或刪除 VM 執行個體,以回收容量。

取決於預留項目的佈建模式

與預留項目綁定的佈建模式會將您建立的 VM 執行個體,連結至先前預留的容量。預留容量時,Compute Engine 會建立空白預留項目。接著,在預訂開始時間,系統會執行下列操作:

  • Compute Engine 會將預留資源新增至預留項目。在預留結束時間前,您可專屬使用預留容量。

  • Google Cloud 無論您是否使用預留容量,系統都會在預留期間結束前向您收取預留容量的費用。

接著,您就能使用預留資源建立 VM,不必支付額外費用。您只需要為預留項目未包含的資源付費,例如磁碟或 IP 位址。

您可以為任意數量的 VM 預留資源,預留時間長度不限,預留日期則可自訂。然後,您就可以使用預留資源建立及執行 VM,直到預留期限結束為止。如果您預留資源一年以上,則必須購買並附加以資源為準的承諾使用合約。

如要使用取決於預留項目的佈建模式佈建資源,請參閱:

如要搭配使用預留資源綁定佈建與 H4D 執行個體,請在建立個別 VM、HPC 叢集或 VM 群組時,指定預留資源綁定佈建模式。

彈性啟動佈建模式

如要執行需要密集分配資源的短期工作負載,可以使用彈性啟動功能,要求最多七天的運算資源。只要有可用資源,Compute Engine 就會建立您要求的 VM 數量。您可以停止獨立的彈性啟動 VM,但無法停止代管執行個體群組 (MIG) 透過大小調整要求建立的彈性啟動 VM。彈性啟動 VM 會持續存在,直到您刪除這些 VM,或 Compute Engine 在執行時間結束時刪除 VM 為止。

彈性啟動 VM 非常適合隨時可啟動的工作負載。彈性啟動佈建模式會從安全容量集區佈建資源,因此分配到的資源會密集分配,以盡量減少網路延遲。

使用大小調整要求將彈性啟動 VM 新增至代管執行個體群組 (MIG) 時,MIG 會一次建立所有 VM。這樣一來,您就不必等待 Compute Engine 提供啟動工作負載所需的完整容量,避免因部分容量而產生不必要的費用。

您可以使用任何可用的部署模式,搭配 H4D 執行個體使用彈性啟動佈建。

Spot 佈建模式

如要執行容錯工作負載,您可以根據可用性立即取得運算資源。以盡可能最低的價格取得資源。不過,Compute Engine 可能會隨時停止或刪除建立的 Spot VM,以回收容量。這項程序稱為「搶占」

Spot VM 非常適合可容許中斷的工作負載,例如:

  • 批次處理
  • 高效能運算 (HPC)
  • 資料分析
  • 持續整合與持續部署 (CI/CD)
  • 媒體編碼

除了 A4X、X4 和裸機機型,您可以使用任何機型的 Spot VM。密集分配取決於資源可用性。如要確保分配位置更接近,可以將密集配置政策套用至 Spot VM。

您可以使用 Spot VM 搭配下列密集部署選項:

選擇用量選項並取得容量

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

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

用量方案 容量區塊的未來預留項目 最多 90 天的未來預留項目 (日曆模式) 彈性啟動 Spot
工作負載特性 需要密集分配資源的大型分散式工作負載,且執行時間較長 需要密集分配資源的短期工作負載 需要密集分配資源的短期工作負載 容錯工作負載
效期 不限時間 最多 90 天 最多 7 天 隨時,但須遵守優先權
先占
容量保證 極高 極高 盡可能取得容量 盡可能取得容量
配額 建立執行個體前,請先確認配額是否足夠。 不會收取配額費用 系統會收取先占配額費用。 系統會收取先占配額費用。
定價
資源分配 密集 密集 密集 標準 (選用密集配置政策)
佈建模型 取決於預留項目 取決於預留項目 彈性啟動 Spot
建立方式

如要建立 HPC 叢集和 VM,請執行下列操作:

  1. 透過帳戶團隊預留容量
  2. 在您選擇的日期和時間,您可以使用預留容量建立 HPC 叢集。請參閱「選擇部署選項」。

如要建立 HPC 叢集和 VM,請執行下列操作:

  1. 在日曆模式中建立未來預留項目要求
  2. 在您選擇的日期和時間,您可以使用預留容量建立 HPC 叢集。請參閱「選擇部署選項」。

如要建立 VM,請選取下列任一選項:

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

您可以立即建立 VM。 請參閱「選擇部署選項」。

選擇部署選項

高效能運算 (HPC) 工作負載會匯總運算資源,以獲得比單一工作站、伺服器或電腦更高的效能。HPC 可用來解決學術研究、科學、設計、模擬和商業智慧中的問題。

如為具備進階叢集管理功能的高效能運算叢集,請選擇 H4D 系列機器。如果您打算使用其他機器系列,請參閱「建立適用於 HPC 的 VM 執行個體」一文,不要使用本頁列出的部署方法。

可用的部署選項包括安裝及設定自動化調度管理工具,以加強管理 HPC 叢集。

如要為您的用途建立最合適的 VM 或叢集,請選擇下列其中一個選項:

選項 用途
Cluster Toolkit

您想使用開放原始碼軟體,簡化部署 Slurm 和 Google Kubernetes Engine (GKE) 叢集的程序。Cluster Toolkit 的設計宗旨是提供高度可自訂性和擴充性。詳情請參閱下列資源:

GKE 您希望根據工作負載需求,盡可能彈性地設定 Google Kubernetes Engine 叢集。詳情請參閱使用 H4D 執行 HPC 工作負載
使用 Compute Engine

您想完全掌控基礎架構層,以便設定自己的協調器。詳情請參閱下列資源:

選擇作業系統映像檔

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

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

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

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

建立 HPC 叢集

檢閱叢集建立程序,並為工作負載做出初步決策後,請使用任何部署選項建立叢集。

HPC 叢集的進階叢集管理功能

使用「選擇部署選項」一節中提及的部署方法,以密集分配的資源建立 H4D 執行個體時,即可搭配執行個體使用強化型 HPC 叢集管理功能。

如要進一步瞭解這些功能,請參閱「使用 H4D 執行個體強化 HPC 叢集管理」。

後續步驟