?老黃連續三年都提,這DPU是什么風口之物?

閱讀 ?·? 發布日期 2022-04-07 15:39 ?·? admin

有心的朋友可能都注意到,連續三年黃仁勛在NVIDIA的GTC等發布活動上,都提出了發展DPU以促進邊緣計算等發展的言論。今年最新的NVIDIA發布會,除了3090Ti外,就是新的DPU發展計劃。自CPU、GPU后,DPU再次登臺而且成為了新的“風口”。那么,它究竟是什么,吸引了從Intel到NVIDIA等傳統巨頭都紛紛投入?

 

圖片

 

整合舊的處理單元,專注處理數據

 
 

 

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

 

近年來,GPU(圖形處理單元)逐漸成為了計算的中心。最初GPU是用來做功能強大的實時圖形處理,現在憑借其優秀的并行處理能力,已經成為各種加速計算任務的理想選擇。

 

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

 

過去十年中,計算已經不僅僅局限在個人電腦和服務器內,CPU和GPU已經被廣泛地用于各個新型超大規模數據中心。

 

這些數據中心通過功能強大的新型處理器連接在一起,DPU( Data Processing Unit ,數據處理器)已經成為了以數據為中心的加速計算模型的第三個計算單元。NVIDIA首席執行官黃仁勛在一次演講中表示:“它將成為未來計算的三大支柱之一。”

 

“CPU用于通用計算,GPU用于加速計算,而數據中心中傳輸數據的DPU則進行數據處理。”

 

DPU是一種基于行業標準,高性能及軟件可編程的多核CPU,核心是具有高性能網絡接口、靈活、可編程的加速引擎,滿足特定場景的計算需求。

 

圖片

 

DPU出現,因為CPU和GPU接近極限

 
 

 

從x86 CPU,到移動互聯網時代的ARM CPU,構成了傳統IT的硬件設備核心。隨著區塊鏈和3D、AI人工智能技術的發展,GPU又成為了計算能力的新規。然而到了萬物互聯的元宇宙時代,人們突然發現一個重要的問題:

 

無論是CPU還是GPU,它們的性能快不夠用了。

 

圖片

1990年到2020年,萬物互聯(網絡)速度核CPU速度增長的對比

 

CPU幾乎快要觸及半導體原料的物理效應極限,人類沖擊2nm以下的工藝制程困難重重。GPU雖然憑借可接受的更大芯片體積以及并行化處理,還能通過堆疊的方式繼續沖擊性能,但是功耗已經大大提高到和節能環保背離,40系顯卡需要千瓦級電源就是最好的個案。

 

傳統提升CPU和GPU算力的主要途徑,就是堆料,說白了就是不斷增加內核的數量。CPU從最初的單核、到雙核、四核,再到現在夸張的128核,這種簡單粗暴的堆料方法已經走到了盡頭:功耗的限制讓傳統制程和架構的提高有了極限。

 

芯片上的內核就像大樓的房間,當大樓總表的電力有限的時候,這些房間的電器不能同時開啟,因此即便房間很多,能用起來的并不多,這就是12代酷睿為何發展出P、E核,ARM為啥從六七代開始就有了大小核之分的原因。

 

單個芯片的功耗并不能無限制增加,所以即便堆了很多內核,它們也無法同時高效工作,這就造成了CPU的性能瓶頸。

 

DPU領跑“領域架構”

 
 

 

領域專用架構(Domain Specific Architecture),也稱作DSA。DPU就是其中的代表,其核心思想,是針對特定領域做芯片架構的優化,從而實現性能和功效的雙重提升。

 

DPU正是通過架構優化、場景優化、軟件優化,完成了在數據中心場景里,傳統CPU已經無力估計的眾多方面。

 

DPU本身是一種SOC(System On Chip,片上系統)芯片,它結合了:

 

行業標準的、高性能及軟件可編程的多核CPU

通常基于已應用廣泛的Arm架構,與其的SOC組件密切配合。例如NVIDIA的BlueField-3里有16個ARM A78內核,8MB L2、16MB L3 Cache。它還支持可編程的數據通路,包含16個內核、256線程。

 

高性能網絡接口,能以線速或網絡中的可用速度解析、處理數據,并高效地將數據傳輸到GPU和CPU。

以NVIDIA的DPU為例,從BlueField-2的200Gbps以太網或InfiniBand、PCIe Gen4x16支持,到BlueField-3的400Gbps以太網、PCIe Gen5x32支持,核心都是幾何級提高芯片的網絡核數據總線速度,提高數據處理效率。

 

各種靈活和可編程的加速引擎,可以卸載AI、機器學習、安全、電信和存儲等應用,并提升性能。

DPU在芯片架構上進行了領域專用優化,比如BlueField里就集成了很多專用的硬件加速器,比如對Virtio、NVMe、IPSec等等數據中心常見協議的硬件模塊。原本這些協議都是使用CPU執行開發者代碼實現,現在直接通過DPU就可以用硬件實現了,就像硬件解碼一樣,效率大大提升。

所有這些DPU功能對于實現安全的、裸性能的、原生云計算的下一代云上大規模計算至關重要。

 

是網卡,更是DPU

 
 

 

來看看一個簡單的DPU單元,所謂的smartNIC。

 

圖片

 

DPU可以用作獨立的嵌入式處理器,但通常是被集成到SmartNIC(一種作為下一代服務器中關鍵組件的網卡)中。上圖就是一張采用NVIDIA的BludField-2 DPU的SmartNIC。

 

為什么DPU采用SmartNIC的形態呢?

 

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

 

圖片

某DPU系統通過內建的高速數據總線核模塊,同時處理多路NVME SSD數據,實現高達1500萬IOPS的4K讀取性能

 

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

 

圖片

DPU如果專注處理海量特定數據,那么CPU方面就可以專注實用虛擬機等技術給用戶提供更好體驗

 

這就是DSA領域專用架構帶來的DPU思想的精髓。根據具體的應用領域進行優化,幫傳統CPU減負,任何可以不需要在CPU上運行的任務,都放在DPU上執行。

 

DPU興起,就是因為它解決了現代數據中心里CPU解決不了的一系列難題,實現了架構優化、場景優化、軟件優化。

為您推薦