《紫金山實驗室:未來網絡白皮書-SmartNIC&DPU技術白皮書(2022)(147頁).pdf》由會員分享,可在線閱讀,更多相關《紫金山實驗室:未來網絡白皮書-SmartNIC&DPU技術白皮書(2022)(147頁).pdf(147頁珍藏版)》請在三個皮匠報告上搜索。
1、 I 前 言 長期以來,CPU 和 GPU 是計算的兩個主要單元。CPU 用來執行通用計算任務,而 GPU 則幫助 CPU 完成更復雜的任務,例如圖形和人工智能計算。然而,隨著數據量的增加,計算已經從一般服務器轉移到大型數據中心,這催生了數據中心內外高效聯網、處理數據、遷移數據和功能卸載的需求。SmartNIC(Smart network interface card)和 DPU(Data processing unit)主要用以快速聯網、高效數據處理、加速數據傳輸,并能實現網絡、存儲和安全等功能卸載。SmartNIC 和 DPU 能夠滿足數據中心高效聯網,處理和遷移數據以及功能卸載的需求,助
2、力后摩爾定律時代數據中心和網絡性能的持續改進,同時對運營商網絡智能化轉型、東數西算、新一代算力網絡構建、云網邊端融合具有促進作用。本白皮書介紹 SmartNIC/DPU 的特征和需求、硬件和編程架構、技術和產業發展趨勢,提供應用場景和應用案例,介紹相關公司及產品、以及 SmartNIC/DPU 的測試技術,同時提出發展建議,以期促進SmartNIC/DPU 相關產業發展。II 目 錄 前 言.I 目 錄.II 一、SmartNIC/DPU 簡介.1 1.1 SmartNIC/DPU 背景和特征.1 1.2 SmartNIC/DPU 需求和意義.4 1.3 相關產業鏈現狀分析.7 1.4 Sma
3、rtNIC/DPU 發展目標.11 二、SmartNIC/DPU 技術.13 2.1 SmartNIC.13 2.2 DPU.32 2.3 RDMA.44 三、SmartNIC/DPU 技術和產業發展趨勢.47 3.1 架構和編程框架趨勢.47 3.2 協議接口探索.48 3.3 應用探索.48 3.4 產業發展趨勢分析.49 四、SmartNIC/DPU 應用場景與案例.51 4.1 應用場景.51 4.2 應用案例.79 III 五、SmartNIC/DPU 相關公司及產品.97 5.1 部分 SmartNIC 相關公司及產品.97 5.2 部分 DPU 相關公司及產品.107 六、Sma
4、rtNIC/DPU 測試介紹.125 6.1 測評場景介紹.125 6.2 測評技術介紹.126 6.3 測評項目名稱列表.129 七、SmartNIC/DPU 行業發展建議.132 7.1 發展面臨問題.132 7.2 發展策略建議.134 八、SmartNIC/DPU 未來展望.136 附錄 A:術語與縮略語.139 參考文獻.140 1 一、一、SmartNIC/DPU 簡介簡介 1.1 SmartNIC/DPU 背景背景和和特征特征 數據中心自 20 世紀 90 年代誕生以來,憑借其強大的計算和存儲能力,不斷為云計算、物聯網、大數據和人工智能等應用提供動力,已成為數字時代最重要的基礎設
5、施之一12。根據 IDC 數據顯示,2020-2025 年全球產生或復制數據量以CAGR 23%保持增長,并預計每四個月對算力的需求就會翻一倍3。海量數據增長、數據頻繁交互以及各類應用激增帶來的巨大流量增長,加速數據中心網絡向更高性能和更高靈活性方向演進。數據中心網絡打破傳統端口速率十倍增長的十年代際演進周期,加速向 100 Gbps、200 Gbps、400 Gbps,甚至 800 Gbps、1.6 Tbps 發展。根據華為預測,未來十年通用算力將增長 10 倍,人工智能算力將增長 500 倍4。然而受限于摩爾定律放緩、量子計算不成熟,CPU 計算能力增速低于網絡傳輸速率的增速,并且差距持續
6、增大,通過 CPU 訪問內存、進行數據搬移、計算的開銷正變得讓人望而卻步。根據中科院數據顯示,微服務通信開銷大約消耗 CPU 性能的 22%80%,且服務 10G 網絡通信的協議處理就需要 8 核高端 CPU 一半的算力。因此,迫切需要一種可編程的智能網絡適配器來卸載數據中心的網絡工作負載,減輕 CPU 處理任務的負擔,滿足高速數據處理需要,同時降低成本。2 智能網卡應運而生,如圖1-1所示,其發展歷程可被劃分為三個階段:基礎網卡、第一代智能網卡和第二代智能網卡。圖 1-1.智能網卡的發展歷程5?;A網卡(Network Interface Card,NIC)是將電腦接入局域網的設備,通過網絡
7、介質傳輸實現用戶和網絡設備間的數據格式轉換,僅具備物理層和數據鏈路層的功能,主要負責數據幀的封裝、解封以及物理層電氣信號的相應處理。網絡協議棧中傳輸層、路由層等更高層的邏輯則由端系統的 CPU 負責,但隨著 overlay 協議、OpenFlow、Open vSwitch(OVS)等虛擬交換技術的引入,網絡數據平面復雜性急劇增加,使得 CPU 側負載過重,基礎網卡的固定流量處理功能逐漸無法滿足需求。該階段的網卡主要通過 DPDK 和 SR-IOV 等方式向虛擬機(VM)提供網絡接入能力。第一代智能網卡(Smart NIC)最早由 Netronome 6 公司于 2016年提出,旨在實現基礎網卡
8、網絡傳輸功能的同時靈活實現復雜網絡數 3 據平面功能。隨后智能網卡的硬件卸載功能被不斷完善,并逐漸發展為提供內置可編程、可配置的硬件加速引擎,通過將 OVS 功能從服務器 CPU 卸載到網卡,釋放昂貴的 CPU 資源,并提供更好的可擴展性和更高的性能。該階段的網卡以數據平面的加速為主,例如:OVS Fastpath 硬件卸載、RDMA 網絡硬件卸載、存儲領域 NVMe-oF 硬件卸載等,主要負責存儲加速、數據加密/解密、深度包檢測和復雜路由等功能。第二代智能網卡(現階段的智能網卡),在具備第一代智能網卡基礎功能的同時,實現了控制面的加速和數據面加速的增強,比較典型的有英偉達(Nvidia)的
9、DPU(Data Processing Unit)和英特爾(Intel)的 IPU(Infrastructure Processing Unit)。DPU 概念最早由 Fungible 于2018 年提出,2020 年 Nvidia 發布首款 DPU 產品,在支持網絡處理、安全和存儲功能的同時,實現網絡虛擬化、硬件資源池化等基礎設施層服務。Intel 在 2021 年發布的 IPU,通過提供完整基礎設施卸載能力進一步釋放 CPU 算力,并通過充當運行基礎設施應用程序的主機控制點來提供額外的安全層。當前階段,面向多種應用場景下的算力提高和數據處理加速需求,智能網卡正在不斷完善其商用能力,并在持續
10、更新技術與性能的同時,將向更多應用領域擴展,如金融、醫療、交通、人工智能、元宇宙等。智能網卡目前在業界尚未形成統一定義,我們將其定義為一種以數據為中心構造的兼具硬化加速器和網絡連接的可編程智能網絡適配器,主要負責卸載、加速和隔離軟件定義的網絡、存儲、安全和管 4 理功能,最終實現數據中心性能、效率和安全能力的顯著提高。智能網卡一般擁有以下特征:具有獨立的計算單元,能完成特定的重組加速、安全加速等基礎設施功能操作并提升應用性能;集成多核 CPU 和專用處理器核,能實現數據面和控制面卸載,同時滿足多業務處理;具有高性能網絡接口(如 50/100/200/400G 接口),能以線速解析、處理并有效地
11、將數據傳輸到 GPU 和 CPU;具備靈活的可編程加速引擎,能為網絡、存儲、安全和虛擬化等提供高性能的定制化卸載,同時滿足不同應用設計和開發需求;具有安全管理功能,支持硬件信任根、安全啟動、安全固件升級等;配置高速 PCle,如 PCle 4.0/5.0,支持 PCle Root Complex 和 Endpoint 模式;具有片上內存控制能力,如集成 DDR/HBM。智能網卡的優勢包括:1)實現業務和基礎設施操作分離,提高服務器和數據中心的效率和吞吐量,并降低長尾延遲;2)實現各種基礎設施操作卸載,提供軟件定義和硬件加速的網絡、存儲、安全和管理等服務;3)實現零信任安全保護,通過卸載控制平面
12、完全隔離主機業務保證安全;4)實現硬件可編程,為廣泛應用程序提供定制化能力或重新組裝以滿足新要求。1.2 SmartNIC/DPU 需求需求和意義和意義(1)從行業的角度:隨著萬物互聯時代的到來,家居、醫療、工業、交通等場景逐步向數字化轉變,算力呈現指數級增長,芯片將成為突破算力瓶頸的關鍵。然而芯片技術研發成本高、代際演進周期 5 長(通常為 5-10 年),產能受制于行業寡頭。為了緩解這一問題,行業需要共同推進 CPUSmartNIC/DPU 產業發展,借助異構架構彌補CPU 算力發展的瓶頸,重新構建全球化行業生態。(2)從技術的角度:智能網卡面臨的挑戰包括 1)潛在的功耗和可編程復雜度高的
13、問題,隨著更多功能的集成,功耗、可編程性和復雜性會越來越高,同時將消耗大量資源來進行開發和調試,導致時間和資源成本越來越高;2)面向多領域/多場景承載需求,需要大量處理引擎,使得軟硬件解耦非常困難。因此,需要相關研究機構和產業鏈上下游的公司協同攻克智能網卡設計和制造中的關鍵技術,取得更好的成本、性能和適用范圍的平衡。(3)從用戶的角度:全球數據量激增促使數據中心網絡從“以計算為中心”轉向“以數據為中心”,加速數據傳輸、提升用戶體驗,需要最小化后端請求的尾部延遲。網絡帶寬和連接數的劇增進一步推進算力需求爆炸式增長,而摩爾定律日趨極限,CPU 性能增長速度逐漸放緩。尋求更符合用戶需求的計算芯片已成
14、為業界共識。(4)從場景的角度:智能網卡可以在網絡功能卸載、存儲功能卸載、安全功能卸載以及 5G MEC、人工智能、區塊鏈、科學計算等諸多應用場景中發揮重要作用。在虛擬化的云計算網絡中,同主機上的虛擬機之間、不同主機上的虛擬機之間都需要進行網絡通信與流量隔離,加上虛擬機的動態創建、刪除和遷移等操作,對網絡性能及 CPU 算力提出更高要求,需要智能網卡完成 OVS 的全卸載以減輕 CPU 負擔,同時提高轉發效率 6 和吞吐量。在業務發展過程中,計算和存儲硬件配型更新頻繁,二者需求能力適配難,且存儲擴展會面臨大量數據遷移問題導致難以打通,為了高效服務應用需求,需要智能網卡實現“算存分離”。此外,虛
15、擬化網絡技術的發展促使眾多安全功能產品(如:NGFW/DDoS 等)逐漸以虛擬化方式并通過云平臺來部署管理,由于這些安全功能部署在數據中心流量的主要路徑,轉發性能對整體網絡的吞吐量和時延具有重要影響,以往基于 X86 的軟件實現方式與基于 Hypervisor 的虛擬化網絡方式無法滿足高性能安全功能設備硬件加速與隔離網絡虛擬化的需求。隨著各種業務和應用在邊緣端的匯聚,5G MEC 計算開銷急劇上升,而邊緣機房的供電、散熱及承重能力有限,使得對基礎設施的低延遲、高速率轉發性能以及低功耗提出更高要求,同時虛擬化用戶面UPF 下沉到 MEC,其業務模型復雜需要選擇性卸載轉發并將高可靠低時延低抖動業務
16、要求的用戶會話卸載到硬件中。此外,人工神經網絡加速、區塊鏈交易安全、科學計算通信加速等應用都對算力需求和基礎設施性能提出了更高要求。7 1.3 相關產業鏈現狀分析相關產業鏈現狀分析 圖 1-2.智能網卡產業鏈簡要圖譜8。(1)上游分析 圖 1-3.全球 EDA 行業簡要格局。EDA 是集成電路設計的基礎工具,貫穿集成電路設計、制造和封測等環節,對智能網卡的研發與量產至關重要。從全球角度來看,EDA行業主要由Synopsys、Cadence、Siemens EDA(原Mentor Graphics)三家公司壟斷,共占全球市場份額的 78%,屬于第一梯隊,如圖 1-3 8 所示。從國內角度來看,國
17、內 EDA 企業(主要有華大九天、概倫電子和芯啟源)與第一梯隊仍有較大差距,根據賽迪智庫數據,2020 年國內 EDA 市場銷售額約 80%由全球三巨頭占據,華大九天作為國內EDA 龍頭企業僅占約 6%。國內 EDA 企業難以提供全流程產品,但在部分細分領域具有優勢,例如:華大九天是全球唯一提供全流程FPD 設計解決方案的企業,概倫電子在 SPICE 建模工具及噪聲測試系統方面技術處于領先地位,而芯啟源的 Mimic 平臺同時具備原型驗證與仿真能力,與將這兩種能力分開銷售的三巨頭相比具備差異化優勢。此外,芯啟源在發展 EDA 工具的同時也在積極研發 DPU,未來將有望推動智能網卡產業鏈整體能力
18、提高。表 1-1.全球 EDA 主要企業提供的產品概覽。IP 核是智能網卡芯片設計與開發的核心要素之一,隨著芯片制程技術的提高,其功能和性能的穩步提升同時單顆芯片 IP 核數量也會增加。全球 IP 核行業由 ARM 與 Synopsys 領跑,根據 IPnest 數據,2020 年 ARM、Synopsys 分別位列全球第一、第二位,共占據全球 IP授權市場份額的 60.2%,遠超位列全球第三的 Cadence(僅占 6.0%)。芯原作為唯一進入全球排名前十的中國 IP 核供應商,產品線基本覆蓋全流程且與全球領軍企業相當,具備承接智能網卡芯片廠商需求的 9 能力。表 1-2.全球 IP 核主要
19、企業排名、市場份額及產品概覽。(2)智能網卡產業分析 表 1-3.部分全球智能網卡企業概覽。目前全球智能網卡產業仍處于起步階段,國內外企業呈現百家爭鳴的競爭格局,如表 1-3 所示。從時間來看,全球智能網卡廠商步調 10 基本一致,商品落地、搶占市場、營造生態成為智能網卡產業發展的關鍵。智能網卡商品落地方案多以從基本的網絡控制器擴展至 SoC 為主,主流方案類型可概括為三種:一是采取處理器配合 FPGA 外加加速引擎的智能網卡,例如 Intel 的 IPU,以犧牲部分靈活性為代價增強應用針對性和性能;二是采取最新處理器內核配合加速引擎的智能網卡,例如 Marvell 的 OCTEON 10,算
20、力很高但是針對特殊的算法和應用仍具有局限性;三是采用處理器配合 ASIC 外加加速引擎的智能網卡,例如 NVIDIA 的 BlueField-3,同時保證可編程靈活性和應用高性能,是目前最新的產品趨勢9。智能網卡市場仍處于藍海,國內智能網卡廠商具有良好發展機遇。中國具備互聯網產業強優勢,擁有大規模網民和線上生態,且愈加重視網絡安全,為智能網卡的發展奠定了市場基礎。此外,國內多家企業已經開始積極布局智能網卡及其上/下游產業,如芯啟源、中科馭數、益思芯科技、大禹智芯、阿里等,有望通過不斷加強自研能力促進智能網卡行業的進一步發展。(3)下游分析 全球云廠商、通信領域廠商已開始積極布局,智能網卡的應用
21、需求不斷擴張。亞馬遜與阿里云皆在 DPU 概念被正式提出之前就自主研發了相關產品用于自身業務定制化硬件加速,例如:AWS Nitro system 和 X-Dragon。國內電信領域業務持續擴大,虛擬化及邊緣側對智能網卡的需求穩步提升,智能網卡可以解決邊緣算力資源消耗問題同時降低機房功耗,提升邊緣業務能力。國內外智能網卡終端應用 11 服務商步調基本一致,國內終端應用服務商有望通過抓住時間窗口或與智能網卡芯片廠商合作,進一步提升自身業務和技術能力,從而占據智能網卡市場有利地位。1.4 SmartNIC/DPU 發展目標發展目標 智能網卡為解決算力供需失衡問題而生,行業發展目標主要分為縱向深耕和
22、橫向擴展兩個方面。(1)根據具體的應用領域完成從研發到商業化落地,對智能網卡行業進行縱向深耕,實現高度可編程、通用和專用并存的智能網卡,構造成熟的智能網卡軟硬件體系。針對不同的場景和用戶需求,智能網卡通過“軟件定義,硬件加速”的軟硬件協作方式,滿足用戶對存儲、網絡、安全等應用的具體需求。上下游企業共同構建開放、安全的生態環境,按照存儲、虛擬化等基礎技術研發的規律來研發智能網卡,劃分好邏輯層次,構造一個完整的智能網卡軟硬件體系5。(2)智能網卡創新產品賦能各行各業,推進智能網卡成為新的生產力,實現承載更多業務種類和業務場景的智能網卡產品。智能網卡通過承載更加豐富的應用場景實現橫向擴展,包括但不限
23、于云網絡、存儲、安全、高性能計算以及人工智能、5G MEC 等應用場景7。例如在云網絡中,智能網卡提供硬件加速服務,將原本在CPU 上運行的通信和虛擬化操作卸載到智能網卡;在網絡安全中,智能網卡可以將安全業務操作(如數據的加密/解密)從 CPU 卸載到網 12 卡來降低 CPU 負載;在數據存儲中,智能網卡可成為存儲的入口,將遠程訪問和分布式的存儲本地化。13 二二、SmartNIC/DPU 技術技術 2.1 SmartNIC 2.1.1 SmartNIC 架構架構技術技術 從核心處理器角度來分析,目前 SmartNIC 架構主要有 3 類,分別基于 FPGA(field-programmab
24、le gate array),MP(multi-core processors)和 ASIC(application specific integrated circuit)1。2-socket服務器DRAMCPUCPUDRAMNICCatapult架構DRAMRoleShellStratix V FPGA10Gbps101010ToR10Gbps2D Torus網絡中的其他FPGAPCIePCIeQPI2-socket服務器DRAMCPUCPUDRAMNICSmartNIC V1DRAMRoleShellStratix V FPGAToR40GbpsPCIePCIeQPI40Gbps(a)微
25、軟 Catapult 架構 (b)微軟 SmartNIC V1 2-socket服務器DRAMCPUCPUDRAMNICSmartNIC V2DRAMRoleShellArria 10 FPGAToRPCIeQPI50Gbps(c)微軟 SmartNIC V2 圖 2-1.微軟基于 FPGA 的 SmartNIC 架構1。14 2.1.1.1 基于基于 FPGA 的的架構架構 微軟研究院是以 FPGA 作為智能網卡核心可編程處理器的重要代表1。圖 2-1 描述了微軟一系列設計架構的演進。2014 年,微軟提出了基于高端 FPGAAltera Stratix V D5 的 Shell(通用邏輯)
26、+Role(可重構處理邏輯)的可重構數據中心云服務加速方案,用于解決商用服務器滿足不了飛速增長的數據中心業務需求、定制化加速器成本開銷大且靈活性不足的問題1。如圖 2-1(a)所示,其中 Shell 為可重用的通信、管理、配置等通用邏輯,包含 2 個 DRAM 控制器(管理 FPGA 上的 2 塊 DRAM)、4 個 10 Gbps 輕量級 FPGA 間串行通信接口 SerialLite 3、管理 DMA 通信的 PCIe 核、路由邏輯(用于管理來自 PCIe,Role,SerialLite 3 的數據)、重新配置邏輯(用于讀、寫、配置 Flash)、事件翻轉邏輯(用于階段性的監督 FPGA
27、狀態以減少錯誤);而 Role 則位于 FPGA 芯片的固定區域中,是與用戶加速應用緊密相關的邏輯,可以將 Bing 搜索排序邏輯映射到 Role 中進行加速1。在 Catapult 設計中,考慮到 FPGA 的管理和使用,同機架下的所有 FPGA 以 68 的 2 維 Torus 網絡拓撲的形式組成一套新的網絡進行連接,可以將同機架下的所有 FPGA 作為加速資源使用。但是,使用第 2 套網絡的設計方式:一方面,增加了網絡的開銷和容錯管理;另一方面,對于網絡流、存儲流、分布式應用僅能提供有限的加速。此外,機架內的 2 維 Torus 直連使得用戶對跨機架的 FPGA 資源無法進行有效的使用1
28、。15 微軟在 2016 年的研究工作中對 Catapult 進行了改進,將 FPGA網絡與數據中心網絡融合,提出了新的云加速架構設計1。如圖 2-1(b)所示,在 Stratix VD5 FPGA 板卡上設計了 2 個 40 Gbps 的 QSFP(quad small form-factor pluggable)端口,分別與主機端已有的普通網卡和架頂交換機(top-of-rack,ToR)相連接,對應地,在新的 Shell設計中,原來 Catapult 的 4 端口 SerialLite 3 被替換為輕量級傳輸層(lightweight transport layer,LTL)引擎用于處理
29、 2 個 40Gbps 端口。這樣,所有的網絡數據都要經過 FPGA 的以太網端口,FPGA 便可以更直接、高效地對網絡數據流、存儲數據流進行加速,在可擴展性上也有很大提升。除了可以加速網頁搜索應用,還對傳輸中的網絡數據加密進行了 FPGA 加速,以體現該設計的加速效果1。微軟在 2018 年的研究中將軟件定義網絡(SDN)棧卸載到其二代智能網卡,用以更好地支持 SR-IOV1。如圖 2-1(c)所示,此時,二代智能網卡已將通用網卡和高端 Intel Arria 10 FPGA 集成到 1 個板卡上,對外的 ToR 端口已經達到 50 Gbps,但從架構上而言并無實質的變化,仍然采用將 FPG
30、A 放置在通用網卡和 ToR 數據通路之間的設計,用于高效地處理數據流,提供路徑上的網絡功能、特定應用加速。微軟在后來的研究中指出,鑒于當前可編程網卡、可編程交換機的硬件條件支持,充分利用可編程網絡設備組成高效的全網可編程云將成為一種趨勢1。除微軟外,Mellanox、Intel、Xilinx 等也相繼推出基于 FPGA 的智能網卡類產品1:16 1)Mellanox 推出了 Innova 系列基于 Xilinx Kintex UltraScale 高端 FPGA 的智能網卡,包含 Innova 和 Innova-2 Flex 共 2 代產品。最新的 Innova-2 智能網卡中內嵌其 Con
31、nextX-5 網卡控制器,提供40/100Gbps 雙端口以太網或者 InfiniBand 網絡,ConnextX 系列 ASIC已經滿足基本的智能網卡卸載功能,如 RoCE(Remote direct memory access over converged ethernet)網絡協議、vSwitch/vRouter、I/O 虛擬化的硬件卸載,而高端的可編程 FPGA 則可以為用戶提供更高效的特定應用加速服務,例如安全、存儲、機器學習等方面的應用加速。2)Intel 則推出了基于 2 大類可編程 PCIe 加速卡,其中基于Arria10/Arria10 GX FPGA 的可編程加速卡 In
32、tel FPGA PAC(Intel FPGA programmable acceleration card)N3000,用于加速協議棧處理、NFV 等應用1;此外,另有基于 Stratix 10 SX 的可編程加速卡 Intel FPGA PAC D5005,面向數據流分析、視頻編碼轉換、金融、人工智能、基因分析等領域1。3)Xilinx 推出的網卡包括 XtremeScale X2 和 8000 共 2 個系列以太網卡1。其中,X2 系列產品是面向數據中心的設計,帶寬達到10/25/40/100 Gbps,其 Cloud Onload 旁路內核技術、TCP-Direct 技術與 X2 的結
33、合可以在負載均衡、數據庫緩存、容器應用、網頁服務方面減輕操作系統的開銷,提高性能;其中 8000 系列產品,帶寬達到10/40 Gbps,延時小于 1us,提供用戶自定義功能的軟件接口,可用于特定應用加速,以及網絡包抓取、監控、分析、過濾等。2020 年 3 月,Xilinx 將已有技術進行整合,將 XtremeScale 以太網控制器與高端 17 Zynq UltraScale+XCU25 FPGA 結合,推出其最新的 Alveo U25 1智能網卡一體化平臺,應對業界的挑戰性需求與工作負載,如 SDN,OVS,NFV,NVMe-oF(non-volatile memory express
34、over fabric),以及電子交易、AI 推理、視頻轉碼和數據分析等。在編程框架方面,Alveo U25 支持高級綜合語言(high level synthesis,HLS)、P4 高級編程抽象,同時支持 Xilinx 的 Vitis 統一軟件平臺計算加速框架,方便Xilinx 及第三方應用加速??傮w而言,基于 FPGA 的智能網卡產品設計大多數與 Catapult 中的設計方案類似,即 FPGA 分為 Shell+Role,再與網卡芯片集成到一個板卡上。在具體的設計細節中,部分設計將逐漸趨于成熟的卸載技術轉移到 ASIC 網卡中,FPGA 的使用也逐漸向高端產品邁進1?;?FPGA 的
35、設計方式,因可極大地利用 FPGA 豐富的邏輯單元實現對數據快速的并行處理且引入較小的能耗開銷,而在產業界得到了一定的認可。但是,FPGA 對應的硬件編程語言在編程復雜度上較繁瑣,需要高效的編程框架(如 ClickNP)支持,且 FPGA 的價格相對昂貴,因此,在數據中心中大量部署基于 FPGA 的智能網卡需要具備雄厚的經濟實力1。2.1.1.2 基于基于 MP 的的架構架構 另一種得到業內認可的智能網卡的設計方式為采用片上多核的方式來進行網絡數據的可編程加速處理,多數使用片上系統(system on chip,SoC)的實現方案,使用的處理器核可以是專用的網絡處理 18 器(network
36、processor,NP),如 Netronome NFP 系列、Cavium Octeon 系列,也可以是通用處理器(general processor,GP),如 ARM1。下文將從網絡處理器和通用處理器兩個方面進行介紹。1)基于 NP-SoC 的智能網卡 Netronome 早期在 2016 年推出了 NFE-3240 系列用于網絡安全相關應用的智能網卡,對數據包可達到 20 Gbps 的 C 語言可編程線速處理。在 2018,2019 年,Netronome 陸續推出了 3 大系列 Agilio 智能網卡1:面向計算節點的 Agilio CX,基于 NFP-4000 或者 NFP-50
37、00 網絡處理器,可以完全卸載虛擬交換機對網絡功能中數據平面的處理、卸載典型的計算密集型任務;面向 Bare-Metal 服務器的Agilio FX,基于 NFP-4000 網絡處理器和 4 核 ARM v8 Cortex-A72 CPU(可運行 Linux OS);面向服務節點的 Agilio LX,基于 NFP-6000 網絡處理器,主要用于虛擬化、非虛擬化的 X86 服務節點和廣域網網關。Agilio 系列產品支持靈活的包解析和 Match-Action 處理,可以進行 eBPF、C、P4 編程。Cavium 推出基于 cnMIPS III 網絡處理器的 LiquidIO 系列智能網卡1
38、。其中,cnMPIS III 是 Cavium 公司實現的基于 MIPS64 指令集架構(instruction set architecture,ISA)的 Octeon 系列第 3 代產品,此外,Octeon 系列產品中還有基于 ARM 的產品。cnMPIS III 中的CN7*系列產品頻率可達 2.5 GHz,集成 48 個處理器核,cnMPIS III 系列處理器面向智能網絡相關應用(從 Layer2 到 Layer7)的可編程需求,吞吐可滿足 100 Mbps 到 200 Gbps 的網絡,以此為核心處理器 19 設計的 LiquidIO,LiquidIO II 智能網卡,可進行 C
39、 語言編程,可以用于 OVS、NFV、安全、存儲、應用加速等智能網絡服務。華為推出了 IN 系列 3 大類智能網卡1:早期 2012 年的 iNIC 系列、2017 年的 SD100(基于 ARM 通用處理器,含 16 個 2.1GHz Cortex-A57 處理核心)、2018 年 5 月的 IN500 系列(IN200 基于海思 Hi1822芯片,IN300 FC HBA 基于海思高性能 Fibre Channel HBA 芯片)。此外,SolidRun 推出基于 NXP LX2160A 通信處理器的智能網卡1,Silicom 推出基于 NetLogic XLP316 和 RMI XLS4
40、16 網絡處理器的 2類智能網卡1,Kalray 推出基于第 3 代 MPPA(massively parallel processor array)架構Coolidge處理器的KONIC200系列智能網卡1,其中每個 Coolidge 處理器含有 80 個 64b 超長指令字核、80 個協處理器、其他加速部件及外圍連接邏輯。2)基于 GP-SoC 智能網卡 Mellanox 除了推出基于 FPGA 的 Innova 系列可編程智能網卡,還推出了基于 BlueField IPU(I/O processing unit)系列可編程智能網卡1,支持Ubuntu、Centos系統。其中BlueFie
41、ld初代產品集ConnectX-5 控制器、ARM v8 A72 處理器陣列(最多 16 核,0.8 GHz)、8/16 GBps DDR4 內存控制器于一體,最大支持雙端口 25/50/100 Gbps 的以太網或者 Infiniband 網絡連接。BlueField-2(也屬于一種 DPU)則集成了最新的 ConnectX-6 控制器,仍然使用 ARM 處理器陣列,可支持單口200Gbps 以太網或者 Infiniband 網絡連接,該系列智能網卡可用于加速數據中心或者超算中的安全、存儲、網絡協議及功能的卸載和加速。20 Broadcom 推出 Stingray 系列智能網卡產品118,其
42、 PS410T,PS225,PS250 產品分別定位為 410Gbps,225Gbps,250Gbps 高性能數據中心智能網卡,支持數據平面加速和軟件定義存儲(software defined storage,SDS),如 NVMe-oF。以 PS250 為例,Stingray SoC 集成了 NetXtreme E 系列 100 Gbps 以太網卡控制器、TruFlow 可配置流加速器、8 個 ARM v8 Cortex-A72 處理器核(3.0 GHz)及多種加速引擎,支持 RoCE v1/v2,SR-IOV,使用標準的 Linux 系統、GNU 工具庫,定位用于 Bare Metal 和
43、虛擬化服務器平臺(OVS 卸載)、存儲服務器場景。Amazon 于 2015 年初收購以色列芯片制造商 Annapurna,次年,Annapurna 實驗室發布 Alpine 系列基于 ARM v7 或者 ARM v8 架構的芯片,可用于網絡存儲、虛擬化、云服務等場景,并在 AWS 中得到使用1。在此基礎上,Amazon 相繼推出幾代 Nitro 系統,并于 2018年發布 Graviton 處理器,雖然并未公開 Nitro 系統的架構,但其中應當存在基于 ARM 的智能網卡的影子1?;?MP 的智能網卡設計框架如圖 2-2 所示,均含有以下重點模塊1:多種已經成熟的加速部件,如 Hash
44、計算、加解密(Crypto)等等;用于與主機通信的 PCIe 接口,多數支持 SR-IOV;多種與外設通信的接口,如 I2C,JTAG 等;訪問智能網卡板上內存的控制器;片上 NP 或者 GP 多核,用于 OVS,RSS(receive side scaling)等網絡功能,以及用戶自定義功能。NP 或者 GP 多核的具體片上布局會有差異,多數設計采用 Mesh 方式,但也有例外,如 MPPA 則采 21 用多個 Cluster 的方式,Cluster 內部共享內存。此外,有的 NP 內部含有多種處理器核,如 Netronome NFP 系列 NP 內部有包處理器核和流處理器核 2 大類,分別
45、用于包的解析、分類和數據流的處理1?;?NP 和 GP 的 SoC 在具體設計上略有差異1:如圖 2-2 所示,基于 NP-SoC 的設計,可能將網絡協議如 TCP、遠程數據直接訪問(RDMA)放在 NP 核上處理,如華為智能網卡;如圖 2-2 所示,基于 GP-SoC 的設計,其內部多數會集成專門的網絡控制器,用于網絡協議的處理,甚至部分典型的網絡功能卸載,而將更復雜的任務放在GP核上處理,如Mellanox BlueField智能網卡內部集成了ConnectX控制器,而 Broadcom Stingray 智能網卡內部集成了 NetXtreme E 控制器專用于網絡協議處理;如圖 2-2
46、 所示,部分基于 NP-SoC 設計,除了集成眾多 NP 核用于實現可編程功能,還有可能集成幾個 GP 核,可運行 Linux 系統,用于 Bare-Metal 服務器場景,如 Netronome Agilio FX 智能網卡同時集成了 NFP-4000 和 ARM v8 Cortex-A72。在性能方面,基于 NP-SoC 的智能網卡會略勝于基于 GP-SoC 的智能網卡,因為在并行性上,NP 相比 GP 更占優勢,但基于 MP 的性能均不及基于 FPGA 的性能;在成本方面,基于 NP-SoC 的智能網卡會低于基于 GP-SoC,FPGA 的智能網卡;在編程方面,基于 NP-SoC 的編程
47、復雜度居于 FPGA 和 GP-SoC 之間,基于 GP-SoC 的智能網卡在編程方面最友好。22 I CSPIJTAGGPIO2I/OSR-IOVDMAPCIe智能網卡片上存儲外部接口主機接口GP多核Hash統計功能加速器原子操作查詢CAMQoSCryptoBulk.互聯LSO/LROOVSNP/GP多核RSSVXLANRDMATCP.UDP網絡控制器RDMATCP.UDP存儲控制器數據包修改流量管理網絡接口(Ethernet、InfiniBand)網絡僅存在于NP-SoC可能存在于NP-SoC僅存在于GP-SoC均存在于MP-SoC 圖 2-2.基于 MP 的 SmartNIC 模塊架構圖
48、1。2.1.1.3 基于基于 ASIC 的的架構架構 目前,基于 ASIC 的智能網卡并不多,ASIC 芯片主要以網絡控制器的角色出現在智能網卡中,如 Mellanox 的 ConnectX 系列、Broadcom 的 NetXtreme 系列、Cavium 的 FastLinQ 系列1。此類 ASIC網絡芯片除了能夠滿足傳統的網絡協議(如 TCP、RoCE)處理需求,又具備一定的卸載 CPU 處理能力和可編程性。以 Mellanox 最新的ConnectX-6 產品為例,其在一定程度上提供對數據平面的可編程處理 23 和硬件加速,提供虛擬化、SDN 的支持,可硬件卸載網絡虛擬化中的VxLAN
49、(virtual extensible local area networks)、NVGRE(network virtualization use generic routing encapsulation)等協議,卸載網絡安全中的部分加解密運算,支持 NVMe-oF 等用于存儲場景的存儲協議處理,支持 GPU-Direct 等機器學習應用場景中數據零拷貝的低延時通信。2.1.1.4 架構對比架構對比 上述 3 種主要架構的對比如下1:(1)在性價比方面,基于 ASIC 的智能網卡,基本上可以滿足多數通用網絡處理的應用場景,可以在預定義的范圍內對數據平面進行可編程處理,并提供有限范圍內的硬件加
50、速支持,如果是批量使用,在性價比上會有較大的優勢。(2)在編程復雜度方面,基于 ASIC 的智能網卡雖不及基于 MP的智能網卡那么簡單,卻也遠易于基于 FPGA 的智能網卡。(3)在使用靈活性方面,基于 ASIC 的智能網卡相比于其他的智能網卡靈活性最差,對于更復雜的應用場景則顯得力不從心,更明確的來說,單純基于 ASIC 的智能網卡應該稱之為卸載網卡,因為其可編程性并不完全。從長遠的角度分析,其定制化的邏輯,對于已經成熟的應用場景雖然能夠提供顯著的性能提升,但是隨著時間的推移,新的應用場景對智能網卡將會提出新的功能要求。目前,很多廠家采用 ASIC+GP 的設計方式來解決這一問題,類似 Me
51、llanox 的 BlueField 24 產品(集成了 ConnectX-5 和 ARM)。同時,商家不斷地更新 ASIC 產品,將成熟的技術定制化到網卡中,如 ConnectX 系列已更新到第 6代??梢?,體系結構中靈活性和性能之間的競爭依然在繼續。2.1.2 智能網卡編程框架智能網卡編程框架 智能網卡的處理器架構是設計智能網卡的硬件基礎,智能網卡的編程框架則是設計和使用智能網卡的軟件基礎,軟硬協同是設計智能網卡的重要方法。在此,將智能網卡的編程框架設計分為面向數據密集型和面向控制密集型 2 大類設計,分別偏向于對數據流和控制流提供更友好的支持1。2.1.2.1 數據密集型數據密集型 智能
52、網卡編程框架對數據密集型應用提供良好編程支持和性能加速的編程框架,被稱為數據密集型編程框架1。數據密集型智能網卡編程框架至少要具備 3 個特點:1)盡可能減少主機服務器在數據通路上對數據搬移的開銷;2)向用戶提供具備一定編程能力的接口,滿足可編程應用的需求;3)將軟件編程和硬件架構之間進行合理的映射,以實現對數據流進行高效的流水處理。RDMA 作為一種在高性能計算中常用的通信方式,近些年逐漸被廣泛應用到數據中心網絡中1,使用 RDMA 通信可以旁路主機端操作系統、減少通信中數據拷貝的開銷,提供低延時、高帶寬的通信性能,是進行數據通路優化的一種重要方式。Mellanox 的 OFED 提供 25
53、 了標準的 RDMA 支持,Portals 4 也提供了類似 RDMA 的通信接口,FlexNIC 和 sPIN 則在支持 RDMA 的基礎上對網卡進行了可編程功能的強化和流水處理的設計1。此外,基于 FPGA 的 ClickNP 和基于MP 的 Floem 也是典型的數據密集型智能網卡編程框架1。輸入.入口流水線出口流水線 .數據包指針隊列數據包負載緩存DMADMA流水線輸出.包解析包封裝域0緩沖區域1緩沖區域n緩沖區Match-Action 1Match-Action n包頭負載.入口/出口流水線 圖 2-3.FlexNIC 模型1。如圖 2-3 所示,FlexNIC 的設計繼承了 RMT
54、(reconfigurable match table)可編程交換機架構,對數據包的處理分為入口流水線和出口流水線 2 部分,每一部分都包含包解析、Match-Action(匹配包頭字段并執行對應的操作)、數據包整合 3 個處理階段,可編程的功能以Match-Action 的形式映射到多核處理器中,對數據包中自定義的域進行流水處理。由于智能網卡需要與主機端進行數據交互,如圖 2-3 所示,FlexNIC 的設計中增加了 DMA 操作流水線和 DMA 引擎1。FlexNIC 使用 P4 語言進行編程,并且增加了部分原語用于簡化編程1。這種設計方法,對于簡單的操作,經過一次流水便可以完成處理;但是
55、,對于復雜的操作,需要的 Match-Action 操作數量大于流水線中 26 Match-Action 單元總數時,未處理完的數據包需要重新進入流水線進行新一輪流水處理,這樣將大大增加處理延時。包調度器片上共享存儲(用于HPU handlers和數據)DMA包頭handler 消息2 HPU 0 消息1sPIN SmartNIC HPU 1 消息1 HPU 2 消息1.HPU n 消息2 消息3 消息2 負載handler完成handler主機CPU內存加載handler主機內存讀寫存儲管理 圖 2-4.sPIN 智能網卡網絡接口設計1。sPIN 的設計則是在 Portals 4 的基礎上進
56、行了數據通路的進一步優化和可編程功能的強化,充分利用了智能網卡片上內存和處理單元,在數據到達接收端網卡后,網卡直接向發送端返回響應,然后由網卡進行數據處理并搬移到對應的應用存儲空間,減少了接收端對數據包的響應時間,將 RDMA 的性能進一步提高1。如圖 2-4 所示,sPIN將每個消息的多個數據包處理劃分為 3 部分,即包頭 handler、負載handler、完成 handler,由智能網卡上的 1 個或者多個邏輯處理單元(handler processing unit,HPU)進行流水處理,HPU 可以映射到智能網卡的多核處理器上。在編程方面,為了方便對智能網卡進行管理和對 3 種 han
57、dler 進行編程處理,sPIN 對 Portals 4 編程接口進行了擴充,提出了 P4 sPIN 編程接口,提供了智能網卡片上內存管理、HPU管理、handler 處理的多種原語。27 ClickNP 單元ClickNP 腳本ClickNP 主機管理程序ClickNP 編譯器C 編譯器FPGA廠商的HLS主機端CPUClickNP庫ClickNP主機進程管理線程工作線程Catapult PCIe驅動FPGACatapult ShellClickNPFPGA RoleVerilog中間C代碼 圖 2-5.ClickNP 架構(用于 Catapult)1。微軟針對基于 FPGA 的智能網卡Ca
58、tapult 架構提出了ClickNP 編程框架,用于商用服務器中,以提供高性能的網絡功能,如防火墻、網關、負載均衡器等1。ClickNP 向用戶提供了類似 C 語言語法、面向對象的編程語言,并且提供了近 100 個處理單元(elements)庫,解決 FPGA 編程困難的問題,用戶將各個功能模塊以 elements 為對象進行編寫,如圖 2-5 所示,編寫的程序經過編譯器的預編譯后得到中間 C 文件,然后由 FPGA 廠商提供的后端編譯器和 C 編譯器分別對運行在 FPGA 和主機 CPU 的程序進行編譯處理,將不同的任務分配到 FPGA 和 CPU 中,達到 FPGA 與主機端 CPU 協
59、同工作的效果。FPGA 內部采用了模塊化設計,映射到 FPGA 的多個elements 可以異步并行處理數據,類似于多核處理器,elements 之間 28 通過緩沖通道連接,而非共享內存。ClickNP 的設計主要面向商用服務器中網絡功能加速的應用場景,在后續工作 AccelNet 中,微軟使用智能網卡卸載了 SDN 協議棧,向虛擬機提供高效的 SR-IOV 功能,均是典型的數據密集型設計,對控制復雜的應用邏輯則并非最佳選擇1。華盛頓大學研究團隊提出基于數據流 CPU-SmartNIC 協同編程框架Floem1,運用類似于 ClickNP 模塊化設計的思想,將數據包模塊化處理邏輯組件elem
60、ents(C 語言實現的 Python 類),映射到智能網卡的硬件資源上,并設計了通用的 elements 庫便于用戶編程,向用戶提供了編程語言、編譯器、運行時管理一整套技術支持。通過編程抽象用戶可以完成硬件資源訪問、邏輯映射、數據包元數據訪問、計算卸載、應用加速等操作,編譯器負責維護 CPU 和網卡之間的數據傳輸和緩存機制,運行時則負責 DMA 數據通路的優化。該設計中使用基于多核網絡處理器的智能網卡Cavium LiquidIO 作為硬件平臺,實現了鍵值存儲(key-value store,KVS)、分布式實時數據分析(real-time analytics,RTA)系統的智能網卡應用加速
61、。2.1.2.2 控制密集型控制密集型 數據密集型智能網卡編程框架設計注重對數據流提供高效的數據通路和流水處理,與網絡功能、協議處理應用場景更加匹配;而控制密集型的編程框架則更注重對數據進行控制相對復雜的處理,卸載到智能網卡的計算模式一般相對簡單,通信模式并不固定,有一定的 29 延時敏感要求,因此,控制密集型設計在調度策略、性能隔離、操作系統支持等方面更有優勢,與分布式應用、Bare-Metal 場景更加匹配??刂泼芗途幊炭蚣艿牡湫驮O計有 iPipe、NICA、INCA、-NIC 1。鑒于 actor 53編程模型支持異構硬件、并行處理、獨立內存、動態遷移的特點,華盛頓大學研究團隊在 ac
62、tor 編程模型的基礎上進行設計,提出面向多核 SoC 硬件平臺的 iPipe 編程框架,iPipe 的貢獻主要包括調度器、分布式內存抽象和安全隔離 3 個方面1。iPipe 的核心是將 FCFS(first come first serve)和 DRR(deficit round robin)調度策略進行結合的混合調度方案,用來協調調度 CPU 和智能網卡之間開銷不斷變化的執行任務,最大化智能網卡資源的利用率;分布式內存抽象是指各個 actor 之間不共享內存,每個 actor 擁有獨立的 ID,actor 可以進行靈活的遷移;安全隔離是指維護多個 actor 在智能網卡上可以并發執行、互不
63、影響,并對意外狀況作出反應1。由于靈活的調度策略和編程抽象,與 Floem 相比,iPipe 更適合復雜邏輯的分布式應用加速,如 RTA、KVS 等,對于描述狀態簡單甚至 stateless 的網絡功能卸載,基于 FPGA 的設計更合適,對于防火墻、網關、深度包檢測等網絡功能,其性能均不及 ClickNP1。Mellanox 研究團隊提出了基于 FPGA 智能網卡加速數據平面應用的軟硬件協同框架NICA1,并用于自身的 Innova 系列智能網卡,與微軟的 ClickNP 框架不同,NICA 框架突破了基于 FPGA 智能網卡在支持操作系統、虛擬化方面的障礙,適用于 Bare-Metal、多租
64、戶的應用場景。NICA 通過新的 ikernel(inline kernel)抽象,動態管 30 理智能網卡上的一個或多個專用的硬件加速部件 AFUs(accelerator functional units),同時,NICA 集成了 VMA 內核旁路協議棧1,實現了 KVM hypervisor 中 AFU 的虛擬化,滿足云環境下對網絡數據流進行靈活的自定義處理需求。其中,一個 ikernel 抽象即是一個 OS 對象,代表用戶程序中的一個 AFU,對進程來說是私有的,可以保護 AFU 的應用和網絡狀態。AFU 可以由用戶自定義,亦可以由云產商提供,根據需求部署,AFU 支持 I/O 通道的
65、虛擬化和細粒度的時分復用來實現 NICA 對虛擬化的支持。同時該系統實現了KVS 和 IoT 身份認證 2 種應用的加速1。在網計算的搶占式處理編程框架 INCA 則在 Portals 4 的基礎上,實現了優于 sPIN 的在網計算處理模式,解決了 sPIN 流式處理中智能網卡的處理能力受計算復雜度(指令數量)、數據包速率、計算單元數量限制的問題1。INCA 以搶占式的觸發機制對智能網卡的計算資源進行更高效的調度,實現 deadline-free 的處理效果,即對每一個到達的包都能進行及時的處理,將已處理且未能完成處理的包的處理狀態保存并發往下一節點做后續處理,支持更加復雜的計算1。此外,網絡
66、空閑時,智能網卡中的包處理引擎(packet processing engine,PPE)可以用于非網絡數據的處理1?;?NP 多核智能網卡的編程框架-NIC 則面向云計算模式中的serverless 負載(諸多細粒度的定制化小程序,如 Lambdas),在 P4 語言 Match-Action 編程抽象的基礎上,設計了基于事件的 Match-Lambda 編程抽象,支持更加復雜的操作,數據包通過 Match 之后被 31 發往主機端 CPU 或者智能網卡上對應的 Lambda 處理單元(NP 核)進行處理1。同時,該工作使用遠程過程調用(remote procedure calls,RPC
67、)技術和 RDMA 技術加速通信,并對智能網卡存儲空間訪問和Lambda 任務分配進行了優化,實現了數據隔離和性能隔離1。2.1.2.3 編程框架編程框架對比對比 表 2-1.智能網卡編程框架對比1。對比方面對比方面 數據密集型數據密集型 控制密集型控制密集型 側重對象 數據流 控制流 計算復雜度 簡單 復雜 靈活性 低 高 流水處理能力 高 低 并行度 高 低 可調度性 低 高 隔離性 低 高 OS 支持 弱 強 框架基礎 P4,Portals 4,Click P4,Portals 4,actor 硬件平臺 MP,FPGA MP,FPGA 典型框架 FlexNIC,sPIN,ClickNP,
68、Floem-NIC,INCA,iPipe,NICA 數據密集型和控制密集型編程框架分類對比如表 2-1。數據密集型和控制密集型的設計分別強調對數據流和控制流處理,數據密集型的設計在流水處理和并行度上表現更好,更適合模式較為簡單的應用,如網絡功能;控制密集型的設計則在靈活性、資源調度、性能隔離,以及面向Bare-Metal,Serverless的OS支持方面更好,更適合云計算、控制略顯復雜的分布式計算應用。2種編程框架的設計均有基于Portal 32 4,P4 Match-Action 的研究,在硬件方面對多核和 FPGA 方式都有實現,但從性能上看,面向數據密集型的設計更適合 FPGA,面向控
69、制密集型的設計更適合多核架構。根據以上工作的分析,編程框架的設計過程中需要注重 5 點1:1)模塊化設計,如 ClickNP、NICA 均采用了模塊化設計思想;2)智能網卡與主機端 CPU 協同設計,這一點在基于 Click 包處理編程抽象的許多編程框架中皆有體現,如 Snap,NBA,ClickNP,UNO,在-NIC,INCA 的設計中也有實現;3)良好性能隔離和虛擬化的支持,這一點成為了近些年研究中的一個熱點問題,如性能隔離在 iPipe,NICA,-NIC,FairNIC 中皆有體現,對網絡虛擬化的研究也受到業內的重視,如 AccelNet、Freeflow、MasQ 等;4)優化調度
70、策略,提高智能網卡的資源利用效率,如 PIEO,Loom,在包調度方面提供更加靈活高效的硬件支持,iPipe,-NIC,FairNIC則在網卡資源方面進行更加合理的調度管理;5)簡潔的編程接口,兼顧易用性和靈活性,這一點在 ClickNP,NICA,-NIC 等工作中皆有體現。2.2 DPU DPU 是以數據為中心 IO 密集的專用處理器5。DPU 對現有的SmartNIC 做了整合,能看到很多以往 SmartNIC 的影子,但明顯高于之前任何一個 SmartNIC 的定位5。33 數據處理單元(DPU)是一種通道控制器,一種可編程的專用電子電路,具有數據處理的硬件加速功能,用于以數據為中心的
71、計算10。數據作為多路復用的信息包傳入和傳出 DPU 組件。DPU 通常包含 CPU、NIC 和可編程數據加速引擎,這使得 DPU 具有中央處理單元的通用性和可編程性,同時能夠用于有效地處理網絡數據包、存儲請求或分析請求等10。2.2.1 DPU 架構架構 DPU 的架構植根于 SmartNIC 的架構,即基于 FPGA、SoC 和ASIC 設計。DPU 一般由這三種的組合實現,如 Nvidia Bluefield 系列DPU 采用 ASIC+SoC 架構,Intel IPU 采用 FPGA+SoC 架構。DPU 采用 SoC 架構可能是業界的共識。圖 2-6 是一個典型的 DPU 架構。DR
72、AMSystem Level CacheArm CPU ComplexData AccelerationPCIe SwitchSSDs/GPUPCIe SwitchNIC SubsystemDPAHostRDMA/TCP/UDPASAPEthernet/InfiniBand2Network 圖 2-6.一種典型的 DPU 架構:BlueField 架構11。(1)CPU 子系統(圖中以 Arm 為例)用作數據中心操作系統控制平面,也用來控制隔離存儲(圖 2-6 中的 DRAM)為組網服務。CPU 子系統運行完全可編程的 OS,如 linux,提供應用、服務、服務 34 鏈、控制通路、以及存儲到
73、存儲的加速器。(2)NIC 子系統是一個獨立的啟動域,包含實時操作系統,主要用來加速數據通路。其中 DPA(datapath accelerator)通過編程框架(如 DOCA)提供可編程性,實現重量級的多線程應用加速;ASAP2用來提供可編程的包處理,提供一種基于數據流表的數據通路;通過以太網或者 InfiniBand 提供網絡連接;基于 ASIC 的網卡控制器(如ConnextX)實現卸載功能,如 RoCE 網絡協議、vSwitch/vRouter、I/O虛擬化的硬件卸載。(3)PCIe 子系統作為優化后的 IO 接口,用來實現 PCIe 交換、P2P 通信、硬件設備虛擬化(如 SR-IO
74、V,VirtIO)、GPU/SSD 連接、模擬設備(emulated devices)連接等。(4)數據加速(Data acceleration)模塊用來加速 CPU 的工作過程。2.2.2 DPU 架構技術架構技術 DPU 可以實現多種功能。以 Nvidia BlueField 架構為例,其功能模塊如下圖。35 圖 2-7.BlueField DPU 功能模塊示意圖12。(1)接口與驅動 對于每個 BlueField DPU 網絡端口,都開放了 2 個物理 PCIe 網絡功能:一個供嵌入式 Arm 子系統使用,一個供 PCIe 上的 Host 使用。mlx5 驅動程序及其相應的軟件堆棧必須加
75、載到兩臺主機(Arm 和 Host 服務器)上。每臺主機上運行的操作系統都會探測驅動程序。(2)工作模式 DPU 模式或嵌入式功能(ECPF)所有權,其中嵌入式 Arm 系統控制 NIC 資源和數據路徑(默認)。受限模式是 ECPF 所有權的擴展,對主機端有額外限制。NIC 模式是從外部主機的角度來看,DPU 的行為與適配卡完全一樣。分離模式將網絡功能分配給 Arm 內核和 x86主機內核。(3)內核表示模型 36 BlueField DPU 使用 netdev 表示器來映射每個主機端物理和虛擬功能:作為隧道將運行在 Arm 內核上的虛擬交換機或應用程序的流量傳遞到 Arm 側的相關 PF 或
76、 VF;作為通道將嵌入式交換機配置為相應的代表功能的規則。這些表示器用作連接到 OVS 或在 Arm 內核上運行的任何其他虛擬交換機的虛擬端口。(4)多主機 在多主機模式下,每個主機接口最多可劃分為 4 個獨立的 PCIe接口。所有接口將共享同一個物理端口,并由同一個多物理功能交換機(multi-physical function switch,MPFS)管理。每個主機都有自己的電子交換機(e-switch)并控制自己的流量。(5)Virtual Switch on DPU NVIDIA BlueField 支持 ASAP2技術。它利用了上面提到的表示器。BlueField SW packag
77、e 包括已經支持 ASAP2的 OVS 安裝。在 Arm內核上運行的虛擬交換機允許通過 Arm 內核傳遞進出主機功能的所有流量,同時執行 OVS 支持的所有操作。ASAP2允許通過對 NIC 嵌入式交換機進行編程來卸載數據路徑,并避免需要通過 Arm 內核傳遞每個數據包??刂破矫媾c使用標準 OVS 保持相同。(6)Virtual Switch on DPU 網絡綁定可以將兩個或多個網絡接口組合成一個接口。如果其中一個接口發生故障,它會增加網絡吞吐量、帶寬并提供冗余。BlueField DPU 可以選擇以對主機透明的方式在 Arm 端配置網絡綁定。在這種配置下,主機只能看到一個 PF。37(7)
78、配置上行 MTU 要在 SmartNIC 模式下運行時配置端口 MTU,需要限制 BlueField DPU 的 host。一旦 host 受到限制,端口 MTU 可以通過更改上行鏈路表示器(p0 或 p1)的 MTU 進行配置。(8)鏈路聚合 網絡綁定可以將兩個或多個網絡接口組合成一個接口。如果其中一個接口發生故障,它會增加網絡吞吐量、帶寬并提供冗余。BlueField DPU 可以選擇以對主機透明的方式在 Arm 端配置網絡綁定。在這種配置下,主機只能看到一個 PF。(9)可擴展功能(scalable function,SF)SF 是一種輕量級功能,具有部署它的父 PCIe 功能。一個 m
79、lx5 SF 有自己的功能能力和自己的資源。這意味著 SF 有自己的專用隊列(txq、rxq、cq、eq),這些隊列既不共享也不從父 PCIe 功能中搶占。使用 SF 不需要系統 BIOS 的特殊支持。SF 與 PCIe SR-IOV 虛擬功能共存。SF 不需要啟用 PCIe SR-IOV。(10)主機和 Arm 系統上的 RDMA 堆棧支持 Arm Linux 系統上預裝了完整的 RDMA 堆棧。BlueField DPU 在Separate Host Mode 和 Embedded CPU Mode 中支持 RDMA(RoCE 或InfiniBand)。(11)控制 host PF 和 V
80、F 參數 1)設置 hostPF 和 VF 默 MAC 地址,從 Arm 中,用戶可以配置主機中物理功能的 MAC 地址。發送命令后,用戶必須在主機中重新 38 加載 NVIDIA 驅動才能看到新配置的 MAC 地址。系統重啟后 MAC地址恢復到 FW 中的默認值 2)設置主機 PF 和 VF 鏈路狀態,vPort狀態可以配置為 Up、Down 或 Follow。3)查詢配置,PF 和 VF 的配置可以通過一定指令查詢。4)禁用主機網絡 PF,對于只對使用存儲或 VirtIO 功能感興趣的用戶,可以不向主機公開 ConnectX 網絡功能。啟用此功能后,將不會在 Arm 上看到主機 PF 表示
81、器。如果主機上沒有 PF,則無法啟用 SR-IOV,因此在 Arm 上也不會看到 VF 表示器。如果主機上沒有 PF,就不能在主機使用 SF。Arm 上的 SF 功能不受影響。(12)BlueField DPU 支持 DPDK DPDK 是一組快速處理數據包的開發平臺及接口(Data Plane Development Kit,DPDK)。BlueField DPU 支持 DPDK 以使用其提供的開發平臺和接口。(13)BlueField DPU 上的 SNAP NVIDIA BlueField SNAP(軟件定義網絡加速處理)技術支持NVMe 存儲的硬件加速虛擬化。BlueField SNA
82、P 將網絡存儲呈現為本地 NVMe SSD,模擬 PCIe 總線上的 NVMe 驅動器。主機OS/Hypervisor 使用其標準 NVMe 驅動程序不知道通信終止,不是由物理驅動器,而是由 BlueField SNAP。任何邏輯都可以通過 BlueField SNAP 框架應用于數據,并通過以太網或 InfiniBand 協議通過網絡傳輸到存儲目標。BlueField SNAP 將獨特的硬件加速存儲虛擬化與 DPU的高級網絡和可編程能力相結合。BlueField SNAP 與 DPU 一起實現 39 了解決存儲和網絡效率和性能的應用世界。(14)正則表達式加速 BlueField-2 DPU
83、 支持高速 RegEx 加速。這允許主機將多個RegEx 作業卸載到 DPU。此功能可從主機或 Arm 端使用。使用此功能的應用程序通常會將已編譯的規則集加載到 BlueField RegEx 引擎并發送作業進行處理。對于每個作業,RegEx 引擎將返回一個匹配列表(例如匹配規則、偏移量、長度)。用于加載規則和發送 RegEx 作業的示例和標準 API 可通過 DPDK 獲得。(15)壓縮加速(Compression Acceleration)NVIDIA BlueField DPU 支持高速壓縮加速。此功能允許主機將多個壓縮/解壓縮作業卸載到 DPU。壓縮類操作與 net、vDPA 和 Re
84、gEx類操作并行支持。(16)公鑰加速 NVIDIA BlueField DPU 集成了多個公鑰加速(PKA)引擎來卸載 Arm 主機的處理器,提供 PK 算法的高性能計算。BlueField 的 PKA可用于廣泛的安全應用。它可以協助 SSL 加速,或安全的高性能 PK簽名生成器/檢查器和證書相關操作。BlueField 的 PKA 軟件庫為加密公鑰基礎設施(PKI)加速實現了一個簡單、完整的框架。它提供從用戶空間對硬件資源的直接訪問,并提供許多算術運算一些基本的(例如,加法和乘法),和一些復雜的(例如,模冪運算和模求逆)以及高級操作,例如 RSA、Diffie-Hallman、橢圓曲線加密
85、和數字簽名算法(FIPS-186 中記錄的 40 DSA)公私鑰系統。(17)IPsec 功能 BlueField DPU 可以透明地從主機 CPU 卸載 IPsec 操作。這意味著主機不需要知道網絡流量在接入線路之前是加密的,或者在離開線路之后是解密的。IPsec 操作可以在 DPU 的軟件(Arm 內核或加速器塊中)中運行。(18)QoS 配置 BlueField DPU 支持限速 Host PF 和 VF、限速 SF、限速 VF 組來實現配置 QoS 組、SF QoS、VF QoS 和 PF QoS。(19)VirtIO-net 模擬設備(Emulated Devices)此功能使用戶能
86、夠在連接了 BlueField-2 DPU 的系統中創建VirtIO-net 模擬 PCIe 設備。這是由 DPU 中的 virtio-net-controller 軟件模塊完成的。Virtio-net 模擬設備允許用戶在插入 DPU 的主機系統中熱插拔多達16個virtio-net PCIe PF以太網NIC設備或504個virtio-net PCIe VF 以太網 NIC 設備。(20)深度報文檢測 深度包檢測(Deep packet inspection,DPI)是一種在數據包通過受監控的網絡檢查點時檢查其全部內容的方法。DPI 是用于 NVIDIA BlueField-2 DPU 的
87、DOCA SDK 軟件解決方案的一部分。DPI 提供了一種更強大的機制來執行網絡數據包過濾,因為它可用于識別和阻止隱藏在網絡數據流中的一系列復雜威脅,例如,惡意應用程序,惡意軟件數據泄露嘗試,內容政策違規,應用識別和負載均衡。41(21)共享 RQ 模式 在創建 1 個發送隊列(SQ)和 1 個接收隊列(RQ)時,每個表示器每個通道消耗約 3MB 內存。將其縮放到所需的 1024 個表示器(SF 和/或 VF)將需要約 3GB 的單通道內存。3MB 的主要部分是由RQ 分配(接收緩沖區和 SKB)貢獻的。因此,為了有效利用內存,實現了共享 RQ 模式,以便 PF/VF/SF 表示器共享上行鏈路
88、表示器擁有的接收隊列13。2.2.3 DPU 編程編程框架框架 盡管 DPU 提供了明顯的好處,但客戶編寫低級代碼的要求限制了早期的客戶范圍。為了使獨立軟件開發商、服務提供商和學術界能夠采用 DPU,NVIDIA 開發了 DOCA(data center on a chip architecture)。DOCA 是一個庫和服務的框架,構建在一組驅動程序之上。部分庫來自開源項目,而另外一部分是 Nvidia 獨有。就像 CUDA 抽象 GPU 編程一樣,DOCA 將 DPU 編程抽象到更高層次。42 ApplicationsNetworkingSecurityStorageHPC/AITelco
89、MediaDPU BlueField and BlueField XDOCA SERVICESOrchestrationTelemetryFireflySDN/HBNDOCADPU ManagementDOCA LIBSDPIFlowGateway FirewallRegExApp ShieldStorageHPC/AIComm ChannelRiverMaxDPANetworkingASAP2 DPDKXLIOSecurityDPDK RegEXDPDK SFTInline CryptoStorageSPDK SNAPVirtIO-FSXTS CryptoUCX/UCCRDMAP4FlexI
90、ODOCA DRIVERS 圖 2-8.DOCA 編程框架14。DOCA 和 BlueField DPU 一起支持開發應用程序,這些應用程序通過一個全面的開放式開發平臺提供突破性的網絡、安全和存儲性能。BlueField 將基礎架構服務域與工作負載域隔離開來,從而顯著提高應用程序和服務器的性能、安全性和效率,為開發人員提供實現最佳、安全、加速數據中心所需的所有工具。DOCA 軟件由 SDK 和運行時環境組成。DOCA SDK 提供行業標準的開放 API 和框架,包括用于網絡和安全的數據平面開發工具包(DPDK)和用于存儲的存儲性能開發工具包(SPDK)。這些框架通過集成的 NVIDIA 加速包
91、簡化了應用程序卸載?;?DOCA 的服務在計算節點中作為行業標準輸入/輸出(IO)接口公開,從而實現基礎架構虛擬化和隔離。SDK 支持一系列操作系統和發行版,包括驅動程序、庫、工具、文檔和示例應用程序。DOCA 運行時包括用于在整個數據中心的數百 43 或數千個 DPU 上配置、部署和編排容器化服務的工具。SDK 關鍵組件包括 1)行業標準 API:DPDK、SPDK、P4、Linux Netlink;2)網絡加速 SDK:NVIDIA Accelerated Switching and Packet Processing(ASAP2)軟件定義網絡(SDN)、模擬 VirtIO、P4、5T
92、用于 5G技術、Firefly 時間同步;3)安全加速 SDK:內聯加密、深度包檢測;4)存儲加速 SDK:存儲模擬和虛擬化、加密和壓縮;5)RDMA 加速 SDK:統一通信與協作(UCC)、統一通信 X(UCX)、RDMA verb、GPU-Direct 等;6)管理 SDK:部署、供應、服務編排;7)用戶空間和內核。圖 2-9.Host x86 應用與 DPU Arm 應用共享加速器15。DPU 的 Arm 架構可以和 host x86 應用共享加速器,如圖 2-9 所示。使用 DOCA,在主機上運行的基于 x86 的應用程序和在 DPU 上運行的基于 Arm 的應用程序都可以訪問加速數據
93、路徑和后備加速器15。DPU 的編程框架是一個蓬勃發展的領域。除 DOCA 外,也存在 44 眾多編程框架。例如,5給出了一個通用的 5 層編程框架,至上而下包括業務開發層(業務抽象)、應用服務層(功能抽象)、計算引擎層(計算抽象)、DSA 操作層(資源抽象)和 DSA 設備層。2.3 RDMA 遠程直接內存訪問(Remote direct memory access,RDMA)是一種遠程內存管理功能,它允許服務器到服務器的數據直接在應用程序內存之間移動,而無需任何 CPU 參與,即 RDMA 允許直接在內存之間交換數據、提升運行性能、且可卸載 CPU 算力9。圖 2-10.RDMA 傳輸模式
94、9。2.3.1 RoCE RDMA ApplicationsOFA(Open Fabric Alliance)StackIBTA Transport ProtocolIBTA Network LayerUDPIPRoCE v1RoCE v2Ethernet Link LayerRDMA API(Verbs)圖 2-11.RoCE v1 和 RoCE v2 協議棧56。45 RoCE 將 IB 傳輸封裝在以太網數據包中56:RoCE v1 采用專用以太類(0 x8915);而 RoCE v2 采用 UDP 和專用 UDP 端口(4791)。(1)RoCE v1 RoCE v1 協議定義為 RDM
95、A over Ethernet header(如圖 2-11 所示)。它使用以太網類型 0 x8915,可以使用或不使用 VLAN 標簽。常規以太網 MTU 適用于 RoCE 幀。(2)RoCE v2 RoCE 協議的直接擴展使流量能夠在 IP layer 3 環境中運行。這種能力是通過修改 RoCE 數據包格式獲得的。IP 可路由 RoCE v2 數據包攜帶一個 IP 標頭以允許遍歷 IP L3 路由器,同時攜帶一個 UDP 標頭用作 IP 上 RDMA 傳輸協議數據包的無狀態封裝。RoCE v2 數據包使用 UDP 目標端口值用以明確區分數據報。與使用 UDP 封裝的其他協議類似,UDP
96、源端口字段用于攜帶不透明的流標識符,該標識符允許網絡設備實現數據包轉發優化(例如 ECMP),同時與協議標頭格式的細節無關。此外,由于對 RoCE 數據包的修改僅影響線路上的數據包格式,并且由于 RDMA 語義數據包在 AP 下方生成和使用,應用程序可以完全透明的方式在 RDMA 服務上無縫運行。2.3.2 GPUDirect RDMA 部署由多個 GPU 節點組成的集群的主要性能問題涉及 GPU 之間的交互或 GPU-GPU 的通信模型。鑒于 GPU 提供了更高的核心數 46 和浮點運算能力,可以 InfiniBand 在節點之間進行連接,以便為 GPU-GPU 通信提供高吞吐量和最低延遲。
97、GPUdirect RDMA 技術(簡稱 GDR 技術)可以用來實現 GPU-GPU 的通信。而在沒有這項技術之前,GPU 需要先將數據從 GPU 內存搬移到系統內存,然后再利用 RDMA 傳輸到另一臺計算機并進行從系統內存到 GPU 內存的搬移動作。GDR 通過 InfiniBand 和 RoCE、使用 PCIe 的標準功能為 GPU 之間的高速數據交換提供直接路徑。它充當對等內存客戶端之間的 API,為網絡適配器提供對等內存數據緩沖區的訪問。因此,基于 RDMA 的應用程序可以通過 RDMA 網絡利用對等設備的計算能力,而無需將數據復制到主機內存。主流的InfiniBand 和以太網 Ro
98、CE 適配器(如 ConnectX)已支持此功能。GPUGPUCPUCPUSystem MemorySystem MemoryPCIe SwitchPCIe SwitchCONNECTXCONNECTXGPUDirect RDMA 圖 2-12.GPU-direct RDMA 通信模型(以 ConnectX 為例)57。47 三三、SmartNIC/DPU 技術和產業技術和產業發展趨勢發展趨勢 3.1 架構架構和和編程框架編程框架趨勢趨勢 目前智能網卡的硬件架構主要分為 3 大類,分別基于 FPGA、MP、ASIC 設計,各種架構在性能、成本、功耗上各有千秋。此外,近幾年,粗粒度可重構架構1(
99、CGRA)作為一種使用多個可重構單元解決領域專用的處理器設計方案,以優于 FPGA 12 倍的能效比、更接近 ASIC 的性能、優于 FPGA 的編程靈活性,得到業內的認可和關注。在智能網卡的設計中,ClickNP 雖是基于 FPGA 的設計,但是其模塊化的設計與 CGRA 有異曲同工之妙;GP-SoC 的多核設計思路成為部分廠家的選擇,但是 GP 的通用性和易用性在另一方面則限制了專用性和能效比;NP-SoC 的設計更像 CGRA,但 CGRA 具備更短的功能重構時間,支持配置流和數據流同時驅動。目前,CGRA 的技術還不夠成熟,如何設計智能網卡中的可重構單元、如何建立可重構單元之間的拓撲關
100、系(Mesh,Torus等)、是否增加其他處理器進行功能輔助、有異構處理器存在的情況下是否采用共享內存的設計、可重構單元之間使用類似于 RMT 架構的流水處理還是類似于 dRMT 的獨立處理,各種問題需要進一步的探索1。近年來,涌現出諸如 ClickNP、Floem、FlexNIC、sPIN、NICA、DOCA 等多種出色的智能網卡編程框架,定制與硬件結構協同優化的編程框架、功能調度機制、任務切分機制十分重要,新的硬件架構需 48 要配套的編程框架作為支撐方可最大化發揮智能網卡的通信、計算能力1。3.2 協議接口探索協議接口探索 智能網卡的可編程特性使其在通信協議的處理上具備一定的靈活性,為滿
101、足不同應用的需求,部分研究工作對已有的協議或者接口進行了拓展。sPIN 對 Portals 4 進行拓展,增加了智能網卡對加速通信和計算的支持;P4 則完全定義了以 Match-Action 為基礎的協議無關的可編程包處理模式;StRoM 則對 RDMA 語義進行了拓展,增加了網卡進行可編程處理的支持,如設計了 RDMA RPC verb 用于支持對 RPC 的加速處理;RIMA 針對 Infiniband 協議中的共享接收隊列(shared receive queue,SRQ)造成的內存浪費問題,設計新的 append queue verb 及處理架構,在保證吞吐和時延的情況下,實現了對 S
102、RQ的緩沖區更高效的管理;1RMA 則設計了 Connection-free 的連接模式,解決 RDMA 在數據中心中擴展性差的問題1。在應用需求更加靈活的情況下,拓展更豐富的智能網卡協議接口,甚至是制定標準化的面向智能處理的通信協議也將成為可能1。3.3 應用應用探索探索 智能網卡在網絡協議處理、網絡功能卸載、數據中心應用、科學計算應用中均表現出強大的加速能力??梢?,智能網卡正在逐漸將成熟的加速部件模塊化集成,同時,卸載的任務與用戶應用的關系越來 49 越緊密,如今已有使用智能網卡卸載神經網絡模型的運算、矩陣計算的探索1。在 Bare-Metal 和云環境中,智能網卡在提供虛擬化支持、性能保
103、障、性能隔離等方向也將繼續發揮重要作用。智能網卡正在盡可能卸載更多力所能及的 CPU 處理任務,將 CPU 資源釋放出來用于處理控制邏輯更加復雜的任務。本書第四章將對多種智能網卡應用場景進行介紹。3.4 產業發展趨勢產業發展趨勢分析分析 圖 3-1.全球 DPU 市場規模預測。全球智能網卡供應商積極布局(主要以 NVIDIA、Intel、Marvell為主),智能網卡市場仍處于藍海。目前,主流云廠商主要通過超大規模服務器部署自建智能網卡,例如微軟從供應商采購以太網控制器和 FPGA 以構建其內部開發的智能網卡,而谷歌則選擇與 Intel 合作開發智能網卡。智能網卡方案的成熟、全球服務器出貨量增
104、長以及邊緣計算等應用的初步落地將會驅動全球智能網卡行業市場規模穩步29.536.143.782.1108.3135.722%21%88%32%25%0%10%20%30%40%50%60%70%80%90%100%20202021E2022E2023E2024E2025E02040608010012014016020202021E2022E2023E2024E2025E全球DPU市場規模預測市場規模(億美元)增速(%)單位:億美元 50 攀升(從 2020 年的 30 億美元增加到 2025 年內的 136 億美元,CAGR約 36%,如圖 3-1 所示)。中國憑借互聯網產業優勢,具備良好的智
105、能網卡市場基礎。目前中國的智能網卡廠商主要以云廠商和初創企業為主,例如阿里云、百度云、云豹智能、芯啟源、大禹智芯、中科馭數等,而電信領域對智能網卡的采用率較低,意味著智能網卡仍有很大的發展空間。整體來看,中國智能網卡市場呈現逐年增長的趨勢,行業市場規模預計 2023-2024 年迎來爆性增長,2025 年將達到 40 億美元(約合人民幣 240 億元),如圖 3-2 所示。圖 3-2.中國 DPU 市場規模預測。885211106326930733741492%112%196%-6%22%-100%0%100%200%300%400%500%600%0500100015002000250030
106、003500400020202021E2022E2023E2024E2025E中國DPU行業市場規模市場規模(百萬美元)增速(%)單位:百萬美元 51 四四、SmartNIC/DPU 應用場景與案例應用場景與案例 4.1 應用場景應用場景 4.1.1 網絡功能卸載網絡功能卸載 云環境的整體框架圖 4-1 所示,在虛擬網絡平臺中,虛擬交換機通常是 OpenvSwitch,承擔 VM 虛擬機東西向和南北向出公網的流量轉發。虛擬交換機和網關 GW,由 SDN 控制器管控,負責為租戶開通 VPC 網絡和外部通信的網絡。主機與主機之間通常是 TOR/EOR 構建的 Spine-Leaf 結構的 Fabr
107、ic 網絡,數據中心傳統基礎技術的網絡稱之為 Underlay 網絡。虛擬機和虛擬機之間通信交互承載在 VxLAN,NVGRE 或 Geneve 隧道之上,稱之為 Overlay 網絡。其中虛擬交換機的軟件技術的能力起到重要的作用,對于對性能要求特別高的場景,采用 SR-IOV 特性,將網卡虛擬成多個虛擬口,虛擬口直接連通到虛擬機內部,但該方式無法實現基于虛擬設備的靈活控制。圖 4-1.云網絡架構5。52 4.1.1.1 SR-IOV 卸載卸載 SR-IOV(Single Root I/O Virtualization)是硬件的虛擬化協議,允許在虛機之間共享 PCIe 設備54。在性能要求很高
108、的場景下,OVS-DPDK 已經不能滿足性能需求,可以采用 SR-IOV 透傳(passthrough)到虛擬機中方式滿足更高性能需求。通過 SR-IOV 透傳,可以獲得與裸金屬主機上相近的報文傳輸能力。一個物理網卡設備 PF 能夠虛擬出多個 VF 分配給虛擬機。不過由于基于 Intel CPU VT-d(Virtualization Technology for Directed I/O)或 AMD 的 IOMMU(I/O Memory Management Unit)的技術,不能支持虛擬機遷移。主要原因是 VF 在創建初始化時會創建 guest 虛擬地址到 host 物理地址的內存映射,在
109、虛擬機遷移到其他 host 時,地址映射狀態無法遷移。目前有一種網卡支持 OVS Fastpath 硬件卸載與 SR-IOV VF passthough 到虛機相結合的方案(參見圖 4-2),能提供接近線速轉發的能力,且租戶的虛機也可以支持云平臺自動化編排。53 圖 4-2.SR-IOV 卸載5。4.1.1.2 OVS-DPDK 卸載卸載 OVS-DPDK 實現用戶空間進程直接從網卡收發報文并進行多核處理。利用 VirtIO 的 banckend 在用戶空間中實現與同樣在用戶空間的虛擬機進行內存共享。虛機收報文時,OVS-DPDK 從網卡收到的報文寫入共享內存,虛擬機可見因此可快速讀取。虛機發
110、報文時,報文從虛擬機內存拷貝到網卡 RDMA 的內存,網卡可以快速發送。這個過程中減少了內存拷貝次數和 CPU 調度,因此 DPDK 提高了轉發效率和吞吐量,如圖 4-3 所示。54 圖 4-3.DPDK 虛擬化原理5。在虛擬網絡中由于 OVS(Open vSwitch)內核轉發路徑存在瓶頸,又演進到基于 OVS with DPDK(Data Plane Development Kit)的半卸載到網卡方案如圖 4-4 所示。圖 4-4.OVS with DPDK 卸載49。但是該方案仍然需要大量消耗 CPU 資源進行數據轉發,并且要承擔 DPDK 軟件帶來的不穩定性。目前未來演變為 OVS w
111、ith DPDK嵌入智能網卡內部實現全硬件卸載技術方案,如圖 4-5 所示。55 圖 4-5.OVS with DPDK 硬件全卸載49?;?OVS with DPDK 硬件全卸載方案,特點是 OVS-DPDK 運行在智能網卡的 SoC 內,使得主機的 CPU 資源完全釋放,既提高了轉發性能,又提升了算力資源一舉兩得。未來智能網卡逐步向 DPU過渡,DPU 將成為高性能網絡中不可缺少的主力芯片之一。DPU 芯片中獨立實現基礎架構管理、軟件定義網絡、軟件定義安全、軟件定義存儲以及加速引擎,逐步替代 CPU 和 GPU 不擅長的所有功能。4.1.1.3 vDPA 卸載卸載 由于 SR-IOV 技
112、術方案存在不支持虛擬機遷移的缺陷,因此Redhat 提出了硬件 vDPA 的架構,在此之前 mellanox 實現了軟件vDPA 方案(VF Relay),本質是將用戶空間 VirtIO 隊列和網卡 VF 隊列做了中繼轉發,不過 Redhat 的硬件 vDPA 標準是未來發展方向。軟件 vDPA 軟件 vDPA 是基于軟件將 VF 上接收報文通過 VirtIO 轉發給虛 56 擬機。OVS 流表卸載到硬件,這種方案性能不如 SR-IOV passthough 直通方案的性能,但是能夠解決 SR-IOV 不支持虛擬機熱遷移問題。硬件 vDPA 該方案能夠實現 VirtIO 硬件加速產生更好的性能
113、。前提是要求網卡廠商開發驅動與 DPDK 的 vDPA 框架或者內核的 vDPA 框架進行對接。如圖 4-6 所示:圖 4-6.vDPA 卸載50。對于軟件和硬件 vDPA 的卸載,仍然可以利用 SmartNIC/DPU 將轉發面報文處理卸載到網卡硬件上處理。不過未來發展方向是 DPU中嵌入處理器芯片,把 OVS 的控制面和數據面全部卸載到網卡上。57 4.1.1.4 Hypervisor 卸載卸載 云計算場景下的虛擬化技術需要靠軟件來實現 Hypervisor,通用CPU 被用于運行所有的軟件,包括 Hypervisor、容器、操作系統和應用,這使得在高度虛擬化的環境中,將會有大量的服務器資
114、源被消耗在處理用戶應用之外的任務上。伴隨著這些巨大的性能開銷,讓虛擬機和物理機之間產生了較大的性能差距,將 Hypervisor 功能下沉到DPU 上,可以消除其帶來的性能開銷,提高虛擬機的性能。利用 DPU 來提供完整的 Hypervisor 功能卸載,可以將運行基礎設施任務相關的開銷從 CPU 中卸載出來,其核心思想是將計算節點抽象出來,讓它可以更專用,更靈活的參與到整個服務中。換句話說,云服務提供商的軟件在 DPU 上運行,而租戶的應用在服務器 CPU 上運行。這不僅釋放了服務器上的資源,同時也優化了整體的性能。當 Hypervisor 卸載到硬件,vDPA 等直通硬件的遷移解決方案也順
115、理成章的卸載到嵌入式軟件中。留在主機側的只保留一個非常簡化的輕量級 Hypervisor,作為實際 Hypervisor 的代理,來完成簡單的配置和調度工作。因此,Hypervisor 只是在上電初始啟動的時刻承擔資源創建、分配的功能,在需要遷移的時候輔助支持遷移。除此之外,在 VM 正常運行的情況,Hypervisor 幾乎不干涉 VM 的運行。這樣可以認為,VM 幾乎獨占處理器等計算機資源的,可以認為客戶是幾乎100%CPU 資源占用的,也即是幾乎 100%物理機性能的。58 圖 4-7.Hypervisor 卸載。首先,在裸機場景,租戶租用整臺物理服務器,云服務提供商能夠通過卸載到DPU
116、上的Hypervisor管理其運行,提供單獨的安全域,與應用服務器本身進行物理隔離。這為租戶提供了完整的裸機體驗,并為云服務提供商提供了單獨的平臺來提供服務并保護其安全。其次,在多租戶虛擬化環境中,Hypervisor 在虛擬機中運行了許多應用,將 Hypervisor 卸載到 DPU 上,可以為云服務提供商提供更有效的隔離,并能夠將網絡和存儲等基礎設施服務公平分配給虛擬機或容器。4.1.1.5 vSwitch 與與 virtio-net 級聯級聯 在數據中心中,虛擬交換機(vSwitch)將虛擬機與虛擬網絡和物理網絡連接起來,從而使虛擬化技術滿足云計算的業務需求。在當前各種 vSwitch
117、的實現中,OVS-DPDK 是使用最廣泛的,通過 DPDK 的高性能網絡處理架構能夠達到較高的軟件 vSwitch 處理性能。作為基于軟件的功能,vSwitch 與虛擬機在相同的服務器 CPU上運行,這將是一個挑戰,因為只有運行應用和服務的虛擬機,而不 59 是 vSwitch 處理的網絡流量為云運營商創造收入,所以盡量減少vSwitch 所消耗的 CPU 核數,最大限度的增加虛擬機所使用的 CPU核數成為技術發展的主要方向。將軟件 vSwitch 的快速路徑卸載到智能網卡中,只需要消耗一個CPU 核來運行 vSwitch 的慢路徑,或者把 vSwitch 的慢路徑也卸載到智能網卡上的 CPU
118、 中,釋放了更多的 CPU 核來運行虛擬機,從而提高了單服務器所支持的虛擬機密度。結合基于 virtio-net 后端卸載功能,網絡數據在智能網卡的vSwitch 模塊處理之后,直接發送給相應的 virtio-net 模塊,由 virtio-net 利用 PCIe 的 SRIOV 特性把數據報文直接交付給虛機內的 Guest OS,實現了 vSwitch 卸載和 virtio-net 后端卸載的無縫對接,進一步提高了整個服務器系統的處理效率。具體框圖見圖 4-8。圖 4-8.vSwitch 和 virtio-net 協同卸載。60 4.1.1.6 P4 賦能賦能 vSwitch 卸載卸載 智能
119、網卡像是放在服務器前端的“小服務器”,承載各種復雜的網絡業務功能;不同的客戶對網絡加速需求有一定變化,例如有的客戶使用 VxLAN 承載 overlay 網絡,有的客戶則使用 Geneve 協議;即使是同一客戶的,也會隨著上層的業務需求變化對智能網卡提出新的需求。為網絡應用而生的 P4(Programming Protocol-independent Packet Processors)專用編程語言是在單一芯片上解決復雜業務應用需求的最佳技術方案。P4 主要用在網卡、交換機、路由器等網絡設備上,允許用戶編程來控制報文在數據平面轉發行為。經過近 10 年的發展,P4 已成為網絡應用領域標準的編程
120、語言。vSwitch 作為以太網交換機的功能延續,QoS、流量管理、端口綁定等功能是進一步保證智能網卡卸載 CPU 負載、協助上層業務完成精細力度業務控制的保證。P4 賦能的 vSwitch 將強化網絡卸載能力和卸載功能多樣性。圖 4-9.P4 vSwitch核心功能框圖。61 4.1.2 DPU 在云數據中心的應用在云數據中心的應用 數據中心是大規模計算、海量數據存儲和提供互聯網服務的基礎設施,互聯網服務應用和大數據對算力的要求日益增長,但是摩爾定律放緩使得通用 CPU 性能增長的邊際成本迅速上升。這就要求對數據中心的資源進行更細粒度的控制使用。智能網卡 DPU 不僅是運算的加速引擎,還要具
121、備控制平面的能力,能夠運行 Hypervisor,更高效的完成網絡虛擬化、IO 虛擬化、存儲虛擬化等任務,徹底將 CPU 的算力釋放給應用程序。因此在云數據中心中使用智能網卡 DPU 能夠解決虛擬化、網絡和存儲組件帶來的 CPU 開銷,成為整個數據中心降低成本增加效能的關鍵。4.1.2.1 DPU 和虛擬化和虛擬化 虛擬化廣泛應用于數據中心,現代化數據中心對服務器、網絡、存儲、交換機設備都支持虛擬化的部署,雖然虛擬化帶來應用的革命,但這些虛擬化層組件是承載在 CPU 的消耗之上,成為虛擬化服務的代價。為了消除這個代價催生了智能網卡 DPU 的應用,本質是將 CPU處理器的事務卸載到 DPU 專
122、用處理器上執行,不但能夠提升通信能力和還能提升計算力兩大指標。數據中心中以虛擬化網絡和虛擬化云計算為基礎為租戶提供算力,數據的轉發性能成為極為突出的短板。如傳輸控制協議(TCP)、互聯網安全協議(IPSec)、安全傳輸層協議(TLS)、深度報文檢測 62(DPI),OVS(Open Virtual Switch)的處理對 CPU 處理器性能消耗很大,卻沒有達到預期的效果。智能網卡(DPU)是以數據為中心架構的處理器,通過可編程處理器能夠加速虛擬化網絡、存儲、安全和控制管理服務。針對傳統云計算基礎設施虛擬化卸載到 DPU 上執行,效率得到數十倍提升。同時主機 CPU 資源也能夠得到有效釋放。如圖
123、 4-10 所示。圖 4-10.DPU 與虛擬化5。4.1.2.2 DPU 和裸金屬和裸金屬 裸金屬服務器(Bare Metal Server,BMS)是一款兼具彈性云服務器和物理機性能的計算類服務。雖然裸金屬在性能上表現優秀,但是由于裸金屬本質是物理機,無法借助類似虛擬機的虛擬化設備作為介質實現安全策略、Qos 限速以及熱遷移等功能。為了統一支持網絡、IO、存儲和外設的虛擬化,實現虛擬機、裸金屬統一接口催生了智能網卡(DPU)實現控制面和數據面。DPU 實現控制面51:1)實現 DPU 設備運行管理和計算任務、計算資源配置;2)設備安全管理和實時監控;3)支持信任根,安全 63 啟動、安全固
124、件升級以及身份驗證的容器和應用的聲明周期管理等。DPU 實現數據面51:1)數據報文高速處理;2)虛擬化協議加速,支持 SR-IOV、VirtIO 和 PV(Para-Virtualization)等虛擬化;支持網絡虛擬化 VxLAN、Geneve Overlay 卸載和 VTEP 等協議卸載;3)安全加密(IPsec 和 TLS)4)流量壓縮,流媒體格式流量整形;5)特定算法加速,支持 NVMe 協議和大數據 SQL 加速;6)DPU 具備完善的系統 IO、網絡 IO、主存 IO。智能網卡必須擁有獨立的處理器、存儲、I/O 等單元,承擔 Host上原來通過軟件形式實現的網絡、存儲以及外圍設備
125、的虛擬化,這樣才能夠實現異構裸金屬網絡轉發的完全卸載,實現跨節點的資源整合,提供熱遷移和 HA 服務。同時又能統一虛擬機和裸金屬兩類服務接口,原理如圖 4-11。圖 4-11.DPU 與裸金屬51。64 4.1.2.3 DPU 和容器和容器 容器是一種內核虛擬化技術,提供輕量級的虛擬化,以便隔離進程和資源。具有比虛擬機的啟動速度快,支持大并發,且不需要hypervisor 開銷,占用磁盤也相對較小的優點。但當用戶對容器網絡需求不斷增長,對容器網絡的性能也不斷提升?;谲浖娜萜骶W絡提供豐富的功能與保持優秀的性能產生了沖突,尤其是邊緣場景有著更高性能和輕量化的要求。通常情況下Overlay 封裝
126、和解封裝、流量鏡像、安全策略以及網絡加解密都會產生 CPU 開銷,損耗疊加起來對性能影響不可小覷。盡管通過 SR-IOV 技術方案繞過主機內核協議棧直通容器,雖然性能達到提升,但是只提供了基本聯通能力,高級功能開發變得困難,而且網絡靈活性下降,無法適配需求的變化。比如實現限速和安全組等功能。容器網絡平臺由容器引擎、容器網絡接口CNI(比如calico、flannel、cilium)和容器存儲接口構成??刂泼嬉话阌?OVN-Kubernets 管理。二、三層實現 CNI 接口,四到七層實現服務網格(service mesh)。由DPU 硬件卸載 OVS 轉發的能力又可以得到完美詮釋。如圖 4-1
127、2 所示,DPU 能夠將虛擬網絡消耗卸載到智能網卡上,轉發效率比 CPU處理效率更高,使容器網絡的轉發時延和吞吐都有較大提升。65 圖 4-12.DPU 與容器5。4.1.3 安全功能卸載安全功能卸載 DPU 能卸載安全功能來提高主機性能,還能通過信任根的應用形成安全隔離層,防止黑客入侵一個主機后對虛擬化網絡進行篡改,從而將入侵擴散。安全功能卸載需求主要來源于虛擬化網絡的發展。以 NGFW 和DDoS 防御設備為代表的安全功能產品中,CPU 的算力有待釋放,因此具有硬件加速的需求。圖 4-13.DPU 在 NGFW/DDoS 設備上的應用8。如圖 4-13 所示,DPU 可以將設備上的流表卸載
128、,負責對流量攔截;還可以對卸載的數據進行深度檢測功能。66 DPU 還可以滿足隔離網絡虛擬化的需求。一方面,通過 DPU 對流表與深度檢測功能卸載,安全功能設備可以加速主機系統中的安全服務應用;另一方面,DPU 的控制平面支持信任根的應用,能夠提供密鑰生成算法,與主機操作系統相隔離,具備卸載主機虛擬化網絡的控制平面能力,通過 DPU 將主機與虛擬化網絡隔離,黑客入侵了一臺主機系統并獲得權限也無法對虛擬化網絡進行篡改,也就限制了黑客入侵之后的擴散能力,如圖 4-14 所示。圖 4-14.DPU 可抵擋黑客對虛擬化網絡配置進行篡改8。DPU 還提供眾多的卸載功能,比如支持網絡數據的在線(inlin
129、e)加密和解密,包括 SSL/TLS 和 IPSec,也支持對網絡第 7 層數據的正則表達式匹配(RegEx)以及基于它的 DPI 支持。DPU 也支持 PKI,從而實現 TLS 握手協議的硬件卸載。另外 DPU 本身是一個安全設備,可以確保自身的 Firmware,Bootloader 以及 BMC code 不受到篡改。表 4-1 是當前常用的安全加速卸載類型。表 4-1.安全加速卸載類型9。67 特點 詳情 平臺安全 通過使用硬件信任根(Root of Trust)實現安全和可追溯的操作系統啟動,保護計算平臺免受硬件級攻擊 加密加速 通過硬件加速、在線 IPsec、TLS 線速數據加密和
130、MACSec 線速數據加密來保護數 據中心通信和 Web 應用程序交付 分布式安全策略執行 通過啟用 NVIDIA 的高級交換和數據包處理(ASAP2)技術在硬件中執行分布式安全策略 深度包檢測 通過使用內置數據格式(build-in pattern)匹配加速對傳入流量執行深度數據 包檢查來檢測惡意活動 隔離安全控制平面 在受信任的 DPU 環境中部署安全應用程序,與主機系統隔離,以防止橫向移動并減少攻擊面 4.1.4 存儲存儲功能功能卸載卸載 目前存在硬件卸載技術方向 NVMe-oF 卸載和虛擬化 Virtio-blk磁盤設備兩種卸載方式:(1)NVMe-oF 卸載到智能網卡 NVM Exp
131、ress 工作組發布的 NVMe-oF(NVMe over Fabric)規范定義了經過網絡連接到存儲的訪問方式,使數據中心的計算和存儲清晰分離,以達到通過網絡連接存儲的目的。在此之前的存儲協議(iSCSI、Fibre Channel 和 SAS)都已經不能滿足當前大數據量傳輸需求。NVMe 的主機側 Initiator 相當于 client,NVMe 的控制器端稱之為 Target 等同于 server。圖 4-15 中是 NVMe 規范中定義的傳輸選項:Over PCIe(本地盤使用方式)和 Over Fabric 的 3 種通道類型。68 圖 4-15.NVMe 傳輸選項52。包括如下四
132、種技術方向52:1)智能網卡卸載主機側 NVMe-oF Initiator,達到硬件加速存儲的作用。2)智能網卡卸載 NVMe-oF Initiator 和 Target,達到硬件加速存儲的作用。3)智能網卡卸載控制側的 NVMe-oF Target。通過提供 PCIe Root Complex 能力和 NVMe-oF Controller 端的硬件卸載加速,實現加速NVMe 存儲的目的。4)通過 DPU 芯片提供多個 PCIe Root Complex 通道以及多個高吞吐網卡(比如 100Gbps)實現的超大吞吐的存儲卸載。(2)虛擬化 virtio-blk 磁盤設備卸載到網卡 目前常用的虛
133、擬化磁盤設備是 virtio-blk,它屬于半虛擬化存儲設備。由于基于 virtio-blk 是基于通用 virtio 框架實現的磁盤前后端,已經編譯到了多數 linux 系統內核中,因此無需額外加載廠家的專屬驅 69 動。但由于 virtio-blk 也存在約束,比如 PCI 功能和存儲設備映射為1:1,限制了可擴展性,因此也在不斷演進。虛擬化 virtio-blk 雖然通過軟件實現了磁盤的虛擬化,但是性能并不突出,因此利用 DPU 智能網卡,將 virtio-blk 功能遷移到 DPU 硬件中實現,可以獲得較明顯的性能提升,原理如圖 4-16 所示。圖 4-16.虛擬 virtio 磁盤設
134、備卸載5。4.1.5 5G 場景場景 UPF 卸載卸載 5G 時代用戶面的網元大量下沉到邊緣,來滿足低時延、大帶寬的業務需求,同時采用 NFV 技術,提升網元部署的靈活性,進而實現軟硬件解耦。虛擬化用戶面網元的業務邏輯均由 CPU 來處理,但隨著各種業務和應用匯聚在邊緣側,邊緣云的計算開銷激增。傳統提升用戶面性能的方案主要依賴于 CPU 性能,但是隨著 CPU 的性能無 70 法按照摩爾定律增長,這種單獨依賴于 CPU 的更新換代來提升性能的方案已不再具有可持續性,而且靠軟件加速的性能提升也基本達到了瓶頸,很難再有實質性的提升。因此,一種將 UPF 功能卸載到智能網卡上的軟硬協同加速方案成為了
135、目前主流的發展方向。通過策略編排結合智能分流技術,把移動網絡的 GTPU 流量從傳統的 CPU 處理器按需卸載到智能網卡,然后通過智能網卡來完成高速轉發,當前主流方案是將 UPF 快進程業務卸載到硬件加速卡,由CPU 完成慢進程中的 DPI 等處理流程,如圖 4-17 所示。圖 4-17.UPF 卸載47。硬件加速卡接收到數據流后,提取 N 元組在流表中查詢判斷是否存在匹配的表項,如果不匹配則將報文上送 CPU,由 CPU 對該報文進行慢進程處理,經過安全、GTP、DPI 等處理后,判斷該數據流是否需要卸載,若需要卸載則生成流表下發到硬件加速卡。后續數據包進入硬件加速卡后,會命中流表中的表項,
136、進而再通過承載表找到該流的 QoS、Charging 等規則,由硬件加速卡完成數據包的快進程轉發。71 使用此方案可以突破現有的軟件加速算法瓶頸,性能可達到傳統用戶面轉發性能的數倍,同時轉發時延可以降低到 1/10,完全能夠滿足工業控制、車聯網、無人機等需要超高帶寬和超低時延的 5G 應用場景的技術要求。4.1.6 高性能計算與高性能計算與人工智能人工智能 DPU 的硬件加速場景是不斷擴展的,除了網絡、存儲、安全的卸載之外,還可以在人工智能、高性能計算等領域得到應用。AI 和 HPC 通信框架和庫對延遲和帶寬都很敏感,它們在應用性能方面起著關鍵作用。將通信庫從主機 CPU 或 GPU 卸載到
137、DPU,為通信和計算的并行處理實現了最大程度的重疊,它還減少了操作系統的抖動帶來的負面影響,顯著提高了應用性能。Xilinx 深度學習處理器單元(DPU)是專用于卷積神經的可配置計算引擎網絡。引擎中使用的并行度是設計參數,可以根據需要選擇目標設備和應用程序。它包含一組高度優化的指令,并支持大多數卷積神經網絡,可將 DPU IP 作為一個模塊集成到所選 SoC 器件的可編程邏輯(PL)中,這些器件與處理系統(PS)直接相連。米爾科技 MYD-CZU3EG 開發板在原產品的基礎上搭載了賽靈思深度學習處理單元DPU,該部分新功能的增加可以極大的提升產品數據處理與運行效率,結合 DNNDK 工具鏈,A
138、I 開發者就能用上賽靈思的算法資源,為 AI應用落地提供完整支撐,幫助用戶實現更為快速的產品開發和迭代。搭載 DPU 后,MYD-CZU3EG 可用于 ADAS,智能安防,工業質檢,72 智能零售等諸多 AI 應用開發。DPU 是一個集數據中心于單芯片的平臺,為每個超級計算節點注入了兩種新功能:基礎設施的控制平面處理器,保護用戶訪問的安全、加速存儲訪問、加速網絡通信和對于計算節點的全生命周期編排,卸載主計算處理器的基礎設施操作,實現裸機多租戶;通過硬件加速的方式將數據通路隔離出來,保障線速,實現裸機性能。(1)GPUDirect RDMA GPU-GPU 通信的最新進展是 GPUDirect
139、RDMA 21。該技術在GPU 內存之間提供直接與網絡適配器之間的 P2P 數據路徑。這顯著降低了 GPU-GPU 通信延遲并完全卸載了 CPU,將其從網絡上的所有GPU-GPU 通信中移除。GPU Direct 可以利用絡適配器的 PeerDirect RDMA 和 PeerDirect ASYNC 功能來實現。隨著機器學習和 AI 應用的快速增長,GPU-direct RDMA 已成為 AI 集群部署的一項關鍵性技術。其通信模型可參考第二章圖 2-12。(2)音視頻分析 隨著各種各樣的內容類產品發展,各種新興的網絡媒體方式也層出不窮,不少亂象趁機而發,當內容管理不到位時,就容易觸犯到國家對
140、內容監管的的政策。違規音視頻內容在互聯網上的傳播不僅是各大內容廠商最關注的環節之一,也是安全部門的重點監管對象。對于音視頻數據有分析需求的場景包括互聯網數據中心安全監管分析、內容審核分析、版權保護分析、違規視頻傳播分析以及沒有邊緣計算能力的邊緣端。73 在這些場景中常見的解決方案一般由機器加人工的審核方式,機器分析的流程為解碼-抽幀-特征提取-推理-特征搜索五大步驟。由于視頻經過解碼之后膨脹為原始大小的 100 倍以上,過度膨脹的數據傳輸需要超大的帶寬,帶寬通常受限于 PCIe 通道,相鄰幀之間大量的重復信息會增加算力負擔,通過去除冗余幀可以提高計算效率,所以常見的處理方式為在固定時間內或者單
141、位數量內進行間隔抽幀,這種解決方式會導致某些關鍵幀丟失而降低識別率。圖 4-18.基于 DPU 的特診搜索。用 DPU 方案可以在單芯片內完成解碼和推理,免去了傳輸過程,解除 PCIe 吞吐限制。為了進一步提升處理性能,DPU 也可以進行智能抽幀,通過計算數據的相似度的方式采用關鍵幀智能識別算法進行智能抽幀,抽取的樣本更準確,在提高處理性能的同時提升識別率。在搜索應用場景中,硬件對圖像數據進行特征提取,不同的卷積核提取不同的特征序列,并將這些特征序列上送給 CPU 進行搜索計算,完成高維搜索,通過軟硬件協同方式實現高性能處理。4.1.7 算力網絡算力網絡場景場景 隨著摩爾定律趨近于極限,面對不
142、斷倍增的算力和網絡需求,通 74 過網絡集群優勢突破單點算力的性能極限,提升算力的整體規模,成為了產業界共同關注的熱點。算力網絡是以算為中心、網為根基的新型信息基礎設施,一方面需要應用“以網強算”的計算體系結構,實現云數據中心內集群算力的最優,另一方面需要運用算力感知、算力調度等技術,實現跨數據中心的算力泛在供給。圖 4-19.網絡互聯提升算力演進過程。隨著數據中心的高速發展,網絡能力和計算能力成為數據中心基礎設施的相輔相成的兩個重要發展方向。若數據中心僅關注計算能力的提升,網絡基礎設施的提升跟不上,那么數據中心的整體系統性能依然受限,無法發揮出真正的潛力。智能網卡和 DPU 的提出背景就是應
143、對這些數據量和復雜性的指數級增長。將計算移至接近數據的位置,是目前業界所公認的以數據為中心的體系結構下的創新方向。DPU 作為繼 CPU、GPU 之后的第三大算力芯片,主要從以下兩個方面實現算力網絡的融合底座。(1)釋放 CPU 算力,構建零損耗云基礎設施 數據中心算力供給主要以云計算的方式提供,以實現多租戶、彈性擴縮、高可用的業務訴求。DPU 最直接的作用是作為 CPU 的卸載 75 引擎,接管網絡虛擬化、硬件資源池化等基礎設施層服務,釋放 CPU的算力到上層應用。以網絡協議處理為例,線速處理 10G 的網絡需要的大約 4 個 Xeon CPU 的核,即只做網絡數據包處理,就可以占去一個 8
144、 核高端 CPU 一半的算力。如果考慮 40G、100G 的高速網絡,性能的開銷就更加難以承受了5。亞馬遜 Amazon 把這些開銷都稱之為“Datacenter Tax”,即還未運行業務程序,先接入網絡數據就要占去的計算資源。AWS Nitro 產品將數據中心開銷(為虛擬機提供遠程資源,加密解密,故障跟蹤,安全策略等服務程序)全部從 CPU 卸載到 Nitro 加速卡上,將給上層應用釋放 30%的算力5。圖 4-20.加速卸載釋放算力。(2)低時延無損網絡,賦能高性能集群計算 為了降低數據中心內部網絡延遲,提高處理效率,RDMA 技術的出現為新興業務的高效應用提供了新的機遇。RDMA 允許用
145、戶態的應用程序直接讀取和寫入遠程內存,無需 CPU 介入多次拷貝內存,并可繞過內核直接向網卡寫數據,實現了高吞吐量、超低時延和低CPU 開銷的效果。1)構建云存儲,實現算存分離 存儲網絡一直在追求大帶寬高吞吐以充分發揮存儲盤和 CPU 的 76 效率。進入 20 世紀,隨著更高速率的 SSD 的規模應用,特別是近來高速低時延的 NVMe 技術的出現,存儲需要更高速更高效的網絡。RDMA 技術因其更低時延更高吞吐、Ethernet 技術因其遠超 FC 的更高帶寬更低成本,這兩個因素使得 RDMA 和 Ethernet 技術的結合即RoCE 成為存儲網絡技術的新趨勢。DPU架構和技術,使服務器上運
146、行的業務應用和操作系統內核,用簡單的本地存儲訪問 API,就能實現對復雜分離式/分布式/超融合/軟件定義存儲系統的高效透明訪問。存儲廠商可以把為各行業應用開發的直連式存儲(DAS)、縱向擴展(Scale-up)、橫向擴展(Scale-out)、超融合架構(Hyperconverged)等存儲解決方案,零開銷地推廣到各個應用領域的現有業務處理平臺和數據中心基礎架構中,而所有的安全加密、數據壓縮、負載均衡等復雜又必須的功能則完全由 DPU 透明地卸載。存儲行業的革新算法和實現,可以在 DPU 架構中,獨立于服務器操作系統進行部署。DPU 技術幫助存儲廠商實現真正的“算存分離”,完全發揮自家產品的技
147、術優勢,打通最高效服務應用需求的通路。2)跨設備共享內存,突破 HPC、AI 集群性能瓶頸 隨著計算機視覺、自然語言處理、自動駕駛等場景人工智能應用的落地和快速增長,應用對海量算力的需求以指數級別增長,這對基礎設施提出了大規模、分布式、高性能的挑戰。計算網絡,典型代表為 HPC 等高性能業務,低時延是其的極致追求,之前采用 InfiniBand專網。但隨著 RoCE 技術的深入發展,Ethernet 在計算網絡中的應用 77 也逐漸普遍。RDMA 技術通過消除多 GPU 跨節點通信的網絡瓶頸,顯著降低了訓練任務整個周期中的通信耗時占比,提高了 GPU 集群計算資源利用率和訓練效率,也為集群橫向
148、擴展到更大規模時的線性加速比提供了保證。3)低延遲異構算力互聯,使能資源池化 異構算力互聯即為 GPU、FPGA、ASIC 或其它加速卡與 CPU 之間的數據連接。在 CPU 與加速卡之間,以及加速卡之間形成的芯片互聯技術被更多的采用,雖然 PCIe 有著非常通用的標準化設計,但帶寬有限將會限制互聯技術方面持續升級。以 CXL 和 Gen-Z 為代表的等下一代互聯技術取得快速發展,DPU 作為各種高速互聯協議融合的沙盒,最適合成為靈活的高速互聯載體,通過采用和擴展“以內存為中心”的互聯協議,將帶來在單個機箱外部擴展亞微秒級延遲技術的機會,為下一代計算架構創新創造可能性。4.1.8 生命科學生命
149、科學場景場景(1)基因測序 基因測序技術可獲得目的 DNA 片段的堿基排列順序,從而解讀DNA 的遺傳密碼,為生命科學研究、臨床診斷和治療等提供指導。由此開始,人類獲得了探索生命遺傳本質的能力,生命科學的研究進入到基因組學的時代。以人類自身的基因組序列測定來說,從 1983年人類基因組計劃公布第一個人類基因組序列草案,直到 2022 年,第一個完整的、無間隙的人類基因組序列發布46。目前,基因測序 78 不僅在生殖健康,腫瘤診治,藥物研發等醫療領域廣泛采用,還應用在食品安全,司法鑒定,動植物研究等非醫療領域?;驕y序的應用范圍能不斷擴大,最主要歸功于成本的大幅下降。早期只有一代測序技術時,人類
150、基因組計劃花費了 13 年,30 億美元才獲得了大部分的人類基因組信息。而第二代測序技術,也就是高通量測序技術,在現在已經把個人基因組測序成本降到了 1000 美元以下。高通量測序通過極高分辨率照相機捕捉堿基的熒光分子標記來確定 DNA 的序列,即通過復雜的圖像處理,從海量的圖像(熒光標記)數據中獲取最終的生命信息數據。相比使用通用架構的 GPU,基于FPGA/ASIC 的 DPU 實現,可以提供更高的性能和更好的性價比及功耗占用。(2)蛋白質折疊 蛋白質結構預測是從蛋白質的氨基酸序列推斷蛋白質的三維結構即從一級結構預測其二級和三級結構。結構預測不同于蛋白質設計的逆問題。蛋白質結構預測是計算生
151、物學追求的最重要目標之一;它在醫學(例如,藥物設計)和生物技術(例如,新型酶的設計)中尤其重要22。AlphaFold 是由 Alphabet 的 DeepMind 開發的人工智能程序(深度學習和推斷系統),它執行蛋白質結構的預測。AlphaFold 版本 1 和2 在 2018 年和 2020 年的 CASP(Critical Assessment of Techniques for Protein Structure Prediction)比賽中兩次取得第一名。AlphaFold 2 在CASP 的表現被描述為“令人震驚”和變革性的23。79 DeepMind 對 AlphaFold 訓練
152、了大約 170,000 種蛋白質,這些蛋白質取自蛋白質數據庫,這是一個序列和結構的公共存儲庫;它比較了數據庫中的多個序列,并尋找通常以折疊結構結束的氨基酸對;然后,它使用這些數據來估計未知結構中氨基酸對之間的距離;它還能夠評估這些估計的準確性25。AlphaFold 模型在張量處理單元(TPU)v3 上訓練,使用 128 個 TPU v3 核心,訓練時間超過一周24。通過DPU/RDMA 實現 TPU 核心間的加速傳輸則有潛力提升蛋白質結構預測算法的收斂速度、以及系統對更大規模訓練樣本和模型結構的處理能力。4.2 應用案例應用案例 4.2.1 SmartNIC 應用案例應用案例 4.2.1.1
153、 運營商運營商應用案例應用案例 在某運營商的行業云骨干云池中,應用日益增長的高性能高要求和虛擬交換機性能限制產生了沖突,虛擬機交換機的轉發面已經無法滿足客戶對轉發性能需求。在經過廣泛的智能網卡特性調研與原型驗證,積極實踐引入智能網卡實現將轉發數據卸載到網卡硬件芯片,提升了轉發處理能力的同時也釋放了 CPU 計算資源,提高了整體服務效能,達到降本增產的目的。(1)背景和痛點 一直以來云原生虛擬網絡使用 OpenvSwitch 虛擬交換機完成流 80 量的轉發,隨著 VxLAN 以及隧道封裝的 Overlay 的應用,轉發承載數據也越來越復雜和沉重。OVS kernel 轉發性能最多只能達到幾十萬
154、pps 報文轉發能力。雖然通過 SR-IOV(Single Root I/O Virtualization)可以簡單提高性能但又會導致無安全策略以及無法限速問題。轉而借助 OVS-DPDK 在具備安全性以及功能完善條件下,也只能達到百萬級轉發性能,而且要承擔軟件帶來的不穩定性。在這種背景下,SmartNIC 不斷推陳出新,不僅提供強大的硬件卸載能力,也可以提供 VirtIO 加速,存儲卸載,也集成了網絡安全數據面卸載能力,根據實際測試借助硬件卸載可以達到千萬級別已經接近轉發線速。(2)解決方案 在虛擬化網絡的主機上加裝 SmartNIC,只將 OVS 的流表卸載到SmartNIC 硬件執行,控
155、制面維持在 host 上,比如 ovs-vswitchd、ovsdb-server 和配置管理。也就是部分數據面的虛擬化網絡卸載方案。這種方案的優勢在于控制面不需要過多適配,數據面依賴 SmartNIC 能力得到提升。實現原理如圖 4-21 所示。圖 4-21.卸載原理。81(3)效果總結 經過實際驗證,在虛擬化云平臺中應用了 SmartNIC,開啟網絡數據面卸載到硬件能力之后,報文轉發速率有了明顯提升,開啟硬件卸載比不開啟硬件卸載網卡能力發揮更充分,轉發性能表現更好。4.2.1.2 基于銳文科技智能網卡基于銳文科技智能網卡 xSmartNIC 實現實現 5G 分段路由的應用分段路由的應用案例
156、案例58(1)背景和痛點 對于 5G 及之后的網絡來說,多層網絡分片以達到不同的性能需求至關重要,在 IP 領域,分段路由是一種可以提供 L2 和 L3 虛擬化VPN 的重要手段,分段路由可以通過中央控制器來決定標簽的分配和分發,從而實現更敏捷的流量控制。但是由于網絡設備硬件層面的靈活度有限,分段路由的實現通常使用軟件實現,整體性能存在瓶頸。(2)解決方案 P4 是一種可編程數據平面的語言,可以實現更靈活的數據平面編程化。P4 的出現,使分段路由的實現,從軟件層面下沉到硬件層面,減少 CPU 核的占用,通過引入支持 P4 的智能網卡可以實現網絡中端到端的分段路由整體解決方案。如圖 4-22 的
157、 5G 邊緣數據中心間的構架,對于需要高性能低延遲的端到端的網絡來說,硬件層面的虛擬化和數據平面的可編程性是取決定因素的。銳文科技支持 P4 的智能網卡 xSmartNIC 與 Facebook Voyager 光交換機的結合可以實現更扁平化的邊緣數據中心構架,P4 82 提供了數據平面的可編程性,支持 P4 的智能網卡 xSmartNIC 可以實現硬件層面的端到端的 SRv6 及 MPLS 的分段路由。其中銳文科技的智能網卡 xSmartNIC 實現了可以通過 P4 編程的方式,在以太網報文內插入或者刪除路由信息,這樣,控制器可以實現對全局網絡中的各級設備進行分段路由。圖 4-22.5G 邊
158、緣數據中心間的構架。(3)效果總結 我們通過在 5G 邊緣網絡中的實地測試,得出圖 4-23 的數據結果,圖 4-23 中(a)是 Facebook Voyager BVT 的光譜圖,(b)為銳文科技智能網卡 xSmartNIC 在有卸載和沒有卸載情況下吞吐量的對比,(c)為測試平臺端到端的延遲。83 圖 4-23.實測結果:(a)Facebook Voyager BVT 光譜圖,(b)銳文科技智能網卡 xSmartNIC 在有卸載和沒有卸載情況下吞吐量對比結果,(c)測試平臺端到端的延遲。如圖所示,使用支持 P4 的智能網卡 xSmartNIC,在智能網卡內實現分段路由比使用軟件實現分段路由
159、,可以提升終端的網絡吞吐率30%。此外,也可以降低相應的軟件處理所需要的 CPU 占用。4.2.1.3 益思芯科技益思芯科技 DPU 智能網卡應用案例智能網卡應用案例(1)背景和痛點 隨著云計算、大數據、AI、5G 的發展,數據中心的數據流量,尤其是東西向的流量急劇增加,CPU 處理數據搬移會消耗大量用于處理業務應用的算力,數據中心算力提升遭遇瓶頸,難以匹配快速增長的網絡傳輸速率,激發了 DPU 需求。數據中心架構在由 CPU 為中心的傳統計算模式逐步轉向以 DPU 為中心的異構計算模式。(2)解決方案 84 圖 4-24.益思芯科技 DPU 智能網卡解決方案?;谝嫠夹究萍?DPU 智能網卡
160、解決方案,可以加速虛擬化、容器、裸金屬等云計算應用場景,具有如下關鍵技術特性:1)基于 virtio-net/virtio-blk/NVMe 的云原生 I/O 虛擬化接口;2)基于 P4 可編程引擎的虛擬交換卸載、網絡卸載,支持千萬級流表轉發的同時做到數據包線速轉發;3)支持基于 NVMe-oF 的高速共享存儲卸載;4)支持基于完善的網絡安全、存儲數據安全處理;5)運行標準 Linux 的控制平面,可以提供 SDN、OpenStack 控制管理等能力。(3)效果總結 通過益思芯科技 DPU 智能網卡解決方案卸載網絡、存儲、安全、管理等功能,能夠大幅度提高數據處理效能,提升系統效率、降低整體系統
161、的總擁有成本(TCO),實現了降本增效。85 4.2.1.4 沐創智能網卡芯片應用案例沐創智能網卡芯片應用案例 5G 核心網作為 5G 網絡的大腦,負責對整個網絡進行管理和控制,5G 核心網設計之初就采用 SBA 微服務架構,即網絡功能服務+基于服務的接口。其中,網絡功能服務可由多個模塊化 NF 組成,并通過“基于服務的接口”來展現其功能。網絡處理功能是 5G 核心網的基礎功能。在 5G 核心網中,中小數據塊的報文占了很大一部分,因此如何實現中小數據塊 40Gbps 的線速處理,是 5G 核心網的網絡處理核心需求?;阢鍎撝悄芫W卡芯片 N10 的基于 RISC-V 的多核 NP 處理功能,實現
162、了,GTP-U 的協議處理,同時支持 40Gbps 的國密能力,可以實現 IPSec/TLS 等國密 SM2/SM3/SM4 的處理能力。86 圖 4-25.N10 網卡測試架構及吞吐量性能。在 N10 強大的可編程的協議處理能力,以及高性能密碼卸載能力,最終實現了 40G 線速的處理能力。4.2.2 DPU 應用案例應用案例 4.2.2.1 芯啟源芯啟源 DPU 賦能運營商算力網絡賦能運營商算力網絡基于芯啟源基于芯啟源 DPU 智能智能網卡網卡 SD-WAN 云網云網 POP 點數據面卸載案例點數據面卸載案例(1)背景和痛點 隨著社會發展和科技進步,算力不斷提升,異構計算類型不斷涌現,海量數
163、據的傳輸、異構數據的分析和存儲對傳統網絡和云計算提出了巨大挑戰。算力自云端下移到接近數據源的邊緣側后,形成了網絡中分散的算力資源。網絡在實現分散節點互聯的同時,還需要具備網絡和算力協同調度的能力。網絡逐漸成為制約算力充分發揮能力的關鍵,需要與算力達成更好的協同;同時,算力從集中式走向分布式架構,已經延伸到距離用戶更近,需要網絡能力一同向用戶側延伸。87 算力網絡的目標是更高效利用算力,保證云邊端算力的無縫協同。借助網絡使數據與算力得到快速連接、處理;使算力像電力、熱力一樣成為基礎資源,用戶可以隨用隨取而不必關心它的產生與位置。算力網絡的演進從目前的算網分治、逐步走向算網協同,最終發展為算網一體
164、化;算力網絡需要從架構、協議、度量等方面協同演進,構建面向算網一體化的新型基礎網絡,實現更多維度創新;算力網絡將“算力+網絡”作為一體化的生產力統一供給。在算力網絡中,DPU 的角色不僅僅是一個加速卡,更應作為算力網絡中的一種能力支持來引入算力網絡,納入算力網絡的整體架構中,作為算力節點的核心功能之一。作為云算網融合的一個重要業務場景,SD-WAN 方案雖然為云專線業務帶來了靈活部署、便捷開通、自助彈性服務等優勢,但是因為通用 SD-WAN 方案中的 vPE 使用通用 CPU 實現對 IPSec 的軟件加解密,性能受限(單 vPE 處理能力 4Gbps),同時導致寶貴的 CPU 資源被大量消耗
165、,業務穩定性大幅降低(時延從 2ms 上升到 3ms,增加50%),抖動加??;單服務器也僅能承受 600 線 20M 的用戶,業務場景嚴重受限。芯啟源 DPU 智能網卡作為業界領先的基于 DPU 的智能網卡,具備兩個典型能力:硬件可卸載,可以在 DPU 智能網卡硬件上完成部分計算任務;高度可擴展、靈活可編程。1)直接的卸載功能可大幅提升算力可用率和網絡吞吐效率,降低網絡時延,減小總體能耗。88 2)可擴展性、靈活可編程的特性支持多維創新,可以更快速地適應不同行業對不同算力的需求。芯啟源 DPU 智能網卡助力運營商“云算網融合”和“網絡轉型”,打破“管道化”困境,提供“網絡+算力”變現的新模式,
166、構建開放共贏的算力生態。最終達到網絡無所不達,算力無處不在,智能無所不及的愿景。圖 4-26.現狀及痛點。(2)解決方案 在云網融合、虛擬網元和虛擬網絡流量指數級增長的背景下,VPE 所在的服務器和虛擬機的 CPU/vCPU 大量消耗在報文的收發處理而不是關鍵的業務處理,通過使用芯啟源的 Agilio 智能網卡,將報文校驗、分片、IPSec 加解密和其他隧道協議卸載到網卡進行加速處理。89 運營商的網絡場景復雜,其網絡部署環境和部署平臺是多樣化的,在網絡(隧道)協議豐富且需要快速部署的訴求背景下,DPU 智能網卡具有的高度可編程性,使得其具有極高的靈活性和擴展性,從而可以實現新協議的快速卸載和
167、落地,特別適用于定制化需求和部署多樣化等要求高的 5G 網絡場景和 UPF 系統以及 SD-WAN 場景,智能網卡(DPU)的網絡報文基礎處理、多協議卸載和安全封裝卸載可將各種專網的數據面卸載,顯著的提高了整個網絡性能。本案例基于 DPDK 的 RTE_SECURITY 框架,在智能網卡上實現了業界領先的IPSec inline 模式的卸載。相對于其他硬件加密卡的旁路模式,不但縮小了報文處理路徑,而且提高了網絡性能,極大的節省了客戶基礎設施建設成本,極大的釋放了昂貴的 CPU 資源,并提高了吞吐、減少了網絡時延。(3)效果總結 通過引入芯啟源基于 DPU 的智能網卡,將 vPE 的 IPSec
168、 加解密處理卸載到硬件網卡,以期能降低 CPU 消耗,并提升 vPE 業務性能。最終結果也達到并超過了最初的預期,參見下圖:90 圖 4-27.方案及實施效果。1)釋放 CPU 算力,vPE 的 IPSec 加解密能力從原來的 6Gbps 提升到 22Gbps,預期單服務器達到 88Gbps 帶寬,提升吞吐,降低時延;2)以 20Mb 每用戶測算,單服務器預計掛載業務用戶數提升至4400 個;3)預計可以減少 86%的服務器部署需求,大大減少硬件投入,并全面緩解數據中心用電緊張問題,預計每年可以減少服務器 302.75萬度用電。芯啟源 DPU 智能網卡極大地提升了網絡吞吐量,降低了網絡時延,減
169、小了總體能耗。同時也印證了芯啟源 DPU 智能網卡的可編程性,擴展性,靈活性,從而可以賦能算力網絡帶來更多可能,虛擬化的 vPE、vCPE,硬件專用設備 PE、CDN、政企路由器,以及軟硬件安全設備,都可以 91 通過 DPU 智能網卡的賦能實現更靈活、更高效的改進;進一步提升網絡吞吐量,降低網絡時延,減小總體能耗。4.2.2.2 恒揚數據恒揚數據生信生信圖像圖像分分析析案例案例(1)背景和痛點 1)系統輸入來自前端光學系統的極高分辨率照相機,當通量需求增大時,CPU 耗費大量資源用于圖像數據的接收并成為瓶頸。2)同樣的,測試后的結果要進行格式處理,壓縮等處理后才能形成下機數據,然后還需實現高
170、性能的網絡傳輸以交付給后端的生信分析等系統。3)處理流程中各階段復雜程度相差很大,GPU 核(EU)的優化難以達到最優,實際上已經出現性能瓶頸。即使更換型號,仍然存在資源利用率低,性價比低的問題。4)處理流程/算法有迭代要求,但頻率不高。(2)解決方案 圖 4-28.基于 DPU 的生命科學圖像分析系統。采用 FPGA 實現,利用其豐富的 IO 特性,直接對接前端光學系 92 統以及后端生信分析系統,消除原系統的 IO 瓶頸。利用 FPGA 的底層可編輯特性,對圖像積分,直方圖及排序,線性/非線性插值,大矩陣計算,三角函數計算等做細化調優的邏輯處理和資源分配,提供了媲美 ASIC 的并發處理能
171、力,低延遲和實時處理能力。由于 FPGA 可編程,設備仍具備在線的升級能力。(3)效果總結 1)該方案比原 GPU 服務器方案性能提升 50%。2)時延抖動降低 50%。4.2.2.3 恒揚數據恒揚數據音視頻分析應用案例音視頻分析應用案例(1)背景和痛點 1)互聯網中大量的數據都需要審核,每天數以億記的數據人工審核需要有上萬人;2)如果用大量的服務器來堆疊,完成機器審核,需要非常大的分析集群,部署成本極高;3)傳統的 GPU 方案擅長圖像的渲染等,但編解碼能力較弱;4)標準的 GPU 卡不具備 IO 接入能力。(2)解決方案 93 圖 4-29.基于 DPU 的音視頻數據處理流程。DPU 將音
172、視頻數據通過卡上面板接口接入之后開始硬件解碼,解碼完成后通過卷積神經網絡算法提取音視頻數據的特征向量,通過特征向量的計算進行推理,得到安全部門重點監管的政治人物、敏感標識、特定行為等場景,達到互聯網音視頻數據監管的目的。1)采用專用 DPU 處理單元,自帶 IO 特性,省去額外的數據接入設備,接入后的數據在 DPU 內完成預處理;2)將音視頻數據在 DPU 內完成編解碼,相比 GPU,提供高達80 路 1080P30fps 的編解碼能力;3)通過 AI 卷積核算法對圖像數據進行特征提取,不同的卷積核提取不同的特征,如提取邊緣、紋理、顏色空間等特征信息,卷積層越深,提取的特征越抽象,識別的結果就
173、越準確;(3)效果總結 1)單卡提供解碼、智能抽幀、編碼、轉碼、轉協議、視頻編輯等強大功能;94 2)可根據客戶需求進行功能和規格的適配,靈活度高;3)功耗 35W,每路功耗僅 0.5W;4)單卡可同時轉碼 64 路 1080P 的視頻;5)可以達到 2Gb/s 的數據流實時處理能力。4.2.2.4 上海上海同悅同悅分布式邊緣安全分布式邊緣安全案例案例(1)背景和痛點 數據中心網絡在過去十年中不斷提升性能,但是相關服務架構卻沒能適應新興應用的架構需求,比如安全設備的集中式部署在保護數據中心內的東西向應用流量方面效率低下而且成本高昂,這種模式下需要將流量推送到位于數據中心邊緣的安全設備上,會帶來
174、嚴重的性能下降,這個問題對于基于微服務的應用來講會變得更加嚴重。因此將 DPU 集成到網絡接入交換機中實現分布式部署可以克服傳統集中模式下的限制,為東西向流量提供分布式狀態防火墻、零信任分段、遙測,以及帶狀態 NAT 和加密服務等。(2)解決方案 圖 4-30.方案架構。95 如圖所示,將具備安全能力的 DPU 芯片與具備邊緣接入能力的交換機設備相結合,可以大大提升分布式安全架構的靈活性,在普通的交換機內部,數據平面依然通過大容量交換芯片實現數據轉發的能力。但是 DPU 芯片作為 DSA 架構處理器,在實現標準的 CPU 控制平面任務之外它還可以實現防火墻,零信任分段等高級安全功能。這些能力隨
175、交換機分布式部署,因此可以實現高性能的分布式邊緣安全方案。(3)效果總結 圖 4-31.同悅分布式組網方案。集成 DPU 的安全交換機可以實現靈活的分布式組網方案,在性能、規模和自動化等方面為安全服務提供創新性的思路。在這種架構下,流量無需像集中式方案一樣在網絡上來回傳遞,減少了網絡流量擁塞。新的解決方案優化了網絡帶寬和性能,只需要在服務網絡邊緣接入層就可以實現安全服務,同時基于 DPU 提供的遙測能力可以供管理平臺識別并消除惡意軟件流量,降低內部攻擊等行為?;?DPU 96 的分布式安全還可以大大降低整體的部署成本。與基于標準服務器+智能網卡的方案相對比,具備 DPU 的安全交換機在部署方
176、面有如下優勢:表 4-2.兩種方案對比。服務器方案 智能交換機方案 裸金屬 支持 支持 驅動代碼 需要 不需要 服務器成本 高 低 OEM 認證 需要 不需要 97 五五、SmartNIC/DPU 相關公司及產品相關公司及產品 本章介紹部分 SmartNIC 和 DPU 相關的公司及產品。5.1 部分部分 SmartNIC 相關相關公司及產品公司及產品 5.1.1 思科思科 Nexus SmartNIC 圖 5-1.思科 Nexus 系列網卡 16。思科 Nexus 系列網卡是可編程超低延遲、高精度帶時間戳的智能網卡16。Nexus SmartNIC 具備特性(1)超低延遲操作;(2)使用嵌入
177、式 sockets 和內核旁路技術加速應用程序;(3)高精度硬件時間戳和時間同步;(4)可編程性以及可現場升級的自定義功能。5.1.2 Broadcom Stingray PS1100R 圖 5-2.Stingray PS1100R 18。Stingray PS1100R(也可歸類為 DPU)是一款高 IOPS、低功耗的 98 網絡化存儲適配器,以緊湊外形尺寸提供前所未有的單位性能,支持快速開發和交付存儲服務和連接結構的閃存解決方案18。Stingray BCM58804H 數據中心 SoC 將強大的網絡和處理子系統與關鍵工作負載的硬件加速相結合,構成了 PS1100R 適配器的基礎。Stin
178、gray 系列產品由一個全面的軟件開發工具包支持,該工具包提供完整的 turn-key Linux 發行版,開放式編程模型可以輕松移植應用程序18。該平臺使用標準 Linux 和標準 GNU 工具和庫。Stingray SoC 的所有驅動程序都上傳到 kernel.org,所有外圍接口都使用標準設備驅動程序。5.1.3 華為華為 IN 系列系列 SmartNIC 華為推出了 IN 系列 3 大類智能網卡:2012 年的 iNIC 系列、2017年的 SD100(基于 ARM 通用處理器,含 16 個 2.1 GHz Cortex-A57處理核心)、2018 年 5 月的 IN500 系列(IN
179、200 基于海思 Hi1822 芯片,IN300 FC HBA 基于海思高性能 Fibre Channel HBA 芯片)1。5.1.4 邁普邁普 SNC5000(1)產品簡介 邁普 SNC5000 系列智能網卡(SmartNIC)是邁普公司面向新一代云數據中心推出的智能化網絡接口控制器。該系列智能網卡為公有云/專為云、高性能計算、人工智能和超大規模計算等應用而設計,提供強大的網絡和應用平臺能力,用于應對現代云和數據中心在網絡性 99 能、軟件定義網絡(SDN)、業務卸載和計算加速等方面的挑戰。該系列產品技術架構先進,根據不同業務應用和場景,提供基于CPU+FPGA 芯片的智能網卡方案,國內技
180、術領先??舍槍祿行挠嬎?、網絡、存儲等基礎設施,提供區別于傳統網卡的強大優化能力,如網絡加速、OVS 卸載、存儲標準化、加解密、安全卸載、裸金屬管理、可編程能力等。從芯片到硬件到軟件全方位提供安全可控、穩定、可靠、開放的高性能智能網卡硬軟件平臺。圖 5-3.邁普 SNC5000。(2)產品特征 1)網絡虛擬化 支持網絡 OVS 卸載?;谥悄芫W卡強大的數據包檢查和處理功能,將 Open vSwitch(OVS)等常見流量處理工作負載移動到智能網卡中,構建基于硬件性能級別的網絡 OverLay 和 VxLAN/Geneve 隧道網絡。2)存儲服務優化 提供標準化接口機制訪問數據中心存儲、網絡資
181、源,避免依賴特定外部設備驅動,對用戶運行系統無額外要求;可直接訪問存儲資源 100 池,存儲資源集中管理,提供靈活部署能力。3)業務卸載 支持計算密集型處理負載,降低服務器資源開銷,提高服務響應水平,提供國密數據加解密、IPSec 卸載業務能力。4)裸金屬服務 支持通過 BMC 物理通道,對物理服務器開啟、關閉、重啟的操作;云管平臺對裸金屬服務對應的鏡像、網絡資源、存儲資源進行管理。5)開放靈活 架構開放,硬軟件具備可編程能力,基于 Virtio 虛擬化接口,特性和應用可擴展,支持在線升級。6)國產芯片設計,自主安全 關鍵器件采用新一代國產 CPU 芯片,安全可控,確保滿足用戶網絡基礎安全保障
182、需求。7)系統架構 圖 5-4.邁普 SNC5000 智能網卡系統架構圖。101 5.1.5 芯啟源芯啟源 Agilio 智能網卡智能網卡 芯啟源(上海)半導體科技有限公司(以下簡稱“芯啟源”)是一家針對超大規模電信和企業級的智能網絡提供核心芯片和系統解決方案的高科技公司。公司匯聚全球頂尖高科技人才,擁有一支國際化的管理團隊,芯啟源研發中心遍布海內外,如美國、英國、南非、上海、南京、北京、深圳等,不僅擁有一批國內高端技術人才,更有多位一流的海外芯片專家助力研發。芯啟源產品及解決方案緊緊圍繞 5G、云數據中心、云計算等網絡通信相關領域,致力于智能網卡和高端芯片設計研發、生產及銷售,提供最優的芯片
183、及解決方案。公司聚焦 5G 和云數據中心,推出的智能網卡和 TCAM 芯片,達到國際領先水平,有望在該領域參與乃至主導國際標準;EDA 和 IP領域,推出的 SoC 原型驗證和仿真系統以及 USB 3.X IP,打破了行業巨頭的壟斷,以自有核心知識產權填補了國內空白。其中 Agilio 智能網卡平臺是作為首個兼顧軟件和硬件的解決方案,其宗旨是完全透明地卸載并展示開源通用計算網絡數據路徑,如被廣泛部署的 Open vSwitch(OVS)。更為重要的是,Agilio 智能網卡平臺為應用程序節省了寶貴的計算資源,達到了出色的服務水平和投資回報率。規?;牧髁亢退淼捞幚硎峭ㄓ糜嬎憔W絡的基礎。芯啟源的
184、智能網卡融合了獨特的流量處理芯片和 Agilio 軟件架構,可與商用現成(COTS)服務器中的標準網絡軟件一起工作。Agilio 智能網卡解 102 決方案通過板載內存,可支持多達 200 萬個安全規則,并提供高達100Gb/s、28Mpps 的吞吐量,同時僅需要消耗十分之一的計算資源就可提供可擴展的通用計算網絡功能。芯啟源智能網卡 SmartNIC 擁有基于 SoC 架構的成熟 DPU 完整解決方案,自主知識產權并已成熟量產,可以提供從芯片、板卡、驅動軟件和全套云網解決方案產品,同時具有可編程、高性能、低功耗、低成本、節能減排等獨特優勢,可以為 5G 通訊、云數據中心、大數據、人工智能等應用
185、提供極有競爭力的解決方案。圖 5-5.芯啟源 Agilio 智能網卡技術棧。103 圖 5-6.芯啟源 Agilio 智能網卡。5.1.6 益思芯科技益思芯科技 P4 云原生智能網卡云原生智能網卡 圖 5-7.益思芯科技 P4 云原生智能網卡。益思芯科技 P4 云原生智能網卡是國內第一款具有自主知識產權的 P4 動態可編程智能網卡,支持 2 個 25G 數據網口,和 1 個1000BASE-T GE 管理網口。益思芯科技的 P4 網絡加速引擎是全球首款針對 vSwitch 加速而設計的 VLIW ISA P4 處理器,支持千萬級流表的同時性能可以做到數據包線速轉發。該網卡是 OVS、NFV、S
186、DN vRouter、5G UPF 等網絡應用加速的最佳選擇,具備高性能、低延遲、列 加速 列 端 列 104 高靈活性、低功耗等特點:圖 5-8.益思芯科技 P4 云原生智能網卡產品特點。(1)高性能 在網卡上,單個 P4 引擎可以實現網卡全雙工吞吐速率。(2)低延遲 采用了指令級別并行處理架構,報文處理延遲可控制在納秒級別。(3)高靈活性 全面兼容P4-16版本,滿足靈活的協議處理和系統平滑升級需求。(4)低功耗 作為領域專用架構(Domain-specific Architecture),針對 vSwitch加速而設計。在相同性能指標下,預估功耗只為傳統 NP 架構和多核CPU 架構的
187、1/10。105 5.1.7 銳文科技銳文科技 xSmartNIC 圖 5-9.銳文科技 xSmartNIC 介紹。銳文科技創立于 2017 年,2018 年推出使用 FPGA 為載體,支持P4 可編程數據平面的雙口 100GbE 以太網的 xNIC-2000 智能網卡。后陸續推出支持 10GbE,25GbE,40GbE,50GbE,100GbE 等多速率,支持數據采集,OvS 卸載,GTP 卸載等多場景的 xNIC/xSmartNIC 系列智能網卡。銳文科技通過自主研發的網絡報文處理 IP,網絡協議解析 IP,網絡報文加解密算法 IP 及低延遲 DMA IP 等,實現 FPGA 內的低延遲低
188、功耗電路設計。同時,通過與軟件驅動及業務 API 接口的配合,實現高吞吐率、低延遲,卸載 CPU 負荷的智能網卡解決方案。銳文科技創造性地在 FPGA 內實現 P4 可編程數據平面與 OvS 數據平面的邏輯耦合,同時通過最新研發的與板上多核 ARM 業務配合的方式,106 滿足更多場景下的業務需求。銳文科技的 xNIC/xSmartNIC-200/500/2000 等系列智能網卡,已在網絡安全,運營商等領域,通過多個頭部企業的功能及穩定性測試,實現量產及出貨。5.1.8 沐創沐創 N10 系列智能網卡芯片系列智能網卡芯片 沐創 N10 的系列智能網卡芯片,是基于清華大學可重構技術和高性能處理網
189、絡技術開發出來的智能網卡芯片,支持 2/4/8 口 10G,雙口 25G,雙口 40G 等以太網口,內置多核 RISC-V 的網絡處理器,支持網絡協議卸載處理。沐創 N10 系列智能網卡支持 40Gbps 高性能商密算法加速(SM2/SM3/SM4),支持國際密碼算法(AES/SHA256/RSA)以及算法可重構。實現高效的IPSec/TLS安全協議卸載。實現網絡攻擊防護,端到端安全傳輸等功能。沐創 N10 系列智能網卡芯片可以實現國產通用網絡控制器,同時也具備可編程能力,實現可編程網絡協議的卸載。沐創 N10 的系列的智能網卡芯片,具備廣泛的應用范圍,包括網絡安全設備,國產化服務器,數據中心
190、,云計算等領域。107 圖 5-10.沐創 N10 系列智能網卡。5.2 部分部分 DPU 相關公司及產品相關公司及產品 5.2.1 英偉達英偉達 BlueField DPU 英偉達 BlueField 系列產品是典型的 DPU,其架構(SoC 架構)和軟件框架(DOCA)已在第二章說明。5.2.2 Intel IPU (a)(b)圖 5-11.(a)Intel IPU C5000X-PL Platform;(b)Intel IPU(200G FPGA+Intel Architecture)17。108 如圖 5-11 所示,Intel IPU C5000X-PL Platform 具有 2
191、個 25GbE網絡接口的高性能云基礎設施加速平臺。它能夠支持云基礎設施工作負載,例如 Open vSwitch、NVMe over Fabrics 和 RDMA over Converged Ethernet v2(RoCEv2)。如圖 5-11 所示,Intel IPU(200G FPGA+Intel Architecture)是英特爾下一代高性能云基礎設施加速平臺,具有 2 個 100GbE 網絡接口。除了支持 Open vSwitch、NVMe over Fabrics 和 RDMA over Converged Ethernet v2(RoCEv2)等云基礎設施工作負載外,它還具有集成
192、的硬加密塊,能夠以線速保護工作負載。5.2.3 Marvell OCTEON 10 圖 5-12.Marvell OCTEON 10 DPU 框圖20。OCTEON 10 系列 DPU 專為要求較高的云、5G 無線、企業、運營商和數據中心應用而設計20。OCTEON 10 DPU 系列基于 TSMC 的 5nm 工藝構建,并包含 64 位 ARM Neoverse N2 內核。與上一代OCTEON DPU 相比,這種技術組合使計算性能(SPECint/Core/GHz)提高了 3 倍,功耗降低了 50%。109 5.2.4 Fungible F1 DPU 圖 5-13.Fungible F1
193、DPU 架構19。Fungible F1 DPU 用于以數據為中心的計算的高性能、完全靈活的處理器19。F1 DPU 是 Fungible DPU 系列處理器的旗艦設備。F1 DPU 可提供 800Gbps 的處理速度,執行以數據為中心的計算效率比通用 CPU 高一個數量級。它完全實現了整個存儲、網絡、安全和虛擬化堆棧。F1 DPU 還通過其 TrueFabric 技術促進服務器節點之間的高效數據交換。這使得能夠大規模實現所有數據中心資源的分解和池化。TrueFabric 是一種大規模 IP-over-Ethernet 結構協議,可提供全橫截面帶寬、低平均和尾部延遲、端到端 QoS 和無擁塞連
194、接。TrueFabric協議完全符合標準并可與以太網上的 TCP/IP 互操作。這確保了數據中心脊葉網絡可以使用標準的現成以太網交換機構建。5.2.5 云豹智能云豹智能云霄云霄 DPU 全功能云霄 DPU 產品,全面支持裸金屬、虛擬機和容器服務資 110 源一體化和性能加速。主要具備以下六大優勢及亮點:(1)全面支持裸金屬、虛擬機和容器云服務資源一體化 云霄 DPU 產品為數據中心提供統一的運維解決方案,全面解決虛擬機、裸金屬和容器不同場景的統一管理,讓企業業務上云不受影響,遷移無感知,賦能云服務商向新一代以數據為中心的數據中心無縫遷移。(2)讓數據中心從傳統網卡向云霄 DPU 產品遷移更平滑
195、 Virtio-net/Virtio-blk 虛擬化是當前數據中心主流的網絡和存儲軟件虛擬化技術,通過對 Virtio-net/Virtio-blk 虛擬化的支持和硬件加速,在提供更高性能和更低時延的同時,讓數據中心從傳統網卡向云霄DPU 產品進行更平滑的遷移。(3)支持高性能 2x25G 和主流存儲及網絡特性 云霄 DPU 產品為數據中心提供 2x25G 高性能以太網接口,全面支持主流網絡和存儲協議:RoCE v1&2、iWarp、NVMeoF、VLAN、VXLAN、GRE、GENEVE、L2VPN 等。(4)極大提升網絡安全性和服務質量 云霄 DPU 產品為云服務提供安全性隔離,極大提升其
196、網絡安全性及防攻擊能力;同時,為用戶或租戶提供更優的 QoS 保證。(5)為云服務按需動態提供網絡和存儲資源 云霄 DPU 產品支持彈性網卡和彈性存儲,能夠按需動態提供網絡和存儲資源,并支持針對不同彈性網卡和彈性存儲實施不同的策略。111(6)支持熱插拔、熱遷移和熱升級 1)云霄 DPU 產品通過支持熱插拔、熱遷移,讓客戶業務不中斷的情況下進行熱遷移,并保證在宕機的時候讓業務快速恢復,支持業務的無縫擴展和遷移。2)云霄 DPU 產品通過支持熱升級特性,能夠確保在不中斷業務的情況下,對云霄 DPU 產品固件進行熱升級和迭代。3)云霄 DPU 產品實現管理、存儲、網絡和安全的全面卸載,支持云盤啟動
197、。2021 年 12 月 15 日云豹智能發布全功能云霄 DPU 產品,全面支持裸金屬、虛擬機和容器云服務一體化,以及高性能 2x25G 網絡,提供彈性存儲、彈性網絡、虛擬化管理和安全加速等一站式解決方案,將極大地提升云服務商的服務質量和業務靈活性,并降低其整體投入和運維成本,幫助云服務商解決真正的痛點,引領數據中心新趨勢。圖 5-14.云霄 DPU 產品。云霄 DPU 產品主要具備以下特性:(1)提供裸金屬、虛擬機和容器統一運維和管理;(2)支持 Virtio 硬化,具備良好的兼容性,使得傳統網卡向云 112 霄 DPU 遷移更平滑;(3)提供 2x25G 高性能以太網接口,全面支持主流網絡
198、和存儲協議:RoCE v1&2、iWarp、NVMe-oF、VLAN、VXLAN、GRE、GENEVE、L2VPN 等,滿足數據中心網絡與存儲加速需求;(4)提供安全性隔離,極大提升其網絡安全性及防攻擊能力;同時,為用戶或租戶提供更優的 QoS 保證;(5)支持熱插拔、熱遷移和熱升級;(6)提供軟硬件卸載和加速,以及靈活可編程能力;(7)支持標準 Linux。此外,云豹智能一代軟件定義 DPU SoC 芯片正處于研發階段。5.2.6 大禹智芯大禹智芯 Paratus 系列系列 大禹智芯是國內首家注冊創立時即專注于做 DPU 的公司,創始團隊是一支擁有 DPU 設計與研發及 DPU 大型商業化部
199、署的成功經驗的隊伍,致力于向廣泛市場推廣 DPU 技術和 DPU 產品,助力用戶構建領先的 IT 基礎設施,加速企業客戶的數字化轉型步伐?;趫F隊在云計算行業的扎實技術積累和對 DPU 類產品的充分理解,大禹智芯認為 DPU 產品不局限于或等同于芯片產品,而是包括芯片、硬件、系統軟件、應用軟件等一體化高度集成的產品。因此,要真正實現 DPU 的產品化和規模商業化,DPU 廠商應兼具芯片/硬件設計、DPU 操作系統研發、DPU 上相關應用研發以及 DPU 與主機側軟硬件適配的綜合能力。113 為滿足不同客戶及不同場景的 DPU 使用需求,大禹智芯堅持從貼近用戶需求的場景出發,遵循明確的產品規劃路
200、線,提供 Paratus 系列 DPU 產品。該系列產品采用三條產品線并行的方式逐步面向廣泛商用市場推出易用并好用的 DPU 產品:(1)Paratus 1.0 作為大禹智芯 DPU 的第一條產品線產品,采用ARM SoC作為主處理單元,提供4x10Gbps/25Gbps的業務網絡接口,同時為了方便用戶管理,單獨設置了 RJ45 管理口。(2)Paratus 2.0 作為大禹智芯 DPU 的第二條產品線產品,采用ARM SoC+FPGA 的硬件架構,在 Paratus 1.0 產品基礎上,利用 FPGA對可固化邏輯的數據包實現高性能轉發,提供 4x10G/25G 及 2x100G的業務網絡接口
201、。在 Paratus 2.0 中,為進一步滿足客戶對 DPU 帶外管理的需求,大禹智芯在 DPU 上引入 BMC 的同時,實現了 2 種 DPU BMC 與服務器 BMC 之間的通信通道,提供了 DPU BMC 與服務器BMC 之間互動的可行性。(3)Paratus 3.0 作為第三條產品線產品,將采用大禹智芯自研DPU 芯片。該芯片將結合公司對 DPU 相關技術及未來應用場景的理解,和前兩條產品線(Paratus 1.0 和 Paratus 2.0)在實際場景部署中獲得的寶貴客戶反饋意見和經驗積累,形成高度集成化的 DPU 產品。目前,大禹智芯已全面啟動自研 DPU 芯片的相關工作。在 DP
202、U 操作系統方面,大禹智芯自研的 RMOS 操作系統屏蔽Paratus 不同產品線底層硬件的差異,面向用戶提供一致性的使用體驗。Paratus 系列 DPU 產品在提供網絡、存儲、安全類應用的同時,114 也提供了基于 DPDK 和 SPDK 的開發環境,使用戶把原先運行在主機側基于 DPDK 或 SPDK 開發的應用程序能夠平滑的遷移到大禹智芯 DPU 上運行。大禹智芯 DPU 產品 Paratus 1.0 和 2.0 可提供云計算場景中裸金屬云,虛擬機云及容器云所需的完整功能,實現了虛擬網絡的全卸載,存儲客戶端的全卸載,遠程啟動及必要的網絡安全相關功能等。面對主機側,大禹智芯遵循標準的開源
203、虛擬化技術框架,提供符合行業使用習慣的虛擬化網絡及存儲功能,使現有物理機、虛擬機和容器能夠方便平滑使用大禹智芯 DPU 提供的基礎數據處理及服務能力。5.2.7 芯啟源芯啟源 DPU 芯啟源 DPU 較傳統智能網卡提供了更大的處理能力、更強的靈活性、可編程數據包處理、可擴展 chiplet(小芯片)結構等特性。采用 NP-SoC 模式進行芯片設計,通用 ARM 架構結合高度優化面向數據包的 NP 芯片(RISC-V 內核)、多線程的處理模式,使其可以達到ASIC 固化芯片的數據處理能力,同時考慮到了全量可編程、靈活可擴展的屬性,用以支持 400Gbps 及以上的性能目標、低功率且具有成本效益等
204、。在高性能數據處理的同時還具備靈活高效的可編程能力,支持P4/C 語言等高級編程語言的混合編程能力,以及支持基于 XDP 的eBPF 卸載,幫助客戶實現貼合自身業務的定制化功能,滿足不同場景下的業務需求。115(1)全新 Chiplet 芯片技術 芯啟源 DPU 架構中采用的 Chiplet(小芯片)技術是一種全新的芯片設計方式,也是業內眾多企業正在引入的關鍵芯片技術。Chiplet將滿足特定功能的 Die(裸片)通過 Die-To-Die 內部互聯技術實現多個模塊芯片與底層基礎芯片封裝在一起,形成一個系統芯片。Chiplet技術將原本一塊復雜的 SoC 芯片分解為芯粒,類似模塊化設計,有利于
205、縮短產品商用時間和后續產品的迭代,同時通過支持與第三方芯片的 Die-To-Die 互聯,還可以集成更多的特定專業領域的芯片。在性能和功能豐富度有飛躍式提升外,也為芯啟源的客戶提供更多業務場景的支持能力。(2)深入分析算力需求,進一步提升算力利用率 芯啟源 DPU 除了具有傳統智能網卡卸載網絡數據處理工作到網卡硬件的特性外,更通過對不同場景下的業務分析,將部分業務數據處理工作也卸載到網卡硬件,進一步平衡了數據中心 CPU 算力資源提升了整體算力的利用率。云,終端,服務器都應該納入算力網絡的整體架構中,將 DPU 作為算力網絡中的一種能力支持來引入,當作算力節點的核心功能而不簡單作為一個加速卡。
206、在同樣服務器規模下,芯啟源 DPU 極大的提升服務器 CPU 資源的業務利用率,降低單位CPU 成本,有效減少數據中心用電規模、機房空間需求和 CO2 排放量,助力企業實現節能減排和“雙碳”目標。(3)更多業務場景的適配 芯啟源 DPU 所具備的超高性能和可擴展性,能夠廣泛適應不同 116 行業、領域客戶的需求,快速響應不同領域不同類型客戶的定制化以及國產化需求,提供最具效率和專業的定制化服務。同時芯啟源自有的 DPU 開源社區,擁有多年豐富的社區運營經驗,引領眾多高校、科研機構和開發者的參與,從而能夠保證芯啟源 DPU 的先進性。芯啟源 DPU 針對主流運營商/二級運營商,OTT 及互聯網廠
207、商,網絡安全廠商,5G/6G 設備商的不同應用場景:如云計算,SDN,核心網,SD-WAN,5GC UPF,邊緣計算,安全等場景下都提供了相應的 100Gbps/200Gbps/400Gbps 全覆蓋解決方案,落地運營商客戶的定制化需求,快速滿足客戶新業務發展需要,大大縮短新業務的上線周期。1)數據中心與云計算領域未來幾年將是我國 DPU 近幾年最大的應用市場,芯啟源 DPU 可為終端政企用戶提供較為成熟安全的軟件定義及硬件加速解決方案,滿足日益增長的云計算需求。2)邊緣計算開放生態、降本增效、縮減部署周期的訴求愈發明晰。邊緣計算是賦能行業數字化轉型的關鍵技術,對網絡帶寬、時延、可靠性要求嚴苛
208、,而芯啟源 DPU 的硬件加速技術可有效提升邊緣機房單位面積算力。3)安全領域,芯啟源 DPU 能將傳統分散運行在操作系統內和用戶態的安全策略統一整合到底層的硬件中執行,將網絡數據和應用數據收縮到 DPU 進行統一防護和管理,并提供靈活的數據路徑監控和可視化的流量服務,配合加密算法,實現從二三層數據傳輸到上層用戶數據的立體化防護。117 5.2.8 中科馭數中科馭數 K2 DPU 中科馭數K2 DPU是我國重要的DPU產品之一,詳細信息見5。5.2.9 云脈芯聯云脈芯聯 metaFusion50 云脈芯聯創立于 2021 年 5 月,是一家專注于云數據中心網絡芯片產品研發與技術創新的高科技創新
209、企業。公司以“構建數字世界的互聯底座”為發展愿景,致力于打造用于大規模數據中心和云計算基礎設施的網絡互聯芯片,幫助用戶構建端網融合的高性能網絡基礎設施,以應對進入全面數字化和智能化時代的技術挑戰。metaFusion50 是云脈芯聯成功自主研發的第一款產品,也是國內首款實現包括支持端到端擁塞控制完整 RDMA 功能的 DPU 產品,metaFusion50 基于硬件實現的可編程擁塞控制算法能夠有效避免網絡擁塞,充分發揮 RDMA 技術的低延遲和高性能,支持云計算、高性能計算、AI、存儲集群全場景部署。圖 5-15.metaFusion50 DPU。metaFusion50可有效幫助用戶降低部署
210、RDMA網絡的技術門檻,實現高帶寬、低延遲的高性能集群組網,全面提升算力集群整體效能。118(1)metaFusion50 產品核心亮點 1)支持可編程擁塞控制算法 可編程擁塞控制算法是實現端到端無損網絡的關鍵技術,metaFusion50 不僅能支持業界主流的擁塞控制算法,還可以通過開放可編程的底層網絡接口,可根據客戶的組網特點和上層業務的需求,靈活支持多種擁塞控制算法,最大化業務的流量吞吐。2)通過自主研發 HyperDirect 技術支持 GPU Direct RDMA 為跨計算節點的 GPU 實現遠程內存直接訪問,bypass CPU 以降低時延、提升帶寬,提升分布式異構算力集群的整體
211、效能。3)支持網絡/存儲全場景卸載加速 支持 vSwitch 全卸載,實現云上 VPC 網絡全功能;支持存儲卸載,對接分布式存儲 NVMe-oF(TCP/RDMA),充分釋放宿主機 CPU資源。并通過支持 VirtIO 實現彈性網絡和彈性存儲,滿足云上用戶無縫遷移和快速恢復的業務訴求。(2)metaFusion50 產品適用場景及解決方案 1)高性能集群場景 AI、HPC、分布式存儲等高性能集群場景中,對節點間的數據處理與通信有著低時延和高吞吐的訴求,metaFusion50 支持基于以太網的 RDMA 組網和可編程擁塞控制算法,實現高性能場景對低時延和高吞吐的需求,并配合云脈芯聯提供的 xs
212、c-easy-bench 可大幅提升業務上線調試效率。2)云計算場景 119 傳統云計算架構基于 CPU 的軟件虛擬化技術提供 IaaS 業務,大量 CPU 資源被用于處理與租戶業務無關的 hypervisor 層,租戶與云hypervisor 共享 CPU,租戶業務容易被管理業務影響,造成抖動。metaFusion50 為云計算場景提供了一種基于裸金屬云的基礎設施架構,將 hypervisor 層卸載到 metaFusion50 上,可滿足虛擬機、裸金屬、容器多種云上資源供給,并提供網絡/存儲加速功能,兼顧靈活性與高性能。5.2.10 達坦科技達坦科技 RDMA 實現實現(1)Async-r
213、dma 簡介 Async-rdma 是達坦科技開發的 Rust 異步 RDMA 上層庫,用于解決基于 C 語言的 Verbs 庫所面臨的內存安全和易用性問題。該庫利用Rust 從語言層面提供了內存安全問題的高效解決方案,并進一步封裝Verbs 低層級抽象的 API,向用戶提供上層異步接口,并由框架輔助進行內存管理,提升開發效率。(2)主要特性 1)內存安全 基于 C 語言的 Verbs API 所用參數多以裸指針傳遞,這造成類型以及內存狀態難以確定的問題。尤其在 RDMA 應用場景下,大部分內存經注冊后交由用戶態程序和網卡共同使用,內存狀態正確性由應用和網卡狀態共同決定,加大了內存安全問題出現
214、的可能性。Async-rdma 利用 Rust 的強類型、所有權機制等特性保障了一般 120 意義上的類型安全和內存安全問題。由 RDMA 所引入的額外安全問題,則由接口和框架的后臺線程保障??蚣軙谟脩羰褂媒涌谶M行內存相關操作時記錄內存狀態,并結合遠端的響應和網卡的狀態對相應內存狀態進行維護。例如一片內存在被遠端寫入過程中,本地無法對其進行讀寫操作,以避免讀寫沖突問題。在一些特殊情況下,如應用中斷 RDMA 操作并提前釋放內存,框架將接管相應內存并確保網卡正確響應后再釋放,防止未定義行為發生。2)上層封裝 Verbs 定義的接口的和參數更接近底層實現而非上層應用,有大量復雜的數據結構需要填充
215、。有的操作需要多個 API 配合完成如雙端建立連接;有的則多個操作共用一個接口,如 Read、Write 等操作共用 ibv_post_send 接口,依據標志位區分。Async-rdma 對這些數據結構之間的關系進行整理,屏蔽底層細節,簡化操作邏輯,使接口更接近上層應用語義。例如庫中的 RDMA 數據結構記錄了雙端建立穩定連接所需的各種參數,后續通信過程中用到相關數據可直接復用而無需用戶填充。通過高層次抽象的數據結構封裝,使得每次數據操作只需要用戶填入必要的信息。庫中還提供了對內存區域的分片操作,以支持更細粒度的內存管理。切片時會進行邊界檢查,并限制每次可以從一塊內存中分出多個只讀切片或一個
216、可寫切片,以保障內存安全,如圖 5-16 所示。121 圖 5-16.內存切片示意。涉及 I/O 的接口都是采用異步封裝的。使用 Verbs API 時,每一次 RDMA 操作后,都需要輪詢網卡接收對端應答,才能確定請求是否正確完成。首先忙等是低效的,當然也可以由開發者實現異步邏輯,但輪詢到的響應是與之前多次請求的對應關系也需要額外的處理來確定,為了避免所有開發者都實現一遍上述邏輯,我們借助 Tokio 實現了異步 RDMA 請求處理邏輯。如圖 5-17 所示,當用戶發起對遠端的讀寫請求后,接口向框架注冊請求相關元數據??蚣鼙O聽網卡的請求完成消息,并提取完成消息中的元數據,喚醒與之對應的請求任
217、務。圖 5-17.異步 RDMA 操作處理邏輯。3)輔助資源管理 122 只將參數的處理過程進行上層封裝仍不夠,還需要解決資源管理問題。復雜的數據結構背后是各種需要管理的資源,如本地注冊的內存和從遠端申請的內存,以及它們的狀態、權限等。要在遠端主機 CPU 不感知的情況下對其內存進行讀寫,需要雙端事先和事后交換元數據用以申請和釋放遠端資源。即不光要管理本地資源,還要與遠端主機協同管理遠端資源,相比傳統的網絡應用開發復雜性更高。Async-rdma 提供了 Verbs API 功能以外面向應用層語義的上層接口,并由后臺線程配合接口輔助管理資源,使得建立連接、遠端資源協同管理等操作變得簡單。在建立
218、連接時,后臺會自動運行 Agent 服務線程,其接收到上層接口發出的請求后,通過與遠端 Agent 交互進行元數據交換,完成建立連接、遠端資源申請釋放等操作,如圖 5-18 所示。圖 5-18.Agent 后臺服務示意。借助于Rust的生命周期機制,當本地或遠端資源被棄用時,Agent會清理本地資源或自動向遠端發送資源釋放的請求,開發者無需感知。后臺線程還提供了內存超時釋放和操作中斷時的內存保護等功能。當遠端通信狀態異?;虮緳C用戶態程序與網卡對于同一內存狀態視圖 123 存在不一致時,后臺線程會自動釋放內存或進行一致性的管理。4)完善錯誤處理 使用 Verbs API 遇到錯誤時只返回系統錯誤
219、代碼,包含的信息很少。一些錯誤處理邏輯會出現上層錯誤代碼覆蓋底層錯誤代碼,返回對開發者具有誤導性的錯誤代碼。一些錯誤在自己的應用程序中很難發現,要到用戶態驅動甚至內核代碼中去找,非常低效。Async-rdma將自動處理常見錯誤并嘗試進行狀態恢復,遇到無法處理的問題則返回盡可能詳細的錯誤信息和操作指南。5.2.11 恒恒揚數據揚數據 NSA 圖 5-19.產品形態。恒揚數據推出的 NSA 系列 DPU,廣泛應用于互聯網數據中心的網絡、存儲、計算的加速場景中,是一款集高速 IO 帶寬和高性能計算處理為一體的數據處理單元。恒揚整合自身硬件在芯片設計及應用、硬件系統開發和軟件算法124 工程化的能力,
220、為客戶提供高效的 DPU 數據加速分析處理方案,廣泛應用于視頻內容分析,目標識別與追蹤,基因測序,版權保護,傳播影響力監測,素材管理,暴恐色情鑒別,算法加速等方向。125 六六、SmartNIC/DPU 測試測試介紹介紹 本章針對網絡、存儲、安全應用測試場景進行 SmartNIC 與 DPU測評技術的說明。6.1 測評場景介紹測評場景介紹(1)網絡場景 網絡場景主要指與數據包處理相關的功能及性能,網絡卸載后的加速能力是 SmartNIC 與 DPU 上各種業務和算力的重要基礎,直接影響其它多種業務和算力性能的上限。因此,測評項目應至少包括支持雙棧、OVS-DPDK 卸載、ACL、流統計、報文轉
221、發等功能指標,IPv4 單棧、IPv6 單棧、雙棧網絡轉發,VxLAN 轉發等性能指標。(2)存儲場景 存儲場景主要指與數據存儲相關的功能及性能,DPU 上存儲卸載主要用于連接算力與存儲服務,為高性能計算中存算分離場景提供算力、存儲彈性伸縮和高性能并行 I/O 讀寫能力。因此,測評項目應至少包括支持 RDMA 單邊操作、RDMA 雙邊操作、數據壓縮解壓縮卸載、NVME-oF 基本功能、存儲虛擬化 QoS 等功能指標,IOPS 讀寫速度性能指標。(3)安全場景 安全場景主要指為不同邏輯層次的安全屬性提供直接支撐的功能,DPU 在服務器中不僅對網絡數據報文加速,也要對常用的網絡安 126 全協議和
222、算法進行卸載加速,因此,測評項目應至少包括 IPSec 協議卸載、TLS 協議卸載、國密算法卸載等功能指標,IPSec 協議轉發性能和 TLS 協議轉發性能指標。另,DPU 是服務器接收報文的第一道關鍵網元,不可避免會受到各類型網絡攻擊,所以 DPU 也需支持部分攻擊防護能力,測評項目包括了廣播風暴抑制、ping flood、tcp flood等防護功能指標。開展上述場景測評時,為保證測試的真實有效,需模擬更貼近真實應用場景的業務背景模型。對此,可使用專業化測試儀表進行測試,該類型測試儀表集成有多種協議、應用的復雜流量模型,可模擬出真實的網絡行為和協議交互?,F階段測試儀表有兩種類型,分別是虛擬
223、化測試儀表和硬件測試儀表。1)使用虛擬化測試儀表時,該儀表部署在 DPU 所在服務器中與 DPU 卸載的相關業務對接(如:OVS、SR-IOV 等)。該儀表在被測設備上可模擬并實現不同租戶間、租戶到外部、外部到租戶的業務模型。虛擬化儀表還可仿真大量端口,每個端口可以單獨和不同的OVS、PF、VF 接口綁定。2)使用硬件測試儀表時,搭配虛擬化測試儀表可模擬相關網絡場景、安全場景下針對性能指標測試所需高業務吞吐量背景的外部到租戶的業務模型。6.2 測評技術介紹測評技術介紹(1)網絡場景部分測試點說明 OVS-DPDK 功能使 vm 到 vm 和 nic 到 vm 的整個數據傳輸都工 127 作在用
224、戶態,極大提升了 OVS 性能。通過對比功能卸載前后處理相同業務的 CPU 和內存使用率,觀測使用率的變化進行測評。網口匯聚功能將多個空閑物理端口捆綁在一起,形成一個邏輯端口。測評時觀測各成員端口出、入向流量的吞吐量百分比是否相近來判斷鏈路負荷的分擔效果,再通過模擬鏈路故障觀測剩余成員端口的負載分擔效果及收斂恢復能力。ACL 功能可根據設定的條件對接口上的數據包進行過濾,允許其通過或丟棄。在測評時通過配置 ACL deny 規則,查看配置規則和入向報文是否匹配。部署成功后的虛擬化測試儀表和硬件測試儀表配合,模擬出相對應的各類應用背景業務,發送雙向數據流量,進行功能和性能指標驗證。流老化功能利用
225、時間戳來刪除無用的流表,釋放有限的流表項空間。IP 網絡轉發性能分別測評 IPv4 單棧、IPv6 單棧、雙棧數據流量的處理時延和最大吞吐量,VxLAN 轉發性能通過儀表仿真 OVS 網橋、VxLAN 流表的形式開展性能指標測評。(2)存儲場景部分測試點說明 RDMA 功能是一種繞過遠程主機訪問其內存中數據的技術。其中 RDMA read 和 RDMA write 是單邊操作,只需要本端明確信息的源和目的地址,無須遠程應用的參與,適用于批量數據傳輸。RDMA send 和 RDMA receive 是雙邊操作,須要遠端的應用參與才能完成收發,多用于連接控制類報文。數據壓縮解壓縮功能和 NVMe
226、-oF 功能均通過配置 NVMe 磁盤 128 實現,觀測設備能否識別 NVMe 磁盤,前者寫入、讀出數據查看數據壓縮情況,后者通過 NVMe 虛擬設備熱插拔能力實現。Virtio-blk功能和存儲虛擬化 QoS 功能均通過配置 Virtio-blk磁盤實現,觀測設備能否識別 Virtio-blk 磁盤,前者檢查讀寫數據成功與否,后者檢查限速能力與配置的限速顆粒度是否符合匹配。(3)安全場景部分測試點說明 IPSec 協議是 IETF 制定的三層隧道加密協議,常用于點對點和點對多點加密傳輸。SmartNIC 與 DPU 能讓宿主機不再參與 IPSec 隧道建立,IPSec 協議卸載功能通過 O
227、VS 下發到 SmartNIC 與 DPU 上,SmartNIC 與 DPU 進行規則匹配和封裝,進入 IPSec 加速引擎通過網絡接口發送出去。TLS 協議是為通信雙方提供一個安全的通道,對下層傳輸要求提供可靠保序的數據流。TLS 協議卸載功能在測評中使用 OVS-DPDK對 TLS 協議進行加速,并從 4 個角度觀測:1)TCP 層握手時間;2)HTTPs CPS 每秒鐘新建連接數;3)TPS 每秒新建事務數;4)URL 響應時間。表 6-1.加密算法對比。標準 身份認證 密鑰協商 對稱加密 完整性校驗 SSL/TLS 數字簽名 RSA、ECDH、ECDSA RC4、AES、DES 等 S
228、HA1/SHA256 國密算法 SM2-1 SM2 SM4 SM3 加密算法和國密算法解密功能測評方法和 TLS 卸載功能測評類似,區別是換成了國密算法。主要交互集中在密鑰協商,對稱加密和 129 完整性校驗方面,兩者間的區別見表 6-1。SmartNIC 與 DPU 不僅是服務器對外收發報文的接口,本身也具有獨立控制平面和大量業務 API。用測試儀表構造常見攻擊手法,包括 PING Flood、TCP SYN Flood、TCP FIN Flood、IP 單播/組播/廣播、IGMP查詢/應答風暴等攻擊流對服務器及其掛載的SmartNIC與DPU進行網絡攻擊,觀測防護效果。6.3 測評項目名稱
229、列表測評項目名稱列表 當前,SmartNIC 與 DPU 形態上多以網卡形式存在,測試內容包括網絡、存儲、安全應用場景,測評項目設計有 49 個測試用例,名稱列表如表 6-2 所示。表 6-2.SmartNIC 與 DPU 測評項目名稱列表。編號 測評項目 是否必選 1、配置檢查 1 尺寸 Y 2 物理端口數量 Y 3 物理端口帶寬 Y 4 vNIC 和 virtio block 設備數量 Y 5 可配置的最大隊列數 Y 6 PCIe 規格檢查 Y 2、網絡場景 網絡場景-功能 7 支持雙棧(IPv4 和 IPv6)Y 8 OVS-DPDK 卸載 Y 9 SR-IOV 直通模式 N 10 網口
230、匯聚 Y 11 ACL Y 130 12 流老化 Y 13 流統計 Y 14 巨幀報文轉發 Y 15 組播報文轉發 N 16 廣播報文轉發 Y 網絡場景-無損網絡 17 PFC 功能測試 N 18 ECN 功能測試 N 網絡場景-性能 19 IP 網絡轉發性能 Y 20 VXLAN 轉發性能 Y 21 負載均衡系數和收斂時間 N 22 源網絡地址轉換 N 23 目的網絡地址轉換 N 24 流表生成速率 N 3、存儲場景 存儲場景-功能 25 RDMA 協議測試 N 26 RDMA 單邊操作(READ 和WRITE)N 27 RDMA 雙邊操作 N 28 RDMA QP 數量 Y 29 數據壓縮
231、與解壓縮卸載 N 30 NVMe-oF 基本功能 Y 31 VirtIO-blk(存儲虛擬化)卸載 N 32 存儲虛擬化 QoS 質量保證 N 33 云盤啟動 N 存儲場景-性能 34 IOPS 讀寫速度 Y 35 RoCE 轉發性能 N 36 智能網卡片上緩存 N 4、安全場景 131 安全場景-功能 37 IPSec 卸載 N 38 TLS 卸載 N 39 加密算法和國密算法解密 N 40 DOS/IP/IGMP/TCP 協議攻擊防護 N 安全場景-性能 41 IPSec 轉發性能 N 42 TLS 轉發性能 N 5、兼容性、可靠性 43 獨立控制平面 Y 44 版本升級 Y 45 流鏡像
232、 N 46 故障檢測與恢復效率 Y 47 BMC 獲取 DPU 日志能力 Y 6、功耗測試 48 空載功耗 Y 49 滿負荷功耗 Y 132 七七、SmartNIC/DPU 行業發展建議行業發展建議 7.1 發展發展面臨問題面臨問題(1)底層架構和上層應用百家爭鳴,尚未形成統一標準 智能網卡正處于起步階段,未來要實現在各領域的全面部署,需要構建一種大規模統一的底層架構,并且具備完整的上層應用生態,滿足特定需求的同時便于橫向擴展。然而目前智能網卡廠商在底層架構設計和實現方式差別較大,如 NVIDIA 采用的是基于通用處理器和專用加速引擎相結合的方式,而 Intel 采用的是基于 FPGA 的以專
233、用核為基礎的異構核陣列,業界尚未形成統一標準。與此同時,負責上層應用的各大廠商根據自身戰略錨定具體應用領域進行產品研發,技術上也是“八仙過海,各顯神通”,一方面以降低成本為目的利用COTS 組件構建系統,另一方面又以打造多類型客戶定制化產品為目的構建 IaaS/PaaS/SaaS 分層服務,比較典型的有 AWS 的 Nitro 和阿里云的 MOC。上層應用不同導致其對底層架構需求各異,同時隨著智能網卡落地及技術成熟演進,考慮到橫向擴展以滿足更多場景需求,需要一套完整且開放的標準化應用及底層技術架構。(2)國內智能網卡廠商面臨硬件技術壁壘 國內智能網卡廠商硬件技術積累不足,且上游 EDA 和先進
234、制程工藝被外國掌控,使得我國智能網卡芯片性能及創新速度與國際巨頭相比差距較大。我國的芯片產業起步較晚,目前我國網絡芯片時延為 133 5 ms 左右,與智能網卡領軍廠商 NVIDIA、Boradcom 相比高 2-4 ms。FPGA 是智能網卡實現的主流方案之一,我國 FPGA 門級數停留在千萬級制程為 28 nm,而國外 FPGA 門級數過億,先進制程可達 7/10 nm。我國缺乏完整的 EDA 工具,使得芯片設計及研發受制約,同時高精度芯片研發周期及成本很高,如 25/40 Gbps 的 10/14 nm 的網絡芯片需要至少 2 年時間且研發經費超千萬,我國初創企業難以負擔。目前我國智能網
235、卡廠商多采用向國外購買相關芯片,如 FPGA 等,再按需研發相關功能,對國外上游 EDA/IP 核領軍企業依賴度較高,不利于國內智能網卡行業的長遠發展。(3)軟硬件協作難度大,智能網卡商業化進度有待加快 加強軟硬件協作是提升智能網卡產品研發、維護和迭代效率的關鍵,對智能網卡的技術成熟以及商業化推廣至關重要。DPU 的興起使得業界面臨“多 PU“共存(CPU+DPU+GPU/XPU)的問題,如何協同調度好各個處理器編程框架使其發揮最大效用,并構建一個高效便捷的協同軟件開發生態,已經成為目前迫切需要解決的問題之一。此外,隨著智能網卡的大規模商業化,大量新應用需求的不斷涌現使得智能網卡軟件功能覆蓋廣
236、度與適配度成為智能網卡產品商業化競爭的關鍵。雖然目前部分廠商(如 NVIDIA、芯啟源)正在針對自身封閉生態打造完整的產業鏈和解決方案,但是由于軟件生態開放程度有限,不利于智能網卡行業整體商業化進程快速推進。134 7.2 發展策略建議發展策略建議(1)協同制定國內外標準,形成自頂而下的標準體系 智能網卡廠商之間加強標準制定協同,共同牽頭國內外相關標準制定。自頂而下拉通協同,優先建立適用于整個產業鏈的通用標準,然后逐漸細化并推廣至具體應用和技術。面向標準化架構和應用,以通用場景為驅動將硬件架構及軟件應用作為一個整體設計和開發,在業界形成技術閉環和統一標準。上下游企業之間加強合作,共同構造一個完
237、整的智能網卡行業標準體系。國內SmartNIC/DPU發展建議產學研合作人才培養全生命周期管理不同場景應用標準制定協同自頂而下優先通用標準自主知識產權長遠產品路線開源軟件生態商業化競爭優勢上下游產業鏈標準完整標準體系多領域適配的產品中高端搭配的產品完整產業鏈生態橫向協同生態 圖 7-1.發展策略建議。(2)提高國內自研水平,制定長遠的產品技術路線 全球智能網卡行業發展正處于初級階段,我國智能網卡廠商應緊抓時間窗口,加強產學研合作及相關人才培養,瞄準國產化芯片產業前沿精準發力,打造擁有自主知識產權、完全國產化的高端芯片,并在智能網卡領域打造能與海外巨頭競爭的中國企業。同時,面對智能網卡高度可編程
238、技術發展趨勢,以長遠發展為目標,制定可滿足各領域應用需求的具備高度靈活可編程能力的智能網卡產品技術路線。(3)構建智能網卡產業鏈及軟件協同生態 135 面向智能網卡全生命周期管理以及客戶不同場景應用需求,構建開源軟件生態,提高智能網卡的研發效率的同時打造產品商業化競爭優勢。同時,構建智能網卡完整產業鏈生態及橫向協同生態,以智能網卡為中心聯合上下游協同發展,推動智能網卡行業整體發展。136 八八、SmartNIC/DPU 未來展望未來展望 大數據、人工智能、機器學習、自動駕駛、物聯網、邊緣計算、5G、通信、衛星導航等各領域業務不斷發展,對基礎設施提出更高要求,結合“十四五”國家信息化規劃提出的“
239、網絡強國、數字中國”理念,基礎設施將面臨前所未有的挑戰。用戶業務領域形態各異、百花齊放、百家爭鳴,用戶數量、資源規模、性能要求不斷增加,對基礎設施現有的體系架構產生了強有力的沖擊?;A設施面臨的規模、性能問題越來越突出,橫向擴展除了面臨成本問題外,數據中心也將變得越來越擁擠。挑戰即機遇,智能網卡(SmartNIC、DPU)的出現幫助我們沖破挑戰,讓業務、軟件、平臺、架構可以突破以 CPU 為中心的形態。智能網卡的架構,從計算機體系結構的本質上講,是在計算機總線上增加專用的處理單元,將原有中央處理器要處理的部分功能,下放到專用處理單元之上。這部分處理單元之上的業務可以有網絡、存儲、圖形、機器學習
240、、AI 等邏輯,即讓專用的設備處理專業的問題。用專用的芯片可以省去非核心業務的不必要邏輯,加上優秀的硬件設計,即可實現成本降低、空間利用率提高、能耗減少、性能增強等多方面的提升,實現“降本增效”。因此,結合本白皮書中對智能網卡的各項背景、技術體系、發展趨勢、應用場景、應用案例等闡述,我們有以下幾個方面的總結與展望:137(1)硬件設備的通用化,芯片廠商、設備制造廠商齊發力,實現智能網卡產業生態的形成,實現從芯片設計、芯片制造、硬件設計、硬件制造的一系列體系化產業。(2)功能多樣化和精細化,滿足用戶不斷增加的功能需求,實現高端用戶可定制,通用產品即插即用,滿足各領域的功能要求。(3)性能和成本平
241、衡,不斷提升的性能和不斷降低的成本是永恒的追求,提供豐富的產品性能層次,滿足用戶應用的各方面性能需求。(4)軟件生態,應用抽象設備理念,制定或應用軟件架構標準,向上對用戶提供通用設備接口,向下對接不同硬件設備,實現虛擬總線技術,硬件設備透明化。滿足各類編程應用場景,做到零感知、跨平臺,保證設備在軟件層面的易用性。(5)應用生態,對開發的各類軟件,例如云計算領域的虛擬交換機、存儲應用,安全領域的加解密,AI 領域的算法模型訓練,在設計之初即考慮硬件加速的可能性,考慮硬件的卸載能力,實現數據或控制邏輯的性能增強。在主流操作系統和軟件平臺中,提供支持,避免構建封閉應用環境。(6)信創產品,加強研發和
242、推出國產化信創智能網卡產品,打破國外壟斷地位,構建全自主知識產權硬件,避免產業鏈斷供風險。(7)參與或主導制定標準,當前智能網卡產業多廠商齊頭并進,各自都在打造生態閉環,業界應積極主導建立硬件標準、軟件標準、評估標準、測試方法論、標準應用模型等,建立中立和權威機制,掌 138 握話語權,消除“壟斷”風險,爭當“話事人”。(8)國內軟硬件廠商,應避免各自為營而后被各個擊破,應該在硬件產業、軟件生態、開源軟件環境等,積極發力打造優秀的產品和應用案例,學習吸收先進經驗,避免閉門造車。(9)學術研究生態,人才的不斷輸送是產業推進的重要力量,要實現各類產業和產品的創新,人才是根本,鼓勵高校和科研單位加強
243、智能網卡方面學術領域的研究,在前沿技術和理論方面為產業發展做支撐。139 附錄 A:術語與縮略語 中文中文名稱名稱 英文縮英文縮寫寫 英文全拼英文全拼 智能網卡 SmartNIC Smart network interface card 數據處理單元 DPU Data processing unit 現場可編程門陣列 FPGA Field-programmable gate array 多核處理器 MP Multi-core processors 專用集成電路 ASIC Application specific integrated circuit 片上系統 SoC System on chi
244、p 開放虛擬交換機 OVS Open virtual switch 遠程直接內存訪問 RDMA Remote direct memory access 數據平面開發套件 DPDK Data plane development kit 單根 I/O 虛擬化 SR-IOV Single root I/O virtualization 虛擬機 VM Virtual machine 基礎設施處理單元 IPU Infrastructure processing unit 快速外圍元件互連 PCle Peripheral component interconnect express 多接入邊緣計算 MEC
245、 Multi-access edge computing 用戶平面功能 UPF User plane function 機架頂部交換機 ToR Top of rack 通過融合以太網進行遠程直接內存訪問 RoCE Remote direct memory access over converged Ethernet 網絡處理器 NP Network processor 通用處理器 GP General processor 虛擬可擴展局域網 VxLAN Virtual extensible local area networks 網絡虛擬化使用通用路由封裝 NVGRE Network virtu
246、alization use generic routing encapsulation 數據路徑加速器 DPA Datapath accelerator 圖形處理單元 GPU Graphics processing unit 數據中心基礎架構芯片架構 DOCA Data-center-infrastructure-on-a-chip architecture 加速交換和數據包處理 ASAP Accelerated switching and packet processing 裸金屬服務器 BMS Bare metal server 非易失性存儲器標準 NVMe Non-volatile me
247、mory express 140 參考文獻 1 馬瀟瀟,楊帆,王展,元國軍,安學軍智能網卡綜述J計算機研究與發展J.https:/ 張登科,王興偉,賈杰,等.智能網卡研究新進展J.小型微型計算機系統,2022,43(2):7.3 https:/ 華為技術有限公司.計算 2030R.2021.5 中國科學院計算技術研究所等,鄢貴海等.專數據處理器(DPU)技術書R.2021.6 Netronome.What makes a NIC a SmartNIC,and why is it needed?EB/OL.2016 2020-08-10.https:/ NVIDIA.NVIDIA bluefie
248、ld-3 DPU programmable data center infrastructure on-a-chipR.2021.8 頭豹研究院.2022 年中國 DPU 行業白皮書R.2022.9 賽迪顧問股份有限公司,孫卓異.中國 DPU 行業發展白皮書R.2021.10 https:/en.wikipedia.org/wiki/Data_processing_unit.11 Idan Burstein.Nvidia Data Center Processing Unit(dpu)ArchitectureR.https:/hc33.hotchips.org/assets/program/c
249、onference/day1/HC2021.NVIDIA.IdanBurstein.v08.norecording.pdf.12 NVIDIA docs home.Functional DiagramEB/OL.https:/ NVIDIA docs home.Modes of OperationEB/OL.https:/ DOCA.https:/ B.Wheeler.DPU-Based Hardware Acceleration:A Software PerspectiveR.2021.16 https:/ https:/ https:/ 19 https:/ https:/ https:/
250、 https:/en.wikipedia.org/wiki/Protein_structure_prediction 23 https:/en.wikipedia.org/wiki/AlphaFold.24 J.Jumper,R.Evans,et al.“Highly accurate protein structure prediction with AlphaFold,”Nature 596.7873(2021):583-589.25 https:/ 中國智能網卡(SmartNIC)行業概覽(2021).27 中國智能網卡研討會回顧,2021.28 Daniel F,Andrew P,Sa
251、mbhrama M,et al.Azure acelerated networking:SmartNICs in the public cloudC.Proc of the 15th Symp on Networked Systems Designed Implementation.Berkeley,CA:USENIX Asociation,2018:51-66.29 Mellanox.ASAP-accelerated switch and packet processing EB/OL.20192020G08G11.http:/ D.Kim,T.Yu,H.Liu,et al.FreeFlow
252、:Software-based virtual RDMA networking for containerized cloudsC.Proc of the 16th Symp on Networked Systems Design and Implementation.Berkeley,CA:USENIX Association,2019:113-126.31 Grant S,Yelam A,Bland M,et al.SmartNIC performance isolation with FairNIC:Programmable networking for the cloud C.Proc
253、 of the ACM Special Interest Group on Data Communication.New York:ACM,2020:681-693.32 Z.He,D.Wang,B.Fu,et al.MasQ:RDMA for virtual private cloud C/OL.Proc of the ACM Special Interest Group on Data Communication.New York:ACM,2020:1-14 2021-12-09.https:/doi.org/10.1145/3387514.3405849.33 Shrivastav V.
254、Fast,scalable,and programmable packet scheduler in hardwareC.Proc of the ACM Special Interest Group on Data Communication.New York:ACM,2019:367-379.142 34 Stephens B,Akela A,Swift M.Loom:Flexible and efficient NIC packet schedulingC.Proc of the 16th USENIX Symp on Networked Systems Designed Implemen
255、tation.Berkeley,CA:USENIX Asociation,2019:33-46.35 Microsoft.TCP/IP offload overview EB/OL.2019 2020-08-11.https:/ Microsoft.Introduction to receive side scalingEB/OL.2017 2020-08-11.https:/ Microsoft.Virtual machine queue(VMQ)overview EB/OL.2020 2020-08-11.https:/ Microsoft.Network virtualization u
256、sing generic routing encapsulation(NVGRE)task offloadEB/OL.2017 2020-08-11.https:/ Shi Haiyang,Lu Xiaoyi.TriEC:Tripartite graph based erasure coding NIC offload C.Proc of the Int Conf for High Performance Computing,Networking,Storage and Analysis.New York:ACM,2019:No.44,1-34.40 Singhvi A,Akela A,Gib
257、son D,et al.1RMA:Re-envisioning remote memory access for multi-tenant datacenters C.Proc of the Annual Conf of the ACM Special Interest Group on Data Communication.New York:ACM,2020:708-721.41 Pfaf B,Petit J,Koponen T,et al.The designed implementation of Open vSwitch C.Proc of the 12th USENIX Symp o
258、n Networked Systems Design and Implementation.Berkeley,CA:USENIX Association,2015:117-130.42 Panda A,Han Sangjin,Jang Keon,et al.NetBricks:43 Taking the V out of N F V C.Proc of the 12th USENIX Symp on Operating Systems Design and Implementation.44 Berkeley,CA:USENIX Asociation,2016:203-216.45 Tsai
259、S,Payer M,Zhang Yiying.Pythia:Remote oracles for the massesC.Proc of the 28th USENIX Security Symp.Berkeley,CA:USENIX Asociation,2019:693-710.143 46 S.Nurk,et al.The complete sequence of a human genomeJ,vol 376,issue 6588,pp.44-53,DOI:10.1126/science.abj6987,2022.47 王立文,王友祥,唐雄燕,等.5G 核心網 UPF 硬件加速技術J.
260、移動通信,2020,44(1):19-23.48 Stephens B,Akella A,Swift M.Loom:Flexible and efficient NIC packet schedulingC.Proc of the 16th USENIX Symp on Networked Systems Design and Implementation.Berkeley,CA:USENIX Association,2019:33-46.49 Ariel Adam,Amnon Ilan,Virtio-networking and DPDK,September 20,2019,https:/
261、Jason Wang,Ariel Adam,vDPA kernel framework,August 17,2020,https:/ Eric Garver,Rashid Khan,Yan Fisher,optimizing-server-utilization-datacenters-offloading-network-functions-nvidia-bluefield-2-dpus,April 12,2021,https:/ Nvmexpress,NVM-Express-Base-Specification-2.0b,2021.12.18,https:/nvmexpress.org/d
262、evelopers/nvme-specification/.53 Srinivasan S,Mycroft A.Kilim.Isolation-typed actors for Java C.Proc of the 22nd European Conf on Object-Oriented Programming.Berlin:Springer,2008:104-129.54 https:/ RoCE vs.iWARP Competitive Analysis.2017.https:/ https:/ https:/ Yan,Y.,Farhadi Beldachi,A.,Nejabati,R.,&Simeonidou,D.(2020).P4-enabled Smart NIC:Enabling Sliceable and Service-Driven Optical Data Centres.Journal of Lightwave Technology,38(9),2688-2694.https:/doi.org/10.1109/JLT.2020.2966517.