DPU是繼CPU、GPU之后的數(shù)據(jù)中心第三顆大芯片,本質(zhì)是圍繞數(shù)據(jù)處理提供網(wǎng)絡、存儲、安全、管理等數(shù)據(jù)中心基礎設施虛擬化能力的專用處理器。 關于DPU技術應用及技術原理,請參看文章“DPU技術原理、算力效率及應用場景解析”和“主流DPU架構實現(xiàn)及技術對比”、“DPU性能基準:測評框架與測試流程介紹(2022)”以及“DPU全球格局,國內(nèi)5家崛起(2023)”,《50份智能網(wǎng)卡和DPU合集》。
DPU提升數(shù)據(jù)中心效率、降低TCO
CPU和GPU已經(jīng)存在很長時間,它們在數(shù)據(jù)中心中各有其用途,但它們并不能通過實際降低成本或功耗來提高TCO的效率,它們只能通過在它們各自的特定角色中高效運行來降低數(shù)據(jù)中心的TCO。此外,它們價格昂貴,耗電量大,并被要求執(zhí)行并不擅長的任務。 另一種看待DPU融入數(shù)據(jù)中心的方式是將其比作技術人員的新工具,這些新工具可以極大地節(jié)省時間和精力。我們只是在數(shù)據(jù)中心引入了一種新工具,它有望顯著提高存儲效率。 DPU在幾年前逐漸嶄露頭角,用于解決特定的數(shù)據(jù)處理需求。隨著DPU的角色不斷擴展,人們逐漸認識到,經(jīng)過精心設計,它能夠以更低的功耗和更高的效率在數(shù)據(jù)中心中處理數(shù)據(jù),遠勝于傳統(tǒng)的CPU或GPU。 這些成本和功耗的節(jié)省在大規(guī)模數(shù)據(jù)中心中尤為重要,因為存儲增長呈指數(shù)增長。 地球母親能夠產(chǎn)生的能源是有限的,這意味著數(shù)據(jù)中心的功耗也是有限的。這將使DPU在未來的數(shù)據(jù)中心中成為必不可少的,因為它能有效降低功耗。
DPU特性與局限
簡而言之,DPU是一組資源,它們能夠比數(shù)據(jù)中心中的其它處理器更高效地處理、移動和存儲數(shù)據(jù)。“高效”是關鍵詞,因為DPU應該顯著改善數(shù)據(jù)中心的性能指標,如性能/瓦和性能/元。 值得注意的是,我沒有對DPU進行具體的物理定義。以我的理解,DPU可以是芯片,也可以是插卡,從某種程度上說,它是一組可以以多種方式實現(xiàn)的功能的抽象。 因此,如果有時候我談的是處理芯片,有時候我談的是PCIe卡,有時候我進行哲學性的思考,這是因為這些資源必須在成本或功耗效率方面勝過GPU和CPU。
以數(shù)據(jù)為中心的工作負載
DPU的任務包括數(shù)據(jù)保護/安全、數(shù)據(jù)縮減、數(shù)據(jù)移動和數(shù)據(jù)操作/分析等功能。由于每個數(shù)據(jù)中心都有不同的架構和要求,DPU必須具備高度的可編程性。 DPU的可編程性使其能夠在高度多變的工作負載和需求下實現(xiàn)高效處理。DPU資源可以采用一組具有特定數(shù)據(jù)處理指令的處理器形式,也可以采用協(xié)處理器和硬件加速器的形式,以有效處理數(shù)據(jù)。 為了實現(xiàn)最佳效率,處理器需要具備專門的、低功耗的內(nèi)核和支持計算卸載功能的協(xié)處理器。最優(yōu)秀的DPU具備綜合處理器、加速器和決策能力,能夠智能選擇何時以何種方式應用于與數(shù)據(jù)相關的問題。
上面的定義部分強調(diào)了數(shù)據(jù)移動作為DPU的關鍵標準,因此必須具備高速且適用于數(shù)據(jù)中心的接口。如果一個高效的處理器無法與數(shù)據(jù)中心中的其它設備進行連接,又有何用呢? 因此,DPU需要至少配備Gen 4 PCIe接口,以允許與內(nèi)部硬件(如SSD或CPU)進行通信,并具備至少多個100GbE接口等高速外部接口,以與其它數(shù)據(jù)中心設備進行外部通信。
總結(jié)一下
讓我們?nèi)媪私庖幌翫PU——它包括外部網(wǎng)絡接口,可以通過NVMeoF/TCP和RoCE協(xié)議進行通信,還有內(nèi)部PCIe接口,可以將NVMe通信為根復合體(Root Complex)或終端設備(Endpoint)。此外,還包括大量的特殊內(nèi)核、協(xié)處理器和加速器,以及用于充分利用所有這些資源的軟件堆棧。 在前文中,我多次強調(diào)了“高效”一詞。那么為什么在本文中頻繁提到這個詞呢? DPU的出現(xiàn)最重要的原因之一是為了降低TCO。按照定義,DPU必須通過接管數(shù)據(jù)中心中的其它處理器的工作來實現(xiàn)成本節(jié)省。這可能涉及網(wǎng)絡卸載、計算卸載或數(shù)據(jù)服務卸載。具體而言,我指的是減少投入數(shù)據(jù)中心的資本成本以及降低運營數(shù)據(jù)中心的成本。 DPU必須在功耗和成本方面優(yōu)于其它處理單元,并且必須簡化數(shù)據(jù)中心的構建,從而提高其可靠性。要成為真正的DPU,它必須在幾乎所有這些TCO挑戰(zhàn)中發(fā)揮作用,實現(xiàn)最佳的性能/瓦和性能/元效率。
DPU存儲、DPU網(wǎng)絡和其它
為了更深入地探討,我已經(jīng)闡述了DPU必須在其卸載的工作上比數(shù)據(jù)中心中的其它處理器更高效。那么這里所指的其它處理器是什么呢?雖然有很多種,但在現(xiàn)代數(shù)據(jù)中心中,CPU和GPU是DPU可能替代的主要目標。需要注意的是,我特別強調(diào)了工作負載的替代——稍后將詳細介紹。
值得一提的是,盡管我提到了這些替代關系,但我認為理想的數(shù)據(jù)中心應該包含這三種處理器類型,它們可以在數(shù)據(jù)中心中協(xié)同工作,每種都根據(jù)其能力來執(zhí)行最適合的任務。
DPU、GPU與CPU的比較
讓我們深入探討這三種類型的處理器:DPU、GPU和CPU。 在討論了DPU的優(yōu)越性之后,讓我們談談它在數(shù)據(jù)中心中扮演與其它處理器不同的角色的原因。 CPU已經(jīng)存在了幾十年,被迫保持通用性,以便可以在眾多需要支持它的應用程序之間前后兼容。它是那匹每天都在為依賴它的數(shù)以萬計的應用程序耕耘領域的工作馬。 CPU昂貴且耗電量大,其優(yōu)勢在于其一致性,一代又一代。全世界的編程工具都建立在這種一致性的基礎上。但由于其優(yōu)勢,它在純粹的數(shù)據(jù)處理相關任務上并不高效。直到幾年前,它是唯一真正的處理器之王,演變成了一種非常昂貴且耗電量巨大的怪物。 另一方面,GPU是用于視頻和圖形數(shù)據(jù)的高度專門化處理器。它們比CPU更昂貴,非常耗電。 按照我們的馬的比喻,它們將是純種賽馬。它們在一項任務上表現(xiàn)出色,但數(shù)據(jù)處理指標較差。正如純種賽馬性情難以駕馭一樣,GPU在歷史上一直很難用于與圖形處理無關的任務,因為它們難以編程。 總結(jié)我們對DPU、GPU和CPU的分析,最關鍵的問題是“DPU是哪匹馬?”延續(xù)馬的比喻,我選擇了一匹驛馬快信(Pony Express)的小馬。 這些小馬身形小巧、速度快,擁有在各種地形上行駛數(shù)百英里所需的高耐力。它們被特意選擇用于驛馬快信服務,因為它們具備了勝任工作所需的準確特質(zhì)。DPU是一種低功耗、低成本、專為處理數(shù)據(jù)而構建的處理單元,比其它處理器更高效地處理數(shù)據(jù)處理任務。
不同類型的處理器
正如前面提到的,DPU是一種功能和特性的抽象,有各種各樣的架構。它們可以從頭開始設計,具備專用內(nèi)核和加速功能。 它們可以采用純粹的ASIC形式,也可以采用ASIC + CPU內(nèi)核的形式。甚至可以采用FPGA的形式。每種類型都有其優(yōu)點和缺點,接下來將討論這些。
具有不靈活數(shù)據(jù)平面的DPU
有些DPU結(jié)合了處理器和硬連線加速器,因此區(qū)別在于使用了哪些內(nèi)核以及內(nèi)核與硬連線邏輯之間的工作分配。它們通常共享高速接口,如PCIe總線和100GbE端口。 你可能會認為將內(nèi)核和硬連線功能結(jié)合是最佳選擇,但事實并非如此。大多數(shù)DPU通常具有從8到64個ARM內(nèi)核,主要用于控制平面功能。與x86處理器相比,ARM內(nèi)核在數(shù)據(jù)處理方面沒有明顯的優(yōu)勢,但功耗較低。 如果ARM內(nèi)核需要在數(shù)據(jù)平面處理數(shù)據(jù),與x86處理器相比沒有明顯的優(yōu)勢,如果數(shù)據(jù)平面僅在硬連線邏輯中處理,那么幾乎沒有靈活性來使DPU執(zhí)行超出ASIC初始設計范圍之外的功能。 總之,這種類型的DPU具有非常不靈活的數(shù)據(jù)平面和相對有限的處理控制平面,這可以節(jié)省一些功耗,但不多。但是,它們的成本要低于CPU,因此它們確實有助于降低數(shù)據(jù)中心的TCO。如果你有特定的網(wǎng)絡、安全或存儲卸載任務,如TLS、IPsec、糾刪碼或壓縮等任務,那么這些類型的DPU會工作得相當不錯。
具有較少或無處理能力的DPU
具有極少或幾乎沒有處理能力的DPU與上述類型的DPU類似。它們在很大程度上依賴于硬連線功能,通常采用ASIC或FPGA的形式。它們在成本和功耗方面非常高效,但它們對數(shù)據(jù)操作和分析任務非常不靈活。
可編程DPU:低功耗與高性能數(shù)據(jù)處理的最佳選擇
另一種形式依賴于許多低功耗、數(shù)據(jù)高效的內(nèi)核和硬件加速引擎,以提供最高效和靈活的DPU解決方案。 數(shù)據(jù)平面和控制平面的處理都在內(nèi)核中進行,每個內(nèi)核或一組內(nèi)核可以在何時以及如何使用協(xié)處理器或加速器來增強功能時做出最佳決策。與ARM或x86內(nèi)核相比,該DPU的每個內(nèi)核功耗更低,因此大大降低了功耗。這種DPU的內(nèi)核在其指令集方面更加高效,因此可以處理比典型CPU內(nèi)核更多的數(shù)據(jù)。 總之,這種類型的DPU通過降低功耗和成本最大程度地減少TCO,并提供了處理固定任務的最大靈活性,例如上面討論的卸載任務。與此同時,它具備執(zhí)行數(shù)據(jù)操作任務,如AI或推理工作負載的能力。
DPU與智能網(wǎng)卡(SmartNIC)
另一個經(jīng)常被問到的問題是“DPU和智能網(wǎng)卡基本上是一樣的嗎?”作為一名技術專家,我有些猶豫,也許因為它們在功能上非常相似,不確定是否可以回答“是”或“否”。然而,我認為真正的答案是不,它們并不是完全相同的東西。我認為根本原因是智能網(wǎng)卡具有一些網(wǎng)絡、安全和卸載功能,而最聰明的智能網(wǎng)卡在處理能力方面有一定限制,但它們的能力有限。 智能網(wǎng)卡的處理能力用于控制平面功能,而不用于數(shù)據(jù)平面處理。它們沒有執(zhí)行視頻識別、AI推理或處理計算存儲等功能的能力,也不像DPU那樣顯著改變數(shù)據(jù)中心的TCO。
DPU存儲、DPU網(wǎng)絡…DPU及其在數(shù)據(jù)中心中的角色帶來了哪些啟示?
CPU、DPU和GPU在數(shù)據(jù)中心中都扮演著至關重要的角色。應該將它們視為同等地位的同行,各自執(zhí)行著其他處理器難以勝任的任務。 CPU將永遠承擔運行用戶應用程序、虛擬機和容器的重要工作,而GPU則在處理大規(guī)模并行計算方面表現(xiàn)出色。DPU則是它們之間的紐帶,執(zhí)行DPU網(wǎng)絡、DPU安全和DPU存儲等功能,包括數(shù)據(jù)操作,這些任務CPU和GPU都做得不太出色。由于對數(shù)據(jù)中心TCO節(jié)省的期望,未來幾年內(nèi),DPU的整合將大幅增加。 Source: Tim Lieber, WHY DATA CENTERS NEED DATA PROCESSING UNITS, March 2, 2023
編輯:黃飛
?
評論
查看更多