Google Kubernetes Engine (GKE) 提供高效能、可擴充的平台,適用於高效能運算 (HPC) 工作負載。如要達到高效能和作業效率,可以使用 GKE 提供的基礎架構 (例如 HPC 專用 VM 家族),針對工作負載進行最佳化。這份文件列出管理基礎架構和工作負載的最佳做法,協助您在 GKE 上執行 HPC 應用程式時,達到最佳成本效益。
如需所有 GKE 最佳做法的整合總覽,請參閱「GKE 最佳做法」。基礎架構和節點設定
本節說明如何設定基礎架構和 GKE 節點,以支援 HPC 工作負載的最佳做法。
選擇 H4D VM,處理耗用大量運算資源的工作負載
為應用程式選取合適的硬體。H4D VM 旨在盡量提高處理量,以因應運算密集型 HPC 應用程式的需求。H4D VM 提供高效能、低成本,以及多節點工作負載的擴充性。H4D 屬於運算最佳化機器系列,提供運算最佳化執行個體,非常適合用於耗用大量運算資源和 HPC 的工作負載。
如要進一步瞭解 H4D 機器系列,請參閱「運算最佳化機器家族:H4D 機器系列」。
如需建立 HPC 最佳化 GKE 叢集的說明,請參閱「使用 H4D 執行高效能運算工作負載」。
將可分配的節點資源納入考量
瞭解節點的總資源容量與可分配給工作負載的資源之間的差異。GKE 節點會執行系統元件 (例如 kubelet 和容器執行階段),這些元件需要資源才能運作。GKE 會預先保留一定數量的資源,供系統功能和節點可靠性使用。瞭解工作負載的實際資源分配量 (VM 大小減去 GKE 保留的容量),有助於為 HPC 工作負載適當調整資源要求大小。
詳情請參閱下列資源:
- GKE 說明文件:規劃節點大小:檢查節點上的可分配資源。
- Kubernetes 說明文件:為系統 Daemon 保留運算資源。
預留核心,減少搶占情況
如果工作負載使用節點上所有可用的實體核心,可能會與對延遲時間敏感的系統 Daemon 競爭。這種爭用可能會導致頻繁的搶占,也就是 OS 排程器會中斷 HPC 工作負載來執行系統工作,進而降低效能。
為維持效能,請避免將所有可用的 CPU 分配給工作負載。基本系統程序需要少量 CPU 負荷才能正常運作。如果將 100% 的運算容量分配給工作負載,會與這些系統元件產生資源爭用,進而導致效能降低。舉例來說,如要維持 H4D 機型效能,請將工作負載設定為使用少於 192 個 CPU。
叢集和工作負載設定
本節說明設定 GKE 叢集和部署 HPC 工作負載的最佳做法。
使用 Cluster Toolkit 建立叢集
使用 Cluster Toolkit,簡化在 GKE 上部署及管理 HPC 工作負載的作業。這個工具包提供參考設計藍圖,其中納入在高效率環境中設定運算、儲存空間和網路資源的最佳做法。
如要瞭解如何使用 Cluster Toolkit 建立 H4D 叢集,請參閱「使用 H4D 執行高效能運算工作負載」。
使用彈性啟動管理容量
對於用量飆升 (動態) 或時間不敏感的 HPC 工作負載,如果 H4D 隨選或預留容量無法使用,請使用彈性啟動功能來強化容量管理。彈性啟動會管理 H4D 節點的生命週期,並協助解決突發或有時效性的資源需求。
詳情請參閱「使用彈性啟動建立 H4D 叢集」。
將密集配置政策用於緊耦合的工作負載
針對容易受到延遲時間影響的緊耦合 HPC 工作負載,導入密集配置政策。這項政策可確保所有 Pod 都在主機上彼此靠近佈建。這項設定可將節點間的網路延遲降至最低,對於依賴節點間通訊的應用程式而言至關重要。
如要使用 gcloud CLI 建立 H4D 叢集 (如「使用 H4D 執行高效能運算工作負載」一文所述),GKE 會自動設定密集配置政策。如果您使用 Cluster Toolkit,系統也會自動設定這項政策。如要手動為其他節點類型設定緊密放置,請參閱為 GKE 節點定義緊密放置。
設定適當的資源要求
在調整 HPC 工作大小之前,請先檢查節點上實際可分配的 CPU。使用 kubectl get node 指令查看可分配的資源。確認作業的 CPU 需求量未超過 GKE 系統預留量,以及 GKE 可用的 CPU 數量。
GKE 提供多項功能,可協助您分析及自動調整資源要求。如要瞭解詳情,請先參閱「找出資源配置不足和過多的工作負載」。
將整個節點專用於單一工作負載
設定 MPI 工作,佔用整個 H4D 節點。H4D 執行個體會以全主機 VM 的形式佈建。這項策略會保留節點的大部分容量,確保工作負載隔離。使用容器資源要求或 Pod 反相依性,確保副本不會落在同一個實體節點上。
為 H4D VM 啟用 Cloud RDMA,享受高速網路
如果您使用 H4D VM,請設定部署資訊清單,為 Pod 啟用 Cloud RDMA。這項設定可確保高速 RDMA 網路介面正確公開給容器化工作負載。如需操作說明,請參閱「設定 RDMA 的資訊清單」。
最佳做法摘要
下表摘要說明本文建議的最佳做法:
| 主題 | 工作 |
|---|---|
| 基礎架構和節點設定 | 選擇 H4D VM,處理耗用大量運算資源的工作負載 |
| 基礎架構和節點設定 | 將可分配的節點資源納入考量 |
| 基礎架構和節點設定 | 預留核心,減少搶占情況 |
| 叢集和工作負載設定 | 使用 Cluster Toolkit 建立叢集 |
| 叢集和工作負載設定 | 使用彈性啟動管理容量 |
| 叢集和工作負載設定 | 將密集配置政策用於緊耦合的工作負載 |
| 叢集和工作負載設定 | 設定適當的資源要求 |
| 叢集和工作負載設定 | 將整個節點專用於單一工作負載 |
| 叢集和工作負載設定 | 為 H4D VM 啟用 Cloud RDMA,享受高速網路 |