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