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