CPU和GPU廣泛應用于數據中心,它們非常昂貴,需要消耗大量電力,有時卻被要求處理一些并不擅長的工作。
工欲善其事必先利其器,如果把CPU、GPU和DPU看成工具,使用CPU和GPU處理數據,就好比殺雞用牛刀,而DPU這個新工具可以大大節省技術人員大量的時間和精力。在數據中心引入了DPU這種新工具,可以大大提高數據處理效率。
幾年前DPU 處理器的出現某種程度上是為了解決特定的數據處理需求。 在數據中心場景,隨著DPU作用的擴展,經過精心設計的DPU可以比CPU或GPU以更低的功耗和成本更高效地處理數據。 在存儲呈指數級增長的大型數據中心中,節省成本和電力尤為重要。
DPU Vs CPU Vs GPU
在現代數據中心,CPU和GPU是DPU處理器替代工作負載的主要目標。理想的數據中心中,CPU、GPU和DPU將協同工作,每個處理器按照能力各司其職。
| CPU、GPU和DPU的拓撲結構
CPU 已經存在了幾十年,并且一直被迫保持通用性,以便可以在它必須支持的大量應用程序中實現向前和向后兼容。CPU日復一日為成千上萬依賴于它的應用程序而堅持。
CPU既昂貴又耗電,但它的優勢在于一代又一代的一致性。
世界上所有的編程工具都是以此為生態構建的,但CPU對于純數據處理相關任務的效率不高。
另一方面,GPU是用于視頻和圖形數據的高度專業化處理器,它比 CPU 更昂貴,而且非常非常耗電。GPU的數據處理指標很差,在某種程度上很難被用于與圖形處理無關的任務,因為它們很難編程。
DPU 處理器是一種低功耗、低成本的專用處理單元,處理數據的效率遠高于同類處理器。
以數據為中心的工作負載
那么,DPU是什么?筆者認為,DPU是一組比數據中心中的其他處理器更高效地處理、移動和存儲數據的資源。 關鍵詞是“更高效”,DPU 應該顯著提高性能指標,比如數據中心的每瓦性能和每美元性能。
上述說法并沒有從物理上定義 DPU 是什么。在筆者看來,DPU 可以是芯片,也可以是卡。在某種程度上,它是對功能的抽象,可以以多種方式實現。
DPU 處理器必須處理的任務包括數據保護/安全、數據移動和數據操作/分析等功能。由于每個數據中心都具有不同的架構和要求,因此 DPU 必須是高度可編程的。
DPU 可編程性使 DPU 能夠在高度變化的工作負載和要求下提升效率。DPU可以采用一組處理器的形式,這些處理器具有面向數據處理的特定指令,或者采用協處理器和硬件加速的形式,以增強處理單元來有效地處理數據。
處理器需要專用的低功耗內核和具有卸載功能的協處理器才能達到最高效率。最優的DPU需具備處理器和加速器的完整組合以及決策能力,以便知道何時調動資源應用于與數據相關的問題。
| 三種處理器的區別
在上文的定義中,數據移動是DPU 處理器的關鍵標準,因此DPU必須具有高速且以數據中心為中心的接口。如果一個高效的處理器不與數據中心中的任何東西連接,它又有什么用呢?
因此,DPU至少需要一個 Gen 4 PCIe 接口,以允許與其他硬件(如 SSD 或 CPU)進行內部通信,并需要一個高速外部接口(如多個 100GbE 接口),以與其他數據中心設備進行外部通信。
至此,DPU有了相對完整的輪廓——以 NVMeoF/TCP 和 RoCE 協議進行通信的外部網絡接口;將 NVMe 作為Root Complex或端點進行通信的內部 PCIe 接口;大量的特殊內核、協處理器和加速器;最后是運行于其上的軟件堆棧。
在上文中,頻繁地出現了“高效”一詞。
DPU 出現的原因之一是為了降低 TCO(Total Cost of Ownership,總擁有成本),DPU需要分擔數據中心其他處理器的工作(可能是網絡卸載、計算卸載或數據服務卸載)來節省成本,尤其是降低進入數據中心的資本成本和降低數據中心的運營成本。
DPU 處理器必須比其他處理單元消耗更少的功率和成本,并且必須簡化數據中心的構成,從而使其更加可靠。
不同類型的處理器
如前所述,DPU 是各種體系結構中特性和功能的抽象。不同于已經相對固化的CPU,DPU可以從頭開始設計,具有專門的內核和加速功能。
DPU可以采用純 ASIC 或 ASIC + CPU 內核的形式,甚至可以采用 FPGA 的形式,它們各有利弊。
數據平面不靈活的 DPU
某些DPU 結合了處理器和硬連線加速功能,其差異主要表現在使用了哪些內核,使用了多少內核,以及內核和硬連線邏輯之間的工作分離是什么。它們大多還共享如 PCIe 總線和 100GbE 端口等高速接口。
內核和硬連線功能的結合看似完美,但事實并非如此。大多數 DPU 處理器有 8 到 64 個 ARM 內核,主要用于控制平面功能。
除功耗更低外,ARM 內核在數據處理方面相比x86 處理器并無明顯優勢,但如果僅在硬連線邏輯中處理數據平面,則很難使DPU發揮ASIC設計靈活性的功能。
總之,這種類型的 DPU 處理器有一個非常不靈活的數據平面和一個名義上的處理控制平面,這節省了一些功率。針對特定的網絡、安全或存儲卸載任務,如 TLS、IPsec、糾刪碼或壓縮,那么這些類型的 DPU 將工作得很好。
處理能力較弱的 DPU
處理能力很弱或沒有處理能力的 DPU 在很大程度上依賴于硬連線功能,通常以 ASIC 或 FPGA 的形式出現。它們在成本和功率方面都非常高效,而且在網絡、安全和存儲卸載功能方面都有很好的選擇。但是,它們對數據操作和分析任務非常不靈活。
結合了低功耗和高性能數據處理的可編程 DPU
另一種 DPU依賴于眾多低功率、Data-Efficient 內核和硬件加速引擎,以提供最高效和靈活的解決方案。
數據平面和控制平面的處理都在內核中進行,其中每個內核或內核組都可以就何時以及如何使用協處理器或加速器來增強功能做出最佳決策。每個內核的功耗都遠低于 ARM 或 x86 內核,因此可顯著降低功耗。該 DPU 處理器的內核在其指令集中效率更高,因此與典型的 CPU 內核相比,可以有序處理更多數據。
總之,這種類型的DPU通過降低功耗和成本最大限度地降低 TCO,并提供最大的靈活性來處理固定任務。同時,它還有能力執行數據操作任務,例如 AI 或推理工作負載。
DPU 處理器在數據中心的作用是什么?
CPU、DPU 和 GPU 在數據中心中都發揮著至關重要的作用,它們各司其職,每一個都在執行自己擅長處理的功能。
CPU 將始終執行運行中的用戶應用程序、虛擬機和容器的繁重工作,而 GPU 將處理繁重的并行計算。DPU 是兩者的粘合劑,執行 DPU 網絡、DPU 安全和 DPU 存儲功能,這些功能是 CPU 和 GPU 都做不好的。由于未來數據中心將節省TCO,可以預見此后幾年 DPU 的集成將大大增加。
-
cpu
+關注
關注
68文章
10825瀏覽量
211144 -
gpu
+關注
關注
28文章
4700瀏覽量
128697 -
數據中心
+關注
關注
16文章
4681瀏覽量
71954 -
DPU
+關注
關注
0文章
354瀏覽量
24127
發布評論請先 登錄
相關推薦
評論