AI Hypercomputer 會使用特定網路服務,具體取決於您選擇的 GPU 機型。瞭解這些服務有助於提升效能和有效輸送量,也就是機器學習訓練工作實際的進度。
基礎架構網路
部署作業的網路架構取決於您選擇的基礎架構、一般 GPU 或叢集 GPU。
一般 GPU 適用的標準虛擬私有雲網路
一般 GPU 使用標準 Google Cloud虛擬私有雲網路。
- 架構:依賴標準的多租戶虛擬私有雲設計,用於推論、提供模型和探索性研究。
- 通訊協定:透過 Google Virtual NIC (gVNIC) 使用 TCP/IP。
叢集 GPU 的高效能結構
AI Hypercomputer 可協助您部署 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 | 可略過 CPU,在 GPU 和其他裝置間建立資料交換的直接路徑。對於 A4X Max 和 A4X 執行個體,這個網路堆疊會使用 RoCE。詳情請參閱「使用 GPUDirect RDMA 的叢集設定選項」。 | |
| GPUDirect-TCPXO | 透過卸載 TCP 通訊協定,改善 GPUDirect-TCPX。使用 GPUDirect-TCPXO 時,A3 Mega 機型的網路頻寬是 A3 High 的兩倍。如要瞭解如何在採用 GPUDirect-TCPXO 的 GKE 叢集上,盡量提高網路頻寬,請參閱「在標準模式叢集中盡量提高 GPU 網路頻寬」一文,然後選取「GPUDirect-TCPXO」分頁標籤。 | |
| GPUDirect-TCPX | 可讓資料封包酬載直接從 GPU 記憶體傳輸至網路介面,進而提升網路效能。如要瞭解如何盡量提高使用 GPUDirect-TCPX 的 GKE 叢集網路頻寬,請參閱「在標準模式叢集中盡量提高 GPU 網路頻寬」,然後選取「GPUDirect-TCPX」分頁標籤。 |
|
| 標準 TCP/IP | 一般 (標準) 工作負載的基準網路通訊協定。這項服務提供高可靠性,且與標準 VPC 服務廣泛相容。 |
|
主機和儲存空間資料層網路
多 GPU 執行個體需要不同的網路設定,才能與運算執行個體通訊,以及處理 GPU 對 GPU 的資訊。
另一個網路路徑 (有時也稱為南北向網路或前端網路) 會處理與運算執行個體的所有通訊。這類流量包括磁碟存取、VM 內部通訊、網際網路存取、Cloud Storage 存取、主機層級管理,以及與其他 Google Cloud服務的通訊。
為管理這類流量,GPU 機型會透過 Google Titanium NIC 使用 Google Virtual NIC (gVNIC) 設定。Titanium NIC 會卸載 CPU 的網路處理工作,藉此釋出 CPU,讓系統只需專注處理工作負載。這種分離方式可確保一般用途主機流量和專屬 GPU 對 GPU 流量使用不同的實體介面,避免爭用相同的系統資源。
多虛擬私有雲環境
所有工作負載都在 Google Cloud的虛擬私有雲 (VPC) 中運作。
高效能加速器機器的硬體設計經過特別調整,可使用多個實體網路介面處理不同類型的流量。無論您使用 Slurm、GKE 或 Compute Engine 執行工作負載,都需要多虛擬私有雲環境來處理這個專用硬體設計。
具體的多重虛擬私有雲設定取決於 GPU 機型及其網路堆疊:
A4X Max、A4X、A4 和 A3 Ultra (搭配 GPUDirect RDMA):這些機器由兩個實體 NIC 支援:一個支援一般用途流量,另一個支援 RDMA 流量。對應至一般用途實體 NIC (
nic0介面和額外網路介面) 的執行個體 vNIC 會連結至一般 VPC 網路。對應至支援 RDMA 的實體 NIC 的 RDMA vNIC 會附加至具有 RDMA 網路設定檔的獨立虛擬私有雲網路,以運用 GPUDirect RDMA。這些機型總共需要三個虛擬私有雲網路。如要瞭解如何設定這個網路基礎架構,請參閱「建立虛擬私有雲和子網路」。搭載 GPUDirect-TCPXO 的 A3 Mega:這些機器需要八個獨立的 VPC,用於 GPU NIC,專門用於高頻寬通訊。如需完成這項設定的詳細步驟,請參閱「建立虛擬私有雲和子網路」。
A3 High (搭配 GPUDirect-TCPX):這些機器需要四個獨立的虛擬私有雲,用於 GPU NIC,專門處理高頻寬通訊。如需完成這項設定的詳細步驟,請參閱「建立虛擬私有雲和子網路」。
這項多 VPC 設定可確保儲存空間作業和其他系統工作不會與重要的 GPU 對 GPU 通訊爭奪頻寬。
您需要設定的多重虛擬私有雲網路設定,會因 GPU 機型而異。如需所有支援的 GPU 機型適用的網路配置、頻寬速度和 NIC 詳細指南,請參閱「網路和 GPU 機器」。
下圖顯示叢集式 GPU 機器的網路架構,並強調一般用途流量和專屬 GPU 對 GPU 流量會分別進入不同的網路層。
如上圖所示,這些 GPU 機器會針對不同類型的流量使用專屬網路路徑。一般用途流量 (包括管理和儲存空間存取) 會透過連線至虛擬私有雲的 Google Titanium NIC 傳輸。高效能 GPU 對 GPU 通訊使用獨立的網路介面和虛擬私有雲,並透過 RDMA 等技術進行最佳化,確保 AI 和 ML 工作負載的高頻寬和低延遲。
網路資料庫和元件
如要盡量提高網路頻寬和效能,您可以使用下列網路程式庫和元件,搭配 Google 的網路堆疊使用 GPU:
- gVNIC:Google Virtual NIC (gVNIC) 是專為 Compute Engine 設計的虛擬網路介面。gVNIC 可提升效能、提高一致性,並協助減少鄰近干擾問題。建議在所有機器系列上使用 gVNIC,且 gVNIC 是主機對主機通訊的建議 vNIC。詳情請參閱「使用 Google Virtual NIC」。
- NCCL:NVIDIA Collective Communications Library (NCCL) 提供集體通訊作業的最佳化基元。NCCL 專為使用 NVIDIA GPU 和網路的多 GPU 和多節點環境設計,執行 NCCL 測試,評估已部署叢集的效能。詳情請參閱「測試網路效能」。
- GKE 多網路:Pod 支援多網路功能之後,您就能在 GKE 叢集的節點和 Pod 中啟用多個介面。如要瞭解如何設定 GPUDirect 的多網路功能,請參閱「在標準模式叢集中盡量提高 GPU 網路頻寬」和「使用 GPUDirect RDMA 的叢集設定選項」。
如要進一步瞭解可用的軟體堆疊,請參閱「OS and Docker images」(作業系統和 Docker 映像檔)。
後續步驟
- 如要瞭解如何保護部署作業,請參閱「使用服務帳戶的最佳做法」。
- 如要瞭解如何強化網路安全,請參閱虛擬私有雲防火牆規則。
- 如要進一步瞭解加速器連線,請參閱 GPU 網路總覽。