DPU的出現是異構計算的又一個階段性標志。摩爾定律放緩使得通用CPU性能增長的邊際成本迅速上升,數據表明現在CPU的性能年化增長(面積歸一化之后)僅有3%左右,但計算需求卻是爆發性增長,這幾乎是所有專用計算芯片得以發展的重要背景因素。以AI芯片為例,最新的GPT-3等千億級參數的超大型模型的出現,將算力需求推向了一個新的高度。DPU也不例外。隨著2019年我國以信息網絡等新型基礎設施為代表的“新基建”戰略帷幕的拉開,5G、千兆光纖網絡建設發展迅速,移動互聯網、工業互聯網、車聯網等領域發展日新月異。云計算、數據中心、智算中心等基礎設施快速擴容。網絡帶寬從主流10G朝著25G、40G、100G、200G甚至400G發展。網絡帶寬和連接數的劇增使得數據的通路更寬、更密,直接將處于端、邊、云各處的計算節點暴露在了劇增的數據量下,而CPU的性能增長率與數據量增長率出現了顯著的“剪刀差”現象。所以,尋求效率更高的計算芯片就成為了業界的共識。DPU芯片就是在這樣的趨勢下提出的。
一、帶寬性能增速比(RBP)失調
摩爾定律的放緩與全球數據量的爆發這個正在迅速激化的矛盾通常被作為處理器專用化的大背景,正所謂硅的摩爾定律雖然已經明顯放緩,但“數據摩爾定律”已然到來。IDC的數據顯示,全球數據量在過去10年年均復合增長率接近50%,并進一步預測每四個月對于算力的需求就會翻一倍。因此必須要找到新的可以比通用處理器帶來更快算力增長的計算芯片,DPU于是應運而生。這個大背景雖然有一定的合理性,但是還是過于模糊,并沒有回答DPU之所以新的原因是什么,是什么“量變”導致了“質變”?
從現在已經公布的各個廠商的DPU架構來看,雖然結構有所差異,但都不約而同強調網絡處理能力。從這個角度看,DPU是一個強IO型的芯片,這也是DPU與CPU最大的區別。CPU的IO性能主要體現在高速前端總線(在Intel的體系里稱之為FSB,Front Side Bus),CPU通過FSB連接北橋芯片組,然后連接到主存系統和其他高速外設(主要是PCIe設備)。目前更新的CPU雖然通過集成存儲控制器等手段弱化了北橋芯片的作用,但本質是不變的。CPU對于處理網絡處理的能力體現在網卡接入鏈路層數據幀,然后通過操作系統(OS)內核態,發起DMA中斷響應,調用相應的協議解析程序,獲得網絡傳輸的數據(雖然也有不通過內核態中斷,直接在用戶態通過輪詢獲得網絡數據的技術,如Intel的DPDK,Xilinx的Onload等,但目的是降低中斷的開銷,降低內核態到用戶態的切換開銷,并沒有從根本上增強IO性能)。可見,CPU是通過非常間接的手段來支持網絡IO,CPU的前端總線帶寬也主要是要匹配主存(特別是DDR)的帶寬,而不是網絡IO的帶寬。
相較而言,DPU的IO帶寬幾乎可以與網絡帶寬等同,例如,網絡支持25G,那么DPU就要支持25G。從這個意義上看,DPU繼承了網卡芯片的一些特征,但是不同于網卡芯片,DPU不僅僅是為了解析鏈路層的數據幀,而是要做直接的數據內容的處理,進行復雜的計算。所以,DPU是在支持強IO基礎上的具備強算力的芯片。簡言之,DPU是一個IO密集型的芯片;相較而言,GPU還是一個計算密集型芯片。
進一步地,通過比較網絡帶寬的增長趨勢和通用CPU性能增長趨勢,能發現一個有趣的現象:帶寬性能增速比(RBP,Ratioof Bandwidth and Performance growth rate)失調。RBP定義為網絡帶寬的增速比上CPU性能增速,即RBP=BW GR/Perf. GR如下圖所示,以Mellanox的ConnectX系列網卡帶寬作為網絡IO的案例,以Intel的系列產品性能作為CPU的案例,定義一個新指標“帶寬性能增速比”來反應趨勢的變化。
圖 帶寬性能增速比(RBP)失調
2010年前,網絡的帶寬年化增長大約是30%,到2015年微增到35%,然后在近年達到45%。相對應的,CPU的性能增長從10年前的23%,下降到12%,并在近年直接降低到3%。在這三個時間段內,RBP指標從1附近,上升到3,并在近年超過了10!如果在網絡帶寬增速與CPU性能增速近乎持平,RGR~1,IO壓力尚未顯現出來,那么當目前RBP達到10倍的情形下,CPU幾乎已經無法直接應對網絡帶寬的增速。RBP指標在近幾年劇增也許是DPU終于等到機會“橫空出世”的重要原因之一。
二、異構計算發展趨勢的助力
DPU首先作為計算卸載的引擎,直接效果是給CPU“減負”。DPU的部分功能可以在早期的TOE(TCP/IP Offloading Engine)中看到。正如其名,TOE就是將CPU的處理TCP協議的任務“卸載”到網卡上。傳統的TCP軟件處理方式雖然層次清晰,但也逐漸成為網絡帶寬和延遲的瓶頸。軟件處理方式對CPU的占用,也影響了CPU處理其他應用的性能。TCP卸載引擎(TOE)技術,通過將TCP協議和IP協議的處理進程交由網絡接口控制器進行處理,在利用硬件加速為網絡時延和帶寬帶來提升的同時,顯著降低了CPU處理協議的壓力。具體有三個方面的優化:1)隔離網絡中斷,2)降低內存數據拷貝量,3)協議解析硬件化。這三個技術點逐漸發展成為現在數據平面計算的三個技術,也是DPU普遍需要支持的技術點。例如,NVMe協議,將中斷策略替換為輪詢策略,更充分的開發高速存儲介質的帶寬優勢;DPDK采用用戶態調用,開發“Kernel-bypassing”機制,實現零拷貝(Zeor-Copy);在DPU中的面向特定應用的專用核,例如各種復雜的校驗和計算、數據包格式解析、查找表、IP安全(IPSec)的支持等,都可以視為協議處理的硬件化支持。所以,TOE基本可以被視為DPU的雛形。
延續TOE的思想,將更多的計算任務卸載至網卡側來處理,促進了智能網卡(SmartNIC)技術的發展。常見的智能網卡的基本結構是以高速網卡為基本功能,外加一顆高性能的FPGA芯片作為計算的擴展,來實現用戶自定義的計算邏輯,達到計算加速的目的。然而,這種“網卡+FPGA”的模式并沒有將智能網卡變成一個絕對主流的計算設備,很多智能網卡產品被當作單純的FPGA加速卡來使用,在利用FPGA優勢的同時,也繼承了所有FPGA的局限性。DPU是對現有的SmartNIC的一個整合,能看到很多以往SmartNIC的影子,但明顯高于之前任何一個SmartNIC的定位。
Amazon的AWS在2013研發了Nitro產品,將數據中心開銷(為虛機提供遠程資源,加密解密,故障跟蹤,安全策略等服務程序)全部放到專用加速器上執行。Nitro架構采用輕量化Hypervisor配合定制化的硬件,將虛擬機的計算(主要是CPU和內存)和I/O(主要是網絡和存儲)子系統分離開來,通過PCIe總線連接,節省了30%的CPU資源。阿里云提出的X-Dragon系統架構,核心是MOC卡,有比較豐富的對外接口,也包括了計算資源、存儲資源和網絡資源。MOC卡的核心X-Dragon SOC,統一支持網絡,IO、存儲和外設的虛擬化,為虛擬機、裸金屬、容器云提供統一的資源池。
可見,DPU其實在行業內已經孕育已久,從早期的網絡協議處理卸載,到后續的網絡、存儲、虛擬化卸載,其帶來的作用還是非常顯著的,只不過在此之前DPU“有實無名”,現在是時候邁上一個新的臺階了。
來源:專用數據處理器(DPU)技術白皮書,中國科學院計算技術研究所,鄢貴海等
-
DPU
+關注
關注
0文章
368瀏覽量
24231
發布評論請先 登錄
相關推薦
評論