《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 其他 > SmartNIC架構(gòu)設(shè)計:FPGA,MP和ASIC

SmartNIC架構(gòu)設(shè)計:FPGA,MP和ASIC

2022-09-28
來源:智能計算芯世界
關(guān)鍵詞: SmartNIC ASIC FPGA

  本文參考自“未來網(wǎng)絡(luò):SmartNIC DPU技術(shù)白皮書”,從核心處理器角度來分析,目前 SmartNIC 架構(gòu)主要有 3 類,分別基于 FPGA, MP ( mulTI-coreprocessors)和 ASIC

  1、基于 FPGA 的架構(gòu)

  微軟研究院是以 FPGA 作為智能網(wǎng)卡核心可編程處理器的重要代表。圖 2-1 描述了微軟一系列設(shè)計架構(gòu)的演進。2014 年,微軟提出了基于高端 FPGA——Altera StraTIx V D5 的 Shell(通用邏輯)+Role(可重構(gòu)處理邏輯)的可重構(gòu)數(shù)據(jù)中心云服務(wù)加速方案,用于解決商用服務(wù)器滿足不了飛速增長的數(shù)據(jù)中心業(yè)務(wù)需求、定制化加速器成本開銷大且靈活性不足的問題。

 02.JPG

  如圖(a)所示,其中 Shell 為可重用的通信、管理、配置等通用邏輯,包含 2 個 DRAM 控制器(管理 FPGA 上的 2 塊 DRAM)、4 個 10 Gbps 輕量級 FPGA 間串行通信接口 SerialLite 3、管理 DMA 通信的 PCIe 核、路由邏輯(用于管理來自 PCIe,Role,SerialLite 3 的數(shù)據(jù))、重新配置邏輯(用于讀、寫、配置 Flash)、事件翻轉(zhuǎn)邏輯(用于階段性的監(jiān)督 FPGA 狀態(tài)以減少錯誤);而 Role 則位于 FPGA 芯片的固定區(qū)域中,是與用戶加速應(yīng)用緊密相關(guān)的邏輯,可以將 Bing 搜索排序邏輯映射到 Role 中進行加速。

  在 Catapult 設(shè)計中,考慮到 FPGA 的管理和使用,同機架下的所有 FPGA 以 6×8 的 2 維 Torus 網(wǎng)絡(luò)拓撲的形式組成一套新的網(wǎng)絡(luò)進行連接,可以將同機架下的所有 FPGA 作為加速資源使用。但是,使用第 2 套網(wǎng)絡(luò)的設(shè)計方式:

  一方面,增加了網(wǎng)絡(luò)的開銷和容錯管理;另一方面,對于網(wǎng)絡(luò)流、存儲流、分布式應(yīng)用僅能提供有限的加速。此外,機架內(nèi)的 2 維 Torus 直連使得用戶對跨機架的 FPGA 資源無法進行有效的使用。

  微軟在2016 年的研究工作中對 Catapult 進行了改進,將 FPGA網(wǎng)絡(luò)與數(shù)據(jù)中心網(wǎng)絡(luò)融合,提出了新的云加速架構(gòu)設(shè)計。如圖(b)所示,在 StraTIx VD5 FPGA 板卡上設(shè)計了 2 個 40 Gbps 的 QSFP端口,分別與主機端已有的普通網(wǎng)卡和架頂交換機(ToR)相連接,對應(yīng)地,在新的 Shell設(shè)計中,原來 Catapult 的 4 端口 SerialLite 3 被替換為輕量級傳輸層(LTL)引擎用于處理 2 個 40Gbps 端口。

  微軟在 2018 年的研究中將軟件定義網(wǎng)絡(luò)(SDN)棧卸載到其二代智能網(wǎng)卡,用以更好地支持 SR-IOV。如圖(c)所示,此時,二代智能網(wǎng)卡已將通用網(wǎng)卡和高端 Intel Arria 10 FPGA 集成到 1 個板卡上,對外的 ToR 端口已經(jīng)達到 50 Gbps,但從架構(gòu)上而言并無實質(zhì)的變化,仍然采用將 FPGA 放置在通用網(wǎng)卡和 ToR 數(shù)據(jù)通路之間的設(shè)計,用于高效地處理數(shù)據(jù)流,提供路徑上的網(wǎng)絡(luò)功能、特定應(yīng)用加速。微軟在后來的研究中指出,鑒于當前可編程網(wǎng)卡、可編程交換機的硬件條件支持,充分利用可編程網(wǎng)絡(luò)設(shè)備組成高效的全網(wǎng)可編程云將成為一種趨勢。

  除微軟外,Mellanox、Intel、Xilinx 等也相繼推出基于 FPGA 的智能網(wǎng)卡類產(chǎn)品:

  1)Mellanox 推出了 Innova 系列基于 Xilinx Kintex UltraScale 高端 FPGA 的智能網(wǎng)卡,包含 Innova 和 Innova-2 Flex 共 2 代產(chǎn)品。

  2)Intel 則推出了基于 2 大類可編程 PCIe 加速卡,其中基于Arria10/Arria10 GX FPGA 的可編程加速卡 Intel FPGA PAC N3000,用于加速協(xié)議棧處理、NFV 等應(yīng)用[1];此外,另有基于 StraTIx 10 SX 的可編程加速卡 IntelFPGA PAC D5005,面向數(shù)據(jù)流分析、視頻編碼轉(zhuǎn)換、金融、人工智能、基因分析等領(lǐng)域。

  3)Xilinx 推出的網(wǎng)卡包括 XtremeScale X2 和 8000 共 2 個系列以太網(wǎng)卡。其中,X2 系列產(chǎn)品是面向數(shù)據(jù)中心的設(shè)計,帶寬達到10/25/40/100 Gbps,其 Cloud Onload 旁路內(nèi)核技術(shù)、TCP-Direct 技術(shù)與 X2 的結(jié)合可以在負載均衡、數(shù)據(jù)庫緩存、容器應(yīng)用、網(wǎng)頁服務(wù)方面減輕操作系統(tǒng)的開銷,提高性能。

  2、基于MP的架構(gòu)

  另一種得到業(yè)內(nèi)認可的智能網(wǎng)卡的設(shè)計方式為采用片上多核的方式來進行網(wǎng)絡(luò)數(shù)據(jù)的可編程加速處理,多數(shù)使用片上系統(tǒng)(system  on chip,SoC)的實現(xiàn)方案,使用的處理器核可以是專用的網(wǎng)絡(luò)處理器(network processor,NP),如 Netronome NFP 系列、Cavium Octeon系列,也可以是通用處理器(general processor,GP),如 ARM。下文將從網(wǎng)絡(luò)處理器和通用處理器兩個方面進行介紹。

  1)基于 NP-SoC 的智能網(wǎng)卡

  Netronome 早期在 2016 年推出了 NFE-3240 系列用于網(wǎng)絡(luò)安全相關(guān)應(yīng)用的智能網(wǎng)卡,對數(shù)據(jù)包可達到 20 Gbps 的 C 語言可編程線速處理。在 2018,2019 年,Netronome 陸續(xù)推出了 3 大系列 Agilio 智能網(wǎng)卡:

 ?、倜嫦蛴嬎愎?jié)點的 Agilio CX,基于 NFP-4000 或者 NFP-5000 網(wǎng)絡(luò)處理器,可以完全卸載虛擬交換機對網(wǎng)絡(luò)功能中數(shù)據(jù)平面的處理、卸載典型的計算密集型任務(wù);

  ②面向 Bare-Metal 服務(wù)器的Agilio FX,基于 NFP-4000 網(wǎng)絡(luò)處理器和 4 核 ARM v8 Cortex-A72CPU(可運行 Linux OS);

  ③面向服務(wù)節(jié)點的 Agilio LX,基于 NFP-6000 網(wǎng)絡(luò)處理器,主要用于虛擬化、非虛擬化的 X86 服務(wù)節(jié)點和廣域網(wǎng)網(wǎng)關(guān)。Agilio 系列產(chǎn)品支持靈活的包解析和 Match-Action 處理,可以進行 eBPF、C、P4 編程。

  Cavium 推出基于 cnMIPS III 網(wǎng)絡(luò)處理器的 LiquidIO 系列智能網(wǎng)卡。其中,cnMPIS III 是 Cavium 公司實現(xiàn)的基于 MIPS64 指令集架構(gòu)(instruction set architecture,ISA)的 Octeon 系列第 3 代產(chǎn)品,此外,Octeon 系列產(chǎn)品中還有基于 ARM 的產(chǎn)品。

  2)基于 GP-SoC 智能網(wǎng)卡

  Mellanox 除了推出基于 FPGA 的 Innova 系列可編程智能網(wǎng)卡,還推出了基于 BlueField IPU(I/O processing unit)系列可編程智能網(wǎng)卡,支持 Ubuntu、Centos 系統(tǒng)。其中 BlueField 初代產(chǎn)品集 ConnectX-5 控制器、ARM v8 A72 處理器陣列(最多 16 核,0.8 GHz)、8/16 GBpsDDR4 內(nèi)存控制器于一體,最大支持雙端口 25/50/100 Gbps 的以太網(wǎng)或者 Infiniband 網(wǎng)絡(luò)連接。

  BlueField-2(也屬于一種 DPU)則集成了最新的 ConnectX-6 控制器,仍然使用 ARM 處理器陣列,可支持單口200Gbps 以太網(wǎng)或者 Infiniband 網(wǎng)絡(luò)連接,該系列智能網(wǎng)卡可用于加速數(shù)據(jù)中心或者超算中的安全、存儲、網(wǎng)絡(luò)協(xié)議及功能的卸載和加速。

 

