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