AI Hypercomputer 會根據您選擇的 GPU 機型,使用特定的網路服務。瞭解這些服務,有助於提升效能和有效輸送量 (即機器學習訓練工作的有效進度)。
依基礎架構劃分的網路
部署作業的網路架構取決於您選擇的基礎架構,包括一般 GPU 或叢集式 GPU。
一般 GPU 適用的標準虛擬私有雲網路
一般 GPU 使用標準 Google Cloud虛擬私有雲網路。
- 架構:採用標準的多租戶虛擬私有雲設計,用於推論、提供模型和探索研究。
- 通訊協定:透過 Google 虛擬 NIC (gVNIC) 使用 TCP/IP。
叢集式 GPU 的高效能網路
AI Hypercomputer 可協助您部署採用階層式、符合軌道 (rail-aligned) 網路架構的 GPU 機器。這種設計提供可預測的高效能連線能力,能盡量降低通訊負擔,讓 GPU 有更多時間進行運算,而非等待資料,進而直接提高有效處理量。
叢集式 GPU 的符合軌道排列方式包含三個元件:
- 子模塊:實體位於同一模塊上的主機群組。機架頂端 (ToR) 交換器會連結這些主機,在子區塊中的任意兩個 GPU 之間,提供極高效率的單一躍點通訊。基於融合乙太網路的 RDMA (RoCE) 可促進這類直接通訊。強化版 NCCL 程式庫已針對 Google 的符合軌道拓撲調整,可處理 GPU 通訊集體。
- 模塊:由多個子模塊組成,透過非阻塞的高速網路互連,提供高頻寬。在非模塊架構中,最多只需兩個網路躍點,就能觸及模塊中的任何 GPU,系統會公開模塊和子模塊的中繼資料,以實現最佳工作分配。
- 叢集:一組相互連結的模塊,可擴充至數千個 GPU,讓您執行大規模訓練工作負載。不同模塊之間的通訊僅會額外增加一個躍點,即使規模龐大,也能維持高效能和可預測性。為了實現智慧型、大規模的工作分配,自動調度管理工具也可使用叢集層級的中繼資料。
GPU 對 GPU 通訊技術
GPU 機器結合多項技術,可為工作負載提供高效能、高處理量和低延遲。這些技術包括基於融合乙太網路的 RDMA (RoCE)、NVIDIA NIC,以及 Google 的全資料中心符合軌道的網路拓撲。
NVIDIA 的 NVLink 技術可在每部機器的 NVIDIA NIC 之間,建立超高速直接資料路徑。此外,RoCE 可在不同機器的 GPU 之間高效率通訊。
GPU 網路堆疊
網路堆疊是一組軟體通訊協定、驅動程式和層,可共同輔助 GPU 對 GPU 通訊。不同 GPU 機型使用的網路堆疊也不同。下表定義了網路堆疊和相關聯的機器類型:
| 網路堆疊 | 說明 | GPU 機型 |
|---|---|---|
| GPUDirect RDMA | 在 GPU 和其他裝置之間建立資料交換的直接路徑。如果是 A5X、A4X Max 和 A4X 執行個體,這個網路堆疊會使用 RoCE。詳情請參閱「GPUDirect RDMA 的叢集設定選項」。 | |
| GPUDirect-TCPXO | 透過卸載 TCP 通訊協定,改善 GPUDirect-TCPX。A3 Mega 機型採用 GPUDirect-TCPXO,網路頻寬是 A3 High 的兩倍。如要瞭解如何在使用 GPUDirect-TCPXO 的 GKE 叢集上,盡可能提高網路頻寬,請參閱「在標準模式叢集中盡可能提高 GPU 網路頻寬」,然後選取「GPUDirect-TCPXO」分頁標籤。 | |
| GPUDirect-TCPX | 允許資料封包酬載直接從 GPU 記憶體傳輸至網路介面,藉此提升網路效能。如要瞭解如何在使用 GPUDirect-TCPX 的 GKE 叢集上盡可能提高網路頻寬,請參閱「在 Standard 模式叢集盡可能提高 GPU 網路頻寬」,並選取「GPUDirect-TCPX」分頁標籤。 |
|
| 標準 TCP/IP | 一般 (標準) 工作負載的基準網路通訊協定。這項服務提供高可靠性,並與標準虛擬私有雲服務廣泛相容。 |
|
主機和儲存空間資料層網路
多 GPU 執行個體需要不同的網路設定,才能與運算執行個體通訊,以及處理 GPU 對 GPU 的資訊。
與運算執行個體的所有通訊,則由獨立網路路徑 (有時也稱為南北網路或前端網路) 處理。這類流量包括磁碟存取、VM 內部通訊、網路連線能力、Cloud Storage 存取、主機層級管理,以及與其他 Google Cloud服務的通訊。
為管理這類流量,GPU 機型會使用 Google 虛擬 NIC (gVNIC),或在 A5X 和 A4X Max 裸機執行個體上,透過 Google Titanium NIC 使用 Intel Infrastructure Data Path Function (IDPF) 網路介面。Titanium NIC 可卸載 CPU 的網路處理工作,釋出 CPU 資源,讓系統專注處理工作負載。這種區隔方式可確保一般用途主機流量和專用 GPU 對 GPU 流量使用不同的實體介面,避免競爭相同的系統資源。
多虛擬私有雲環境
所有工作負載都在 Google Cloud的虛擬私有雲 (VPC) 中運作。
高效能加速器機器採用專用硬體設計,使用多個實體網路介面處理不同類型的流量。無論您是使用 Slurm、GKE 還是 Compute Engine 執行工作負載,都必須在多虛擬私有雲環境中處理這個專用硬體設計。
具體的多重虛擬私有雲設定取決於 GPU 機型及其網路堆疊:
配備 GPUDirect RDMA 的 A5X、A4X Max、A4X、A4 和 A3 Ultra:這些機器由兩種實體 NIC 支援:一種支援一般用途流量,另一種支援 RDMA 流量。對應至一般用途實體 NIC 的網路介面 (
nic0介面和額外的網路介面) 會連結至一般虛擬私有雲網路。對應至支援 RDMA 的實體 NIC 的 RDMA 網路介面,會附加至具有 RDMA 網路設定檔的獨立虛擬私有雲網路,以便使用 GPUDirect RDMA。這些機型最多會使用三個虛擬私有雲網路。在單一子區塊中部署 A5X、A4X Max 和 A4X 時,多節點 NVLink 網路架構會處理 GPU 對 GPU 通訊,因此 RDMA 虛擬私有雲網路為選用。如要瞭解如何設定這項網路基礎架構,請參閱「建立虛擬私有雲和子網路」。採用 GPUDirect-TCPXO 的 A3 Mega:這些機器需要八個獨立的虛擬私有雲,用於專門處理高頻寬通訊的 GPU NIC。如要瞭解完成這項設定的詳細步驟,請參閱「建立虛擬私有雲和子網路」。
採用 GPUDirect-TCPX 的 A3 High:這些機器需要四個獨立的虛擬私有雲,用於專門處理高頻寬通訊的 GPU NIC。如要瞭解完成這項設定的詳細步驟,請參閱「建立虛擬私有雲和子網路」。
這項多重虛擬私有雲設定可確保儲存空間作業和其他系統工作,不會與重要的 GPU 對 GPU 通訊競爭頻寬。
您需要設定的多重虛擬私有雲網路,會因 GPU 機型而異。如需所有支援 GPU 機型的網路安排、頻寬速度和 NIC 詳細指南,請參閱「網路和 GPU 機器」。
下圖顯示叢集式 GPU 機器的網路架構,並醒目顯示一般用途流量和專屬 GPU 對 GPU 流量在不同網路層的分隔。
如上圖所示,這些 GPU 機器會針對不同類型的流量使用專屬網路路徑。一般用途流量 (包括管理和儲存空間存取) 會透過連至虛擬私有雲的 Google Titanium NIC 傳輸。高效能 GPU 對 GPU 通訊使用獨立的網路介面和虛擬私有雲,並透過 RDMA 等技術最佳化,確保 AI 和機器學習工作負載享有高頻寬和低延遲。
網路資料庫和元件
如要盡量提高網路頻寬和效能,下列網路程式庫和元件可讓您搭配使用 GPU 和 Google 的網路堆疊:
- gVNIC:Google Virtual NIC (gVNIC) 是專為 Compute Engine 設計的虛擬網路介面。gVNIC 可提升效能、提高一致性,並有助於減少吵雜鄰居問題。建議在所有機器系列上使用 gVNIC,且 gVNIC 是主機對主機通訊的建議 vNIC。詳情請參閱「使用 Google 虛擬 NIC」。
- NCCL:NVIDIA Collective Communications Library (NCCL) 為集體通訊作業提供最佳化基元。NCCL 專為使用 NVIDIA GPU 和網路的多 GPU 和多節點環境設計。執行 NCCL 測試,評估已部署叢集的效能。詳情請參閱「測試網路效能」。
- GKE 多網路:Pod 支援多網路功能,可在 GKE 叢集的節點和 Pod 上啟用多個介面。如要瞭解如何在 GPUDirect 的情境中設定多網路功能,請參閱「在標準模式叢集中盡可能提高 GPU 網路頻寬」和「使用 GPUDirect RDMA 的叢集設定選項」。
如要進一步瞭解可用的軟體堆疊,請參閱「OS 和 Docker 映像檔」。
後續步驟
- 如要瞭解如何保護部署作業,請參閱「使用服務帳戶的最佳做法」。
- 如要瞭解如何強化網路,請參閱「虛擬私有雲防火牆規則」。
- 如要進一步瞭解加速晶片連線能力,請參閱「GPU 網路總覽」。