01.JPG

  基于 MP 的智能網(wǎng)卡設(shè)計框架如圖所示,均含有以下重點模塊:

  ①多種已經(jīng)成熟的加速部件,如 Hash 計算、加解密(Crypto)等等;

 ?、谟糜谂c主機通信的 PCIe 接口,多數(shù)支持 SR-IOV;

 ?、鄱喾N與外設(shè)通信的接口,如 I2C,JTAG 等;

 ?、茉L問智能網(wǎng)卡板上內(nèi)存的控制器;

  ⑤片上 NP 或者 GP 多核,用于 OVS,RSS(receive side scaling)等網(wǎng)絡(luò)功能,以及用戶自定義功能。NP 或者 GP 多核的具體片上布局會有差異,多數(shù)設(shè)計采用 Mesh 方式,但也有例外,如 MPPA 則采用多個 Cluster 的方式,Cluster 內(nèi)部共享內(nèi)存。

  此外,有的 NP 內(nèi)部含有多種處理器核,如 Netronome NFP 系列 NP 內(nèi)部有包處理器核和流處理器核 2 大類,分別用于包的解析、分類和數(shù)據(jù)流的處理。

  3、基于ASIC 的架構(gòu)

  目前,基于 ASIC 的智能網(wǎng)卡并不多,ASIC 芯片主要以網(wǎng)絡(luò)控制器的角色出現(xiàn)在智能網(wǎng)卡中,如 Mellanox 的 ConnectX 系列、Broadcom 的 NetXtreme 系列、Cavium 的 FastLinQ 系列。此類 ASIC網(wǎng)絡(luò)芯片除了能夠滿足傳統(tǒng)的網(wǎng)絡(luò)協(xié)議(如 TCP、RoCE)處理需求,又具備一定的卸載 CPU 處理能力和可編程性。

  以 Mellanox 最新的ConnectX-6 產(chǎn)品為例,其在一定程度上提供對數(shù)據(jù)平面的可編程處理和硬件加速,提供虛擬化、SDN 的支持,可硬件卸載網(wǎng)絡(luò)虛擬化中的VxLAN、NVGRE等協(xié)議,卸載網(wǎng)絡(luò)安全中的部分加解密運算,支持 NVMe-oF 等用于存儲場景的存儲協(xié)議處理,支持 GPU-Direct 等機器學習應(yīng)用場景中數(shù)據(jù)零拷貝的低延時通信。

  4、架構(gòu)對比

  上述 3 種主要架構(gòu)的對比如下:

 ?。?)在性價比方面,基于 ASIC 的智能網(wǎng)卡,基本上可以滿足多數(shù)通用網(wǎng)絡(luò)處理的應(yīng)用場景,可以在預定義的范圍內(nèi)對數(shù)據(jù)平面進行可編程處理,并提供有限范圍內(nèi)的硬件加速支持,如果是批量使用,在性價比上會有較大的優(yōu)勢。

 ?。?)在編程復雜度方面,基于 ASIC 的智能網(wǎng)卡雖不及基于 MP的智能網(wǎng)卡那么簡單,卻也遠易于基于 FPGA 的智能網(wǎng)卡。

 ?。?)在使用靈活性方面,基于 ASIC 的智能網(wǎng)卡相比于其他的智能網(wǎng)卡靈活性最差,對于更復雜的應(yīng)用場景則顯得力不從心,更明確的來說,單純基于 ASIC 的智能網(wǎng)卡應(yīng)該稱之為卸載網(wǎng)卡,因為其可編程性并不完全。

  從長遠的角度分析,其定制化的邏輯,對于已經(jīng)成熟的應(yīng)用場景雖然能夠提供顯著的性能提升,但是隨著時間的推移,新的應(yīng)用場景對智能網(wǎng)卡將會提出新的功能要求。目前,很多廠家采用 ASIC+GP 的設(shè)計方式來解決這一問題,類似 Mellanox 的 BlueField產(chǎn)品(集成了 ConnectX-5 和 ARM)。同時,商家不斷地更新 ASIC 產(chǎn)品,將成熟的技術(shù)定制化到網(wǎng)卡中,如 ConnectX 系列已更新到第6代??梢姡w系結(jié)構(gòu)中靈活性和性能之間的競爭依然在繼續(xù)。



更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。