AI-RAN: DPU (Data Processing Unit) 與他的分類 (2)

最近實在是太忙碌了, 以致 2 月的第二篇拖到現在才寫,
原本是想說, 也該找時間回補一篇文章, 達成一個月兩篇的自我承諾,
不過看了看自己的行事曆, 還是不要把承諾給得太輕易好了...

回歸正題, 在上一篇文章中, 我們介紹了 DPU 以及 DOCA 的源起,
接著, 我想我們就從 DPU 的架構來說明, 這樣的功能如何實現,
在開始討論以前, 我想先談談兩個我之淺搞混的產品:
  1. ConnectX: 本質上還是 NIC, 但具備硬體卸載 (offload) 能力來減少 CPU 負擔
  2. BlueField: 這個才是 DPU, 具備 ARM CPU 獨立晶片, 也是我們討論的目標
針對 Nvidia CuRAN 的功能, 以上兩者皆能支援,
若以實作上的功能簡單化來說, 使用 ConnectX 可能可以少走一些路.

那我們就從 DPU 的架構開始吧:

看到這張圖, 就代表我們要先對其中專有名詞說文解字一下:
  • Rhsim 是 BlueField DPU 的模擬環境,允許在同一台 BlueField DPU 上同時運行 Host 和 DPU 環境,以測試 DPU 處理流量的能力 (這個我們之後再介紹)
  • ConnectX Port 指的是 NVIDIA ConnectX 系列網路介面卡 (NIC) 的網路埠 (Port),這些埠可用於各種高速網路通訊, 例如: Ethernet、InfiniBand、RDMA
  • RDMA (Remote Direct Memory Access) 允許伺服器之間直接存取彼此的記憶體,而不經過 CPU 處理
在上圖中, 我們可以看到 DPU 基本上就是 ConnectX 網卡和 ARM CPU 的組合,
這裡增加的 ARM CPU 一方面提供一個簡單的作業系統 (BlueField OS),
另一方面, 也可以透過此作業系統上的 OpneVSwith 提供 SDN (Software Define Network) 功能.


在上圖中, 我們可以看到 DPU 可以分成三個部件:
  • CPU subsystem: 基於 ARM CPU 提供一個作業系統, 用以提供資料交換的 Control Plane
  • NIC subsystem: 本身自帶有一個 RTOS, 提供資料交換的資料流服務
  • PCIe subsystem: 和 host 主機上元件 (GPU/SSD) 串聯, 介接其他裝置
基於上述的系統介面, 當一個封包進入 DPU 時, 路徑頗為複雜, 如下圖所示:


可以看到, 雖然主機 (host) 仍是資料流的終端,
但是, 資料的路經都會通過 DPU 上的 ARM-based 系統,
此時, ConnectX 網卡的掌控權主要在 DPU 上的 BlueField OS,
主機只能有限的透過 BlueField OS 存取網卡.
在此模式下, DPU 等於掌握了資料中心中的網路資料流,
可以提供較安全的網路設定, 以及對應的拓譜變化,
以達成 Nvidia 對於以 GPU 為資料中心計算核心的資料交換服務.


留言

熱門文章

LTE筆記: RSRP, RSSI and RSRQ

[WiFi] WiFi 網路的識別: BSS, ESS, SSID, ESSID, BSSID

LTE筆記: 5G NR Measurement Events