AI-RAN: DPU (Data Processing Unit) 與他的分類 (1)
由於近日工作有所插斷, 所以就來改看一些 DPU 的文章,
DPU (Data Processing Unit) 是 Nvidia 生態圈中比較不亮眼的一支,
但卻也是一個建構新型態運算的重要角色.
在 Nvidia 的新型態運算框架中,
主要的目標就是要從以 CPU 為主的計算架構, 改成以 GPU 為主的架構,
這其中有一個困難處, 就是計算透過網路平行化的效能,
為了處理大量的資料, 資料中心必須考慮多個節點的資料平行化,
這些平行運算的資料, 就需要透過網路在各節點中透過 CPU 處理並交換,
因此, 整體運算的瓶頸仍是在 CPU 的運算上.
為了打破這樣的架構, Nvidia 在 2019 年收購了 Mellanox,
並開始開發 DPU 的產品, 用意在直接串連 GPU 的運算算力,
提供資料中心以 GPU 為基礎的計算架構.
來自: https://docs.oracle.com/zh-tw/learn/gpudirect-rdma-ib-write-bw/index.html#introduction
Nvidia 使用 RDMA (Remote Direct Memory Access, RDMA) 技術來串聯 GPU,
並透過 DPU 與 GPU 之間的 PCIe 匯流技術 (Direct Memory Access, DMA),
繞開 CPU 端到端間的存取, 讓不同節點上的 GPU 可以進行資料交換,
進而提供跨節點的 GPU 平行化計算框架.
和發展 CUDA 的策略類似, Nvidia 也希望發展 DPU 的環境形成業界標準.
相對於 CUDA 主要為 CPU 的核心平行化,
DPU 這邊的環境稱為: DOCA (Data-Center-Infrastructure-On-A-Chip Architecture),
我們以上圖作為參考的實作框架, 左邊為 GPU 右邊為 DPU, 兩者透過 CUDA 協作,
在 DPU 的框架中, 我們看到有一個 DOCA Runtime,
運作在 DPU 上的計算單元中 (通常是 ARM-based CPU), 接取來自 CUDA 的指令,
提供 GPU 平行計算所需的資料流交換.
留言
張貼留言