什麼是DPU?

作者 NVIDIA

相信很多人對於 CPU (中央處理器)已經非常熟悉了。靈活、反應迅速的 CPU 多年來一直是大多數電腦中唯一的可編程元件。

近年來, GPU ( Graphis Processing Unit ,又稱為圖形處理器)逐漸成為了運算的中心。最初 GPU 是用來做功能強大的即時圖形處理,現在憑藉其優秀的平行處理能力,已經成為各種加速運算任務的理想選擇。

這使 GPU 成為了人工智慧、深度學習和大數據分析應用的關鍵。

過去十年中,運算已經不僅僅局限在個人電腦和伺服器內, CPU 和 GPU 已經被廣泛地用於各個新型超大規模資料中心

這些資料中心通過功能強大的新型處理器連接在一起, DPU ( Data Processing Unit ,資料處理器)已經成為了以數據為中心的加速運算模型的第三個運算單元。 NVIDIA 執行長黃仁勳在本月早些時候的一次演講中表示:「它將成為未來運算的三大支柱之一。」

「 CPU 用於通用運算, GPU 用於加速運算,而資料中心中傳輸數據的 DPU 則進行資料處理。」

什麼是DPU

資料處理器

根據行業標準,高效能及軟體可編程的多核 CPU
高效能網路介面
靈活、可編程的加速引擎

DPU有什麼與眾不同之處?

DPU 是一種新型可編程處理器,集三個關鍵要素於一身。 DPU 是一種 SOC ( System On Chip ,系統單晶片),它結合了:

行業標準的、高效能及軟體可編程的多核 CPU ,通常基於已應用廣泛的 Arm 架構,與其他的 SOC 組件密切配合。

高效能網路介面,能以線速或網路中的可用速度解析、處理數據,並有效率地將數據傳輸到 GPU 和 CPU 。

各種靈活和可編程的加速引擎, 為 AI 、機器學習、安全、電信和儲存等應用作業負載,並提升其性能。

所有這些 DPU 功能對於實現安全的、裸機的、原生雲端運算的下一代雲端大規模運算至關重要。

DPU:整合到SmartNIC

DPU 可以用作獨立的嵌入式處理器,但通常是被整合到SmartNIC(一種作為下一代伺服器中關鍵組件的網卡)中。

其他號稱 DPU 但卻無法完全支持這三項必備的關鍵功能的設備,也在試圖詮釋這個問題:什麼是 DPU?

DPUs, or data processing units, can be used as a stand-alone embedded processor, but they’re more often incorporated into a SmartNIC, a network interface controller that’s used as a key component in a next generation server.
DPU 可以用作獨立的嵌入式處理器,但通常被整合到 SmartNIC (一種作為下一代伺服器中關鍵組件的網卡)中。

例如某些供應商所使用的專用處理器無法用到廣泛的 Arm CPU 生態系統所提供的豐富的開發和應用環境。

還有些其他聲稱擁有 DPU 的廠商錯誤地將注意力只集中在使用嵌入式 CPU 來執行數據路徑處理。

DPU:專注於資料處理

如果想通過蠻力在性能上擊敗傳統的 x86 CPU ,結果註定會失敗,這樣做既沒有競爭力,也無法擴展。如果說一個 x86 CPU 尚且無法以每秒 100 Gbit 的速度處理數據包,如何能期望一個嵌入式 CPU 做到?

換個思路,如果網卡足夠強大和靈活,可以處理所有網路中的數據,而嵌入式 CPU 則被用來做控制路徑的初始化和異常情況處理,一切就都解決了。

網路數據路徑加速引擎至少需要具備下述 10 項功能:

  • 像 OVS (開放式虛擬交換機)一樣對數據包進行解析、配對和處理
  • 對 Zero Touch RoCE 的 RDMA 數據傳輸加速
  • 透過 GPU-Direct 加速器繞過 CPU ,將來自儲存和其他 GPU 的數據通過網路直接傳給 GPU
  • TCP 通信加速,包括 RSS 、 LRO 、 checksum 等操作
  • 網路虛擬化的 VXLAN 和 Geneve Overlay 作業負載和 VTEP 作業負載
  • 針對多媒體流、內容傳遞網路)和新的 4K / 8K IP 影片(如根據 ST 2110 規範的 RiverMax )的 「 Packet Pacing 」 流量整形加速
  • 電信 Cloud RAN 的精準時鐘加速器,例如 5T for 5G (精準時鐘調度 5 ​​ G 無線報文傳輸技術)功能
  • 在線 IPSEC 和 TLS 加密加速,但不影響其它正在運行的加速操作
  • 支援 SR-IOV 、 VirtIO 和 PV(Para-Virtualization)等虛擬化
  • 安全隔離:如信任根、安全啟動、安全韌體升級以及基於身份驗證的容器和應用的生命週期管理等

以上就是能對「什麼是 DPU 」這個問題回答 Yes 的至關重要的 10 個加速和硬體功能。

那麼究竟什麼是 DPU ?這就是一個 DPU :

What's a DPU? This is a DPU, also known as a Data Processing Unit.

許多所謂的 DPU 僅專注於提供上述功能中的一項或兩項。

最糟糕的嘗試是數據路徑作業負載到專有處理器。

雖然能做出原型,但是從資料中心的規模、範圍和廣度上來言,這一做法並不不明智。

DPU相關的其他資源