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