01. Pensando的前世
Pensando創(chuàng)立于2016年,創(chuàng)始人為從Cisco離職的4位大佬級(jí)人物:Mario Mazzola、Prem Jain、Luca Cafiero和Soni Jiandani。他們的名字可能你不熟悉,但是他們提出的協(xié)議MPLS你一定不陌生(MPLS一說是取自他們的名字首字母),對(duì)這4位大神有興趣的話后臺(tái)私信我。這4位大佬在Cisco離職之后,創(chuàng)辦了Pensando。可以說這是一家小而精的公司,其客戶覆蓋了高盛、NetApp、Equinix、HPE,從國際投行,到存儲(chǔ)和數(shù)據(jù)中心巨頭,明顯看得出來,客戶都是精挑細(xì)選,非常有針對(duì)性。
“它是一個(gè)軟件定義的分布式服務(wù)平臺(tái),針對(duì)邊緣進(jìn)行加速,始終安全,并面向云、企業(yè)以及服務(wù)提供商客戶”。
2019年10月,Pensando宣布Chambers擔(dān)任董事會(huì)主席,而這位Chambers,歷任Cisco,JC2 Ventures投資機(jī)構(gòu)CEO,圈內(nèi)地位可見一斑。
02. Pensando的今生
2022年4月,AMD宣布以19億美元收購DPU初創(chuàng)公司Pensando。如果說ZEN架構(gòu)讓AMD翻身成功,那么收購Pensando,可以說是AMD在技術(shù)方面補(bǔ)齊了數(shù)據(jù)中心拼圖的最后一塊短板,個(gè)人認(rèn)為,此舉不亞于NVIDIA在2019年收購互連芯片獨(dú)角獸廠商Mellanox。如果說Mellanox是打通了NVIDIA的GPU在數(shù)據(jù)中心中集群互連的任督二脈,那么AMD收購Pensando,也彰顯了其在加深計(jì)算(X86+Radeon)與數(shù)據(jù)處理(DPU)壁壘的野望。
Pensando產(chǎn)品上線之前的資料非常少,非常低調(diào)。目前根據(jù)AMD官網(wǎng)等網(wǎng)站資料顯示,最新的Pensando產(chǎn)品為“Giglio ”DPU。Giglio,是基于第二代AMD Pensando “Elba” DPU的一個(gè)功耗和性能優(yōu)化芯片。它與其前身源代碼兼容,方便客戶替換和擴(kuò)展。
03. Pensando的特性
Pensando可以在2 x 200Gb/s線速下提供了卸載各種數(shù)據(jù)中心網(wǎng)絡(luò)、存儲(chǔ)和安全服務(wù)的高級(jí)功能。它采用了一個(gè)由144個(gè)自定義匹配處理單元(MPU)組成的可編程P4流水線,與一個(gè)16x A72 ARM內(nèi)核的組合,以及專用的數(shù)據(jù)加密和存儲(chǔ)卸載引擎,所有這些都通過專有的快速網(wǎng)絡(luò)芯片互連在一起。Giglio獨(dú)特的體系結(jié)構(gòu)允許客戶以虛擬化、分布式且集中管理的方式創(chuàng)建高效、可擴(kuò)展的解決方案,以部署豐富的軟件定義的網(wǎng)絡(luò)、存儲(chǔ)和安全功能集。
Giglio DPU允許實(shí)現(xiàn)復(fù)雜的流量處理和轉(zhuǎn)發(fā)算法,包括網(wǎng)絡(luò)虛擬化和安全性、數(shù)據(jù)包封裝/解封裝、內(nèi)聯(lián)加密/解密和網(wǎng)絡(luò)地址轉(zhuǎn)換。
Giglio DPU架構(gòu)支持狀態(tài)處理,可用于流監(jiān)控、數(shù)據(jù)流感知安全策略實(shí)現(xiàn)、抵御DDoS攻擊等。
專用的卸載引擎可以無縫高效地處理各種加密和存儲(chǔ)算法中使用的計(jì)算繁重的操作,包括壓縮/解壓縮、校驗(yàn)和、RAID和重復(fù)數(shù)據(jù)刪除哈希。
AMD Pensando DPU使用行業(yè)標(biāo)準(zhǔn)P4語言進(jìn)行編程,有助于實(shí)現(xiàn)各種系統(tǒng)解決方案。它支持軟件定義的網(wǎng)絡(luò)和存儲(chǔ)協(xié)議,包括NVMe虛擬化和傳輸,并且其設(shè)計(jì)使開發(fā)人員能夠開發(fā)和部署新功能及修改以滿足產(chǎn)品生命周期中不斷變化的客戶需求。
Giglio DPU的形式因素和功耗配置旨在支持多種系統(tǒng)級(jí)實(shí)現(xiàn),范圍從半高半長PCIe卡(可適合任何標(biāo)準(zhǔn)服務(wù)器的功率和制冷配置文件)到網(wǎng)絡(luò)和安全設(shè)備及智能交換機(jī)。P4可編程設(shè)計(jì)使這些應(yīng)用程序能夠動(dòng)態(tài)重新配置DPU內(nèi)的數(shù)據(jù)處理。
Giglio DPU提供以下可配選項(xiàng)
Giglio DPU一些典型使用場景
04. Pensando的細(xì)節(jié)
根據(jù)目前可查到的比較詳細(xì)資料是來自Hot chips21的一篇paper,我們可以通過這篇paper來探討一下Pensando的內(nèi)部架構(gòu)細(xì)節(jié)
如上圖所示,Pensando架構(gòu)可以大體上分為兩個(gè)部分,綠色的是內(nèi)存事務(wù)層面,藍(lán)色的可以認(rèn)為是網(wǎng)絡(luò)數(shù)據(jù)層面。
數(shù)據(jù)路徑
從網(wǎng)絡(luò)進(jìn)入的數(shù)據(jù)包會(huì)在一個(gè)以太網(wǎng)MAC接口上被接收,并根據(jù)L2或L3服務(wù)類型(COS)被放入數(shù)據(jù)包緩沖區(qū)。數(shù)據(jù)包緩沖區(qū)提供“暫停吸收緩沖”和面向COS的仲裁,為P4入口流水線服務(wù)。與P4模型一致,數(shù)據(jù)包首先通過P4入口流水線進(jìn)行流分類;如有組播或SPAN復(fù)制則返回?cái)?shù)據(jù)包緩沖區(qū);然后進(jìn)入P4出口流水線應(yīng)用例如網(wǎng)絡(luò)地址轉(zhuǎn)換、遙測等。完成網(wǎng)絡(luò)處理任務(wù)后,數(shù)據(jù)包可以被發(fā)送回以太網(wǎng)MAC端口,或者傳遞到ARM子系統(tǒng)或本地主機(jī)。
如果數(shù)據(jù)包被發(fā)送到ARM或本地主機(jī),它必須根據(jù)ARM上運(yùn)行的內(nèi)核或用戶態(tài)驅(qū)動(dòng)程序的需要進(jìn)行處理。數(shù)據(jù)包通過第三個(gè)P4流水線,在那里它根據(jù)數(shù)據(jù)包的協(xié)議類型(以太網(wǎng)、RDMA、NVMe或新協(xié)議)運(yùn)行另一個(gè)程序。與面向特定內(nèi)核或用戶驅(qū)動(dòng)程序的協(xié)議特定P4程序相關(guān)聯(lián)的一個(gè)重要優(yōu)勢是能夠根據(jù)目標(biāo)驅(qū)動(dòng)程序的需求自定義描述符格式、完成事件、中斷方案和數(shù)據(jù)格式。
總之,網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)入ASIC,通過P4入口和出口流水線應(yīng)用安全性和網(wǎng)絡(luò)服務(wù),與目標(biāo)接口和設(shè)備類型相關(guān)聯(lián),并通過P4驅(qū)動(dòng)程序接口程序傳遞。最終的數(shù)據(jù)包或數(shù)據(jù)緩沖區(qū)被傳遞到連接的主機(jī)、嵌入式ARM或集成的卸載引擎。主機(jī)發(fā)送的數(shù)據(jù)包通過PCIe MAC進(jìn)入,由P4驅(qū)動(dòng)程序接口程序處理,然后由P4入口和出口流水線處理以應(yīng)用安全和網(wǎng)絡(luò)服務(wù),之后通過以太網(wǎng)MAC發(fā)送出去。
硬件隊(duì)列管理
從網(wǎng)絡(luò)進(jìn)入P4流水線的數(shù)據(jù)包或來自內(nèi)部事件的數(shù)據(jù)包被放入硬件隊(duì)列。硬件隊(duì)列用于管理接口、數(shù)據(jù)流、連接和任何其他需要有序跟蹤和調(diào)度的對(duì)象。軟件可以配置高達(dá)1600萬個(gè)硬件隊(duì)列。每個(gè)隊(duì)列在基于DRAM的qstate記錄中存儲(chǔ)其當(dāng)前狀態(tài),包括已入隊(duì)對(duì)象的計(jì)數(shù)、指向入隊(duì)對(duì)象數(shù)組或鏈接列表的指針、連接狀態(tài)和對(duì)等信息,以及用于內(nèi)存保護(hù)的進(jìn)程ID。
使用doorbell機(jī)制觸發(fā)通知入隊(duì)新對(duì)象的事件,允許使用單個(gè)門鈴動(dòng)作將一個(gè)或多個(gè)對(duì)象添加到任何隊(duì)列。隊(duì)列調(diào)度器將所有1600萬個(gè)隊(duì)列組織到一個(gè)DRAM數(shù)組中,提供優(yōu)先級(jí)調(diào)度、最小/最大數(shù)據(jù)速率和加權(quán)輪詢調(diào)度可跨調(diào)度組使用。當(dāng)調(diào)度一個(gè)隊(duì)列時(shí),一個(gè)帶有已調(diào)度隊(duì)列ID和COS的PHV令牌被插入到分配的P4流水線進(jìn)行處理。然后,TE訪問qstate數(shù)組,根據(jù)隊(duì)列類型和狀態(tài)啟動(dòng)程序,這反過來從P4程序中的表中獲取排隊(duì)的對(duì)象和描述符。
Sixteen million queues
中心數(shù)據(jù)包緩沖區(qū)
多個(gè)獨(dú)立的P4流水線通過一個(gè)中心數(shù)據(jù)包緩沖區(qū)相互連接。數(shù)據(jù)包緩沖區(qū)是一個(gè)共享內(nèi)存式交換架構(gòu),對(duì)多個(gè)服務(wù)等級(jí)具有虛擬輸出隊(duì)列以及增強(qiáng)的傳輸選擇調(diào)度。組播復(fù)制、SPAN(交換機(jī)端口分析器)隊(duì)列和網(wǎng)絡(luò)暫停緩沖由中心數(shù)據(jù)包緩沖區(qū)提供。此外,入口數(shù)據(jù)包突發(fā)溢出特性允許短期突發(fā)寫入DRAM內(nèi)存的溢出區(qū)域。中心數(shù)據(jù)包緩沖區(qū)在數(shù)據(jù)包域中運(yùn)行,而系統(tǒng)級(jí)芯片(SOC)在內(nèi)存事務(wù)域中運(yùn)行。P4 DMA引擎橋接這兩個(gè)域,將數(shù)據(jù)包轉(zhuǎn)換為內(nèi)存事務(wù)。
PCIe端口和虛擬化
PCIe虛擬化硬件允許在SOC上運(yùn)行的軟件配置呈現(xiàn)給主機(jī)的設(shè)備數(shù)量和類型,包括配置空間、BAR范圍和虛擬功能計(jì)數(shù)。這允許向不同進(jìn)程呈現(xiàn)和附加多個(gè)網(wǎng)絡(luò)、存儲(chǔ)和主機(jī)可見的卸載設(shè)備。PCIe通道可以分叉為多個(gè)端口,每個(gè)端口可以作為虛擬端點(diǎn)交換機(jī)或root complex運(yùn)行。如果配置了多個(gè)虛擬交換機(jī)端口,則多個(gè)主機(jī)可以通過單獨(dú)的PCIe通道附加并共享網(wǎng)絡(luò)服務(wù),就像它們屬于每個(gè)主機(jī)本地一樣。內(nèi)部ASIC COS緩沖資源在主機(jī)之間實(shí)施公平的隔離,防止影響相鄰主機(jī)。另一方面,如果將PCIe端口配置為root complex,則存儲(chǔ)設(shè)備(如NVMe驅(qū)動(dòng)器)由SOC控制并虛擬化到本地和遠(yuǎn)程主機(jī)。其他PCIe設(shè)備包括GPU和機(jī)器學(xué)習(xí)加速器也可以由ASIC控制。
。
前兩代ASIC的性能
性能
上表展示了前兩代Pensando的性能,場景包括每個(gè)連接的狀態(tài)防火墻、每個(gè)流的遙測收集,以及ARM CPU管理連接建立/拆除而數(shù)據(jù)通路操作在P4流水線中處理。延遲和抖動(dòng)是通過實(shí)驗(yàn)室測試設(shè)備在線路上測量的。
與可用解決方案進(jìn)行比較很困難,因?yàn)楹苌儆邪l(fā)布具有相同服務(wù)特征的結(jié)果,但提供這些功能子集的解決方案顯示其交付的百萬數(shù)據(jù)包/秒 (MPPS) 僅為Pensando的一小部分。Pensando的每秒連接建立和跟蹤性能比可用解決方案高一個(gè)數(shù)量級(jí),并接近大型多端口服務(wù)設(shè)備。
05. CONCLUSION
現(xiàn)代數(shù)據(jù)中心正面臨著在安全性、網(wǎng)絡(luò)、遙測、存儲(chǔ)和規(guī)模方面的需求,這些需求當(dāng)前設(shè)備無法解決。Pensando開發(fā)了一個(gè)分布式服務(wù)架構(gòu)來解決這些數(shù)據(jù)中心需求,同時(shí)基于針對(duì)特定領(lǐng)域的、開源的、許可寬松的P4語言提供了用戶可編程性。第一個(gè)兩代架構(gòu)以16nm和7nm工藝實(shí)現(xiàn)為ASIC。
-
amd
+關(guān)注
關(guān)注
25文章
5466瀏覽量
134095 -
數(shù)據(jù)中心
+關(guān)注
關(guān)注
16文章
4761瀏覽量
72034 -
源代碼
+關(guān)注
關(guān)注
96文章
2945瀏覽量
66730
原文標(biāo)題:Pensando : AMD在數(shù)據(jù)中心網(wǎng)絡(luò)領(lǐng)域的野望
文章出處:【微信號(hào):算力基建,微信公眾號(hào):算力基建】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論