《中國移動:云計算通用可編程DPU發展白皮書(2023)(62頁).pdf》由會員分享,可在線閱讀,更多相關《中國移動:云計算通用可編程DPU發展白皮書(2023)(62頁).pdf(62頁珍藏版)》請在三個皮匠報告上搜索。
1、 云計算通用可編程 DPU 發展白皮書(2023 年)中移(蘇州)軟件技術有限公司 中國信息通信研究院云計算與大數據研究所 深圳云豹智能有限公司 2023 年 3 月 云計算通用可編程 DPU 發展白皮書(2023 年)編委會 編委成員 主編:陳繼磊、陳文斌 編委(排名不分先后):栗蔚、劉軍衛、張學利、黃明飛、龍翼、姚軍、楊亞軍、陶云祥、王立、曲悅、周昱杰、趙興華、馬飛、蘇越、趙偉博、桑柳、賀健、李志超、趙真、孫傳明、許斌、袁林思、王雪強、王國安、王金全、黃成云、吳楊 參編單位:中移(蘇州)軟件技術有限公司 中國信息通信研究院云計算與大數據研究所 深圳云豹智能有限公司 云計算通用可編程 DPU
2、 發展白皮書(2023 年)版權聲明 本白皮書版權屬于中移(蘇州)軟件技術有限公司、中國信息通信研究院、深圳云豹智能有限公司,并受法律保護。轉載、摘編或利用其他方式使用本白皮書內容或觀點,請注明:“來源:云計算通用可編程 DPU 發展白皮書(2023年)”。違反上述聲明者,編者將追究其相關法律責任。云計算通用可編程 DPU 發展白皮書(2023 年)I 目 錄 1.前言.1 2.DPU 行業的機遇與挑戰.3 2.1 DPU 的發展歷程.3 2.1.1 NIC 的發展和應用.4 2.1.2 SmartNIC 的發展和應用.5 2.1.3 DPU 發展和應用.6 2.2 DPU 的現狀.7 2.2
3、.1 海外 DPU 的現狀.7 2.2.2 國內 DPU 的現狀.10 2.3 DPU 行業的挑戰.12 3.DPU 核心特性.13 3.1 層級化可編程.14 3.1.1 層級 1 通用可編程.17 3.1.2 層級 2 嵌入引擎可編程.17 3.1.3 層級 3 領域可編程.18 3.2 低時延網絡.19 3.3 統一資源管控.21 3.3.1 統一的計算資源管控.22 3.3.2 統一的網絡資源管控.24 3.3.3 統一的存儲資源管控.25 3.4 持續發展的加速卸載.27 4.DPU 應用場景分析.28 4.1 云計算卸載.28 4.1.1 網絡功能卸載.28 4.1.1.1 虛擬交
4、換機功能的卸載.28 4.1.1.2 虛擬主機接口的硬件加速.29 4.1.1.3 RDMA 協議的硬件卸載.30 4.1.2 存儲功能卸載.31 4.1.2.1 NVMe-oF 存儲協議的卸載.31 4.1.2.2 存儲接口的硬件加速.32 4.1.2.3 存儲應用的卸載.32 4.1.3 Service Mesh 的卸載.33 4.2 統一的存儲.35 4.3 5G/UPF 卸載.38 4.3.1 UPF 簡介.38 4.3.2 UPF 卸載和加速.40 云計算通用可編程 DPU 發展白皮書(2023 年)II 4.3.3 UPF DPU 管控方案.42 4.4 零侵入管控.42 4.5
5、零信任安全.44 4.5.1 基于信任根的安全啟動.44 4.5.2 分布式可編程防火墻.45 4.5.3 數據安全傳輸.46 4.5.3.1 虛擬機數據傳輸加密.46 4.5.3.2 RPC 調用數據傳輸加密.47 4.5.4 數據安全存儲.48 4.6 ChatGPT 訓練加速.49 5.DPU 行業發展展望.52 5.1 國內外 DPU 發展格局.52 5.1.1 技術路徑.52 5.1.2 商業化布局.52 5.1.3 長期戰略規劃.53 5.2 DPU 在算網融合發展戰略中的價值.54 附錄.56 插圖目錄.56 術語與縮略語.57 云計算通用可編程 DPU 發展白皮書(2023 年
6、)1 1.前言“十四五”數字經濟發展規劃中指出數字經濟是繼農業經濟、工業經濟之后的主要經濟形態,是以數據資源為關鍵要素,以現代信息網絡為主要載體,以信息通信技術融合應用、全要素數字化轉型為重要推動力,促進公平與效率更加統一的新經濟形態。隨著數字經濟的持續發展,算力需求呈爆發性增長,算力正在逐步成為新時代的核心生產力。算力的發展同步帶動了網絡的變革,構建高效、靈活、敏捷的算力基礎設施底座,成為數據中心網絡新型基礎設施基于數據算力驅動和演進的關鍵。中國移動云能力中心 IaaS 產品部總經理劉軍衛談到:“隨著人類生產力進入算力時代,傳統以 CPU 為核心的架構正在遭受算力瓶頸考驗,多樣化算力需求亟需
7、軟硬件架構全面變革,算力技術發展必將遵循軟件定義一切,硬件加速一切的理念,重構算力基礎設施,通用可編程加速單元 DPU 將成為新的算力核心,重新定義算力時代云計算技術新標準,構建算力時代新技術曲線?!泵嫦驍祿行幕A設施的通用數據處理芯片(Data Processing Unit,以下簡稱 DPU),是新近發展起來的一種通用數據處理器,是底層架構和上層服務相互作用的產物。同時,DPU 也是支撐各平臺間互聯互通的關鍵節點。DPU 要解決的不僅是基礎設施“降本增效”的問題,也要解決現有數據中心網絡基礎設施架構不能滿足飛速增長的數據算力需求的問題。隨著數據中心應用部署的復雜度持續增高和數據中心規模的
8、不斷擴展,不但各個數據中心之間,而且數據中心內部之間數據交換的需求也呈倍數的增長。當前在數據中心的應用中,數據交換不僅僅是簡單的服務器之間的數據搬運,還需要對數據進行有效的智能化處理。傳統基礎網卡(NIC)以及后續的智能網卡(SmartNIC)由于本身技術結構的限制,無法在飛速發展的數據中心技術演進中承擔起對數據交換和智能處理的需求,它們正在被 DPU 這種通用數據處理器所取代。著眼于數據中心的技術發展和演進,DPU 作為通用的數據處理器,它不是對 NIC/SmartNIC 的簡單替代,云計算通用可編程 DPU 發展白皮書(2023 年)2 而是對網絡基礎架構的本質改變。DPU 本身所具有的通
9、用層級化可編程性、低時延網絡、統一管控的特性使得 DPU 正在促進新一代數據中心從架構上實現優化和重構。DPU 作為通用數據處理的基礎部件,將卸載原本運行在CPU、GPU中的通用數據處理任務,釋放CPU、GPU 的算力,支撐 CPU、GPU 發揮更大的效能。本白皮書通過闡明和分析 DPU 發展的過程與現狀,指出哪些 DPU 特性是解決上述核心問題的關鍵點,從而推動 DPU 技術的深入發展,助力實現完整的生態鏈建設和產業落地。云計算通用可編程 DPU 發展白皮書(2023 年)3 2.DPU 行業的機遇與挑戰 隨著云計算、物聯網、大數據和人工智能等產業的飛速發展,數據中心網絡正在向高帶寬和新型傳
10、輸體系發展,網絡帶寬逐步從 10Gbps、25Gbps 向 100Gbps、200Gbps、400Gbps 乃至更高的帶寬演進。數據中心網絡帶寬與 CPU 算力的增長速度差距逐漸增大,網絡數據處理占用的 CPU 資源在不斷地增大,迫切需要一種新型處理器來減少對 CPU 的消耗。在這種背景下,DPU 技術應運而生。DPU 是以數據處理為中心的芯片,是繼 CPU、GPU 之后的“第三顆主力芯片”。DPU 是一種提供數據中心基礎設施服務的通用處理器,可以卸載及加速網絡、存儲、安全和管控等基礎功能,釋放更多的 CPU 算力供客戶使用。2.1 DPU 的發展歷程 隨著云計算虛擬化技術的發展,網卡的發展基
11、本可以分為三個階段:1.傳統基礎網卡 NIC:負責用戶數據交互的網絡設備,具有較少的硬件卸載能力;2.智能網卡 SmartNIC:具備豐富的數據平面硬件卸載能力;3.數據處理器 DPU:兼具智能網卡功能的同時,又可以卸載控制平面業務,實現了控制平面與數據平面的通用可編程加速。DPU 作為軟件定義芯片的典型代表,完美詮釋了“軟件定義、硬件加速”的理念,是集數據中心基礎架構于芯片的通用處理器。DPU 通用處理單元用來處理控制平面業務,專用處理單元保證了數據平面的處理性能,從而達到了性能與通用性的平衡。DPU 專用處理單元用來解決數據中心通用基礎設施虛擬化的性能瓶頸,通用處理單元則保證 DPU 的通
12、用性,使得 DPU 能夠廣泛適用于各家云廠商的基礎設施,實現了數據中心虛擬化軟件框架向 DPU的平滑遷移。云計算通用可編程 DPU 發展白皮書(2023 年)4 2.1.1 NIC 的發展和應用 傳統基礎網卡 NIC,又稱網絡適配器,是構成計算機網絡系統中最基本、最重要的連接設備,它的主要工作是將用戶需要傳輸的數據轉換為網絡設備能夠識別的格式。HOST虛擬機虛擬機虛擬機PCIe總線以太網口網絡存儲安全管控NIC 圖 1 NIC 在虛擬化中應用 在網絡技術發展的帶動下,傳統基礎網卡的功能也更加豐富,已經初步具備了一些簡單的硬件卸載能力,如 CRC 校驗、TSO/UFO、LSO/LRO、VLAN
13、等,支持 SR-IOV 和流量管理 QoS,傳統基礎網卡的網絡接口帶寬也由原來的百兆、千兆發展到 10G、25G 乃至 100G。在云計算虛擬化網絡中,傳統基礎網卡向虛擬機提供網絡接入的方式主要分為以下三種:網卡接收流量經操作系統內核協議棧轉發至虛擬機 由 DPDK 用戶態驅動接管網卡,讓數據包繞過操作系統內核協議棧直接拷貝到虛擬機內存 使用 SR-IOV 技術,將物理網卡 PF 虛擬化成多個具有網卡功能的虛擬 VF,再將VF 直通到虛擬機中 云計算通用可編程 DPU 發展白皮書(2023 年)5 隨著 VXLAN 等隧道協議以及 OpenFlow、OVS 等虛擬交換技術的應用,網絡處理的復雜
14、度在逐漸增大,需要消耗更多的 CPU 資源,因此智能網卡 SmartNIC 誕生了。2.1.2 SmartNIC 的發展和應用 智能網卡 SmartNIC 除了具備傳統基礎網卡的網絡傳輸功能外,還提供豐富的硬件卸載加速能力,能夠提升云計算網絡的轉發速率,釋放主機 CPU 計算資源。HOST虛擬機虛擬機虛擬機SmartNIC高速以太網口網絡數據面加解密RDMAPCIe總線網絡控制面存儲安全管控 圖 2 SmartNIC 在虛擬化中應用 智能網卡 SmartNIC 上沒有通用處理器 CPU,需要主機 CPU 進行控制面管理。智能網卡 SmartNIC 主要卸載加速對象是數據平面,如虛擬交換機 OV
15、S/vRouter 等數據面Fastpath 卸載、RDMA 網絡卸載、NVMe-oF 存儲卸載以及 IPsec/TLS 數據面安全卸載等。但是隨著數據中心網絡速率的不斷提高,主機仍會消耗大量寶貴的 CPU 資源對流量進行分類、跟蹤和控制,如何實現主機 CPU 的“零消耗”成了云廠商下一步的研究方向。云計算通用可編程 DPU 發展白皮書(2023 年)6 2.1.3 DPU 發展和應用 相比智能網卡 SmartNIC,DPU 在硬件架構上增加了通用處理單元 CPU 和豐富的硬件加速單元。從而便于實現對網絡、存儲、安全和管控等通用基礎設施的加速和卸載。HOST虛擬機虛擬機虛擬機DPU高速以太網口
16、網絡虛擬機虛擬機虛擬機PCIe總線存儲安全管控 圖 3 DPU 在虛擬化中應用 DPU的產品形態主要有NP/MP+CPU,FPGA+CPU和ASIC+CPU?;贜P/MP+CPU和FPGA+CPU硬件架構的DPU具有良好的軟硬件可編程性,在DPU發展初期大部分DPU廠商都選擇了這個方案。該方案開發時間相對較短且迭代快速,能夠迅速完成定制化功能開發,便于 DPU 廠商快速推出產品,搶占市場。但是隨著網絡帶寬的快速增長,基于NP/MP+CPU 和 FPGA+CPU 硬件架構的 DPU 在性能上將難以滿足,功耗控制方面也會存在很大的挑戰?;?ASIC+CPU 的硬件架構結合了 ASIC 和 CP
17、U 的優勢,兼顧了專用加速器的優異性能和通用處理器的可編程靈活性,成了 DPU 產品的發展趨勢。云計算通用可編程 DPU 發展白皮書(2023 年)7 2.2 DPU 的現狀 早在 2016 年,美國 Fungible 就已經提出了 DPU 的概念,它也是第一家專注于設計DPU 的創業公司。2020 年,Nvidia 在其 GTC 大會上隆重介紹了數據中心網絡領域新產品BlueField DPU。自此,DPU 的概念開始逐漸活躍起來,引起了國內外眾多廠商密切關注。目前,國內外已經有很多云廠商和芯片巨頭布局 DPU 產業,如國外有 AWS、Nvidia、Intel、AMD 和 Marvell 等
18、,國內有阿里、騰訊、中國移動、中國電信和云豹智能等。2.2.1 海外 DPU 的現狀 本章主要介紹一些海外 DPU 廠商的發展情況和其產品。1.AWS Nitro DPU AWS 是全球領先的云計算服務和解決方案提供商,AWS Nitro DPU 系統已經成為了AWS 云服務的技術基石。AWS 借助 Nitro DPU 系統把網絡、存儲、安全和監控等功能分解并轉移到專用的硬件和軟件上,將服務器上幾乎所有資源都提供給服務實例,極大地降低了成本。圖 4 AWS Nitro DPU(來源 AWS 官網)云計算通用可編程 DPU 發展白皮書(2023 年)8 Nitro DPU 系統主要分為以下幾個部
19、分:Nitro 卡:一系列用于網絡、存儲和管控的專用硬件,以提高整體系統性能 Nitro 安全芯片:將虛擬化和安全功能轉移到專用的硬件和軟件上,減少攻擊面,實現安全的云平臺 Nitro 控制卡:一種輕量型 Hypervisor 管理程序,可以管理內存和 CPU 的分配,并提供與裸機無異的性能 Nitro DPU 系統提供了密鑰、網絡、安全、服務器和監控等功能支持,釋放了底層服務資源供客戶的虛擬機使用。2.Nvidia DPU Nvidia 是一家以設計和銷售圖形處理器 GPU 為主的半導體公司,GPU 產品在 AI 和高性能計算 HPC 領域被廣泛應用。2020 年 4 月,Nvidia 以
20、69 億美元的價格收購了網絡芯片和設備公司 Mellanox,隨后陸續推出 BlueField 系列 DPU。圖 5 Nvidia BlueField-3 DPU 介紹(來源 Nvidia 官網)Nvidia BlueField-3 DPU 延續了 BlueField-2 DPU 的先進特性,是首款為 AI 和加速計算而設計的 DPU。BlueField-3 DPU 提供了最高 400Gbps 網絡連接,可以卸載、加速和隔離軟件定義網絡、存儲、安全和管控功能,從而提高數據中心性能、效率和安全性。云計算通用可編程 DPU 發展白皮書(2023 年)9 3.Intel IPU Intel IPU
21、是一種具有硬化加速器和以太網連接的高級網絡設備,可使用緊密耦合的專用可編程內核來加速和管理基礎設施功能。IPU 提供完整的基礎設施卸載,并充當運行基礎設施應用的主機控制點,以提供額外的安全層1。使用 Intel IPU,可以將全部基礎設施業務從服務器卸載到 IPU 上,釋放服務器 CPU 資源,也為云服務提供商提供了一個獨立且安全的控制點。圖 6 Intel IPU 產品 roadmap(來源 Intel 官網)2021 年,Intel 在 Intel Architecture Day 上發布了 Oak Springs Canyon 和 Mount Evans IPU 產品。其中,Oak Sp
22、rings Canyon 是基于 FPGA 的 IPU 產品,Mount Evans IPU 是基于 ASIC 的 IPU 產品。Intel Oak Springs Canyon IPU 配備了 Intel Agilex FPGA 和 Xeon-D CPU。Intel Mount Evans IPU 是 Intel 與 Google 共同設計的 SoC(System-on-a-Chip),Mount Evans 主要分為 IO 子系統和計算子系統兩個部分。網絡部分用 ASIC 進行數據包處理,性能相比 FPGA 高很多,且功耗更低。計算子系統使用了 16 個 ARM Neoverse N1 核
23、心,擁有極強的計算能力。1 Intel 云服務提供商基礎設施處理單元 IPU 白皮書 云計算通用可編程 DPU 發展白皮書(2023 年)10 2.2.2 國內 DPU 的現狀 隨著 DPU 產業的快速發展,國內也涌現出了一大批 DPU 公司,本章主要介紹了一些國內 DPU 廠商和其產品。1.中國移動 HyperCard DPU 2020 年中國移動發布 HyperCard DPU,將軟件的靈活與硬件的高效有機結合,承載網絡、存儲及虛擬化設備管理,在釋放 CPU 資源的同時,HyperCard 基于硬件卸載技術全面加速 IO 性能,實現了虛擬 IO“零”損耗,突破了傳統技術架構性能極限。移動云
24、同時著手構建 DPU 的軟硬件生態系統,通過算力卸載/算力解耦/無損網絡三大關鍵技術,實現以 DPU 為中心的計算、網絡、存儲的云化加速,規范 xPU 異構硬件接入標準,統一算力 API,構建高性能云化基礎設施生態關鍵底座。打造磐石算力架構:結合 HyperCard DPU 與定制化磐石服務器,實現對 HyperCard DPU 的全生命周期管理和最優適配,為“大云”的裸金屬、云主機、容器等算力載體提供統一的算力底座 打造 COCA(Compute On Chip Architecture)算力框架:構建算力的標準化接入生態,構建算力與應用間的靈活接入介質,未來做到包括自有 HyperCard
25、 在內的業界 DPU 硬件在數據中心的即插即用 2.阿里云 CIPU 2022 年阿里云峰會上,阿里云正式發布了云基礎設施處理器 CIPU,CIPU 的前身是MoC 卡(Micro Server on a Card),MoC 卡是神龍架構的靈魂所在。MoC 卡擁有獨立的I/O、存儲和處理單元,承擔了網絡、存儲和設備虛擬化的工作。第一代和第二代 MoC 卡解決了狹義上的計算虛擬化零開銷的問題,網絡和存儲部分的虛擬化仍由軟件實現。第三代MoC 卡實現了部分網絡轉發功能硬化,網絡性能大幅提升。第四代 MoC 卡實現了網絡、存儲全硬件卸載,還支持了 RDMA 能力。云計算通用可編程 DPU 發展白皮書
26、(2023 年)11 阿里云 CIPU 作為一顆為飛天系統設計的數據中心處理器系統,對于阿里云構建新一代完整的軟硬件云計算架構體系有著重大的意義。3.云豹智能 DPU SoC 云豹智能是一家專注于云計算和數據中心數據處理器芯片(DPU)和解決方案的領先半導體公司。云豹智能 DPU SoC 是國內第一顆通用可編程 DPU 芯片,具備豐富的可編程性和完備的 DPU 功能,支持不同云計算場景和資源統一管理,優化數據中心計算資源利用率。圖 7 云豹智能 DPU SoC 整體架構 云豹智能 DPU SoC 提供最高 2*200G網絡連接,搭載性能強勁的通用CPU處理單元,滿足云基礎設施層業務的卸載需求。
27、云豹智能 DPU SoC 還配備眾多的硬件處理引擎,實現網絡、存儲和安全的全面加速,具體情況如下:數據面處理引擎提供高性能數據處理,具備靈活的軟硬件可編程能力 RDMA 處理引擎支持 RoCE 和 iWARP 等主流協議和可編程擁塞控制算法 安全處理引擎提供 SM2/SM3/SM4 等國密和其他主流加密算法 支持安全啟動、機密計算、加解密的零信任安全解決方案,保護系統、數據、應用的安全 支持 DDP(Data Direct Path)數據直通技術,加速數據處理,提高 AI 訓練效率 云計算通用可編程 DPU 發展白皮書(2023 年)12 云豹智能DPU SoC支持裸金屬、虛擬化和容器統一運維
28、和管控,提供彈性網絡和存儲、虛擬化管理和安全等一站式解決方案,極大地提升云服務商的服務質量和業務靈活性,降低整體投入,引領數據中心新趨勢。云豹智能提供完整的軟件開發平臺,可以在云豹智能 DPU SoC 上開發網絡、存儲、安全和管控等應用。云豹智能軟件開發平臺全部采用數據中心主流的開源及標準化組件和接口,使得數據中心業務能夠平滑遷移到云豹智能 DPU SoC 上。2.3 DPU 行業的挑戰 縱觀 DPU 在國內外數據中心應用中的發展歷程,我們可以看到數據中心在商業化落地過程中面臨著嚴峻的挑戰,重點體現在以下幾方面:數據中心業務復雜多變,既需要兼顧計算效率,又需要提供通用可編程能力,實現基礎功能可
29、定制化,保證業務的靈活性 隨著大數據、AI 和機器學習等高性能計算需求在數據中心不斷擴大,數據中心基礎設施需要提供高吞吐、低時延的計算網絡 數據中心需要對計算、網絡和存儲資源進行統一智能管控 為了應對這些挑戰,我們必須重新審視 DPU 架構應該具備哪些特性,以滿足未來數據中心的發展需要。云計算通用可編程 DPU 發展白皮書(2023 年)13 3.DPU 核心特性 數據中心建設中,面臨兩個方向的挑戰:1.從上向下,客戶應用不斷變化,業務的上線部署、離線卸載、未來新型業務的持續支撐等都向數據中心提出了通用并且靈活的需求。應用層希望對底層基礎變化不感知,但卻要求可以靈活擴展并直接使用底層基礎設施的
30、硬件性能;2.從下往上,數據中心基礎設施需要提供最大化的數據處理能力,釋放最大的算力資源,尋求最大的基礎設施投資產出比。通用的 DPU 在面對上述兩個方向的挑戰時,可以很好地做權衡,適配不同上層應用需求的變化。DPU 不僅僅是網絡、存儲、安全、加解密功能的簡單卸載,作為未來數據中心的核心部件,將支撐 CPU、GPU 發揮更大的效能??傮w上 DPU 應包含的功能組件如下圖所示:符合Interconnection Networks片上互聯總線CPU ClusterPipeline EngineStorage EngineCrypto/De-cryptoEnginePacket EngineSecu
31、rity BootUnitMCU ControllerUnitDDR ControllerPCIe Bus ControllerSystem Level CacheMAC PHY ControllerI/O ComponentHigh-speed Serdes 符合Interconnection Networks片上互聯總線SPI Bus ControllerI2C/I3C ControllerGE/10GE InterfaceUART/USB InterfaceOthersDDRFLASHQSFP/QSFP-DDSSD/NVMeOthers 圖 8 DPU 整體芯片參考架構 DPU 在新型數
32、據中心的架構中,主要聚焦解決當前數據中心應用中消耗 CPU、GPU 算力資源的網絡、存儲、安全以及和應用相關的,諸如 AI、數據庫等性能要求敏感的數據處理任務。為了達到這個目標,DPU 必須具備:層級化可編程性、低延時網絡、統一管控以及適應持續發展的加速卸載的關鍵特性。云計算通用可編程 DPU 發展白皮書(2023 年)14 3.1 層級化可編程 性能和可編程能力是一對緊密聯系的組合體,既相輔相成,又相互制約。在追求卓越性能的時候,就要去除冗余部分完全聚焦在具體的任務上,必然導致靈活性/可編程能力的下降;反之,在追求通用性和靈活性的時候,不得不考慮增加額外的分支判斷和預測的功能來保證最大的適應
33、性,必然導致性能的下降。CPU、GPU 的發展演進過程是對這種關系的最好詮釋。隨著網絡和算力需求的持續增加,以 CPU 為計算中心的服務器架構越來越不能滿足實際應用對性能的需求,整個服務器系統將逐漸演化為以 DPU 作為數據處理中心的架構,如下圖所示:Network FabricDPUStorage EnginePCIe.CPU CoresCompute and Storage Resource Pool.CPUCPUGPUDSACompute and Storage Resource Pool.CPUCPUGPUDSAEthernet MACRMDAPacket EngineNVMeCryp
34、toCPU CoresDPUEthernet MACRMDAPacket EngineNVMeCryptoStorage EngineCPU CoresPCIeDPUEthernet MACRMDAPacket EngineNVMeCryptoStorage EngineCPU CoresCompute and Storage Resource Pool.CPUCPUGPUDSAPCIeDPUEthernet MACRMDAPacket EngineNVMeCryptoStorage EngineCPU CoresCompute and Storage Resource Pool.CPUCPU
35、GPUDSAPCIe.圖 9 以 DPU 為中心的數據中心網絡架構 云計算通用可編程 DPU 發展白皮書(2023 年)15 DPU 將承擔起對性能敏感的網絡、存儲、安全以及和應用相關的,諸如 AI、數據庫等工作任務的加速處理工作,更好地支撐 CPU、GPU 的上層業務。在新型的云原生、算網融合的服務器架構中,DPU 的層級化可編程特性使得構建強大的算網融合的基礎設施層成為可能。依據不同層次的應用需求,DPU 可編程性可劃分為三個層級:層級 1 通用可編程 主要面對通用可編程處理需求,以及數據慢速路徑的處理需求,極大的靈活性,滿足靈活多變的場景需求。特點為:高靈活性,性能需求相對不高。層級 2
36、 嵌入引擎可編程 嵌入引擎可編程介于通用可編程和下一個層級的領域可編程之間,主要針對 DPU具備的各種嵌入式微引擎(例如,RISC-V core+增強的網絡處理指令集的微引擎是實現層級 2 可編程能力的可行方案之一)。嵌入引擎可編程兼顧靈活性和數據處理性能,基于 C、匯編、P4 或其他編程語言,針對動態的業務加速和卸載需求,達到最佳的平衡點。特點為:均衡的靈活性/性能。層級 3 領域可編程 針對特定領域的可編程性,可以獲得最佳的性能。特點為:極致性能、低靈活性。在領域可編程中,一種可行的方案是基于可編程的 Pipeline 架構,應用層采用基于 P4-Pipeline 的編程接口。例如在對快速
37、路徑中報文轉發與處理的應用,領域可編程能力可以發揮巨大作用。云計算通用可編程 DPU 發展白皮書(2023 年)16 圖 10 DPU 層級化可編程架構 DPU 層級化編程架構使得面對不同的性能靈活性組合的需求時,DPU 可以采取不同的編程組合滿足實際需求。如下圖所示,可以靈活依據權衡曲線采取不同的編程策略。圖 11 性能靈活性權衡曲線 云計算通用可編程 DPU 發展白皮書(2023 年)17 3.1.1 層級 1 通用可編程 DPU 在層級 1 中基于通用的多核處理器,提供強大的可編程能力和向前兼容性。在這個層級,為用戶提供完全的可編程能力。以往,在以 CPU 為計算中心的服務器架構中面臨兩
38、類矛盾:1、在虛機或容器場景中,云底座管理系統在完成主機計算網絡存儲等資源的虛擬化與切分以提高物理機的資源利用率的同時,組件本身也在消耗著主機的資源,引入額外的開銷;2、在裸金屬場景中,須支持整機資源對外售賣給終端用戶,傳統的 IaaS 組件運行方式無立足之地,無法實現對裸金屬的彈性管理和交付。針對上述兩個矛盾,引入 DPU 后可以利用 DPU 在層級 1 中的可編程能力把主機上的基礎設施服務完全從主機側下沉到 DPU,不僅降低了主機側 CPU 的算力資源開銷,提高了系統的性能和穩定性,同時通過統一的基礎設施底座實現對虛擬機、容器、裸金屬實例的并池管理,還提升了系統的運維與管理的效率。層級 1
39、 的通用可編程能力基于標準的 Linux 操作系統,傳統的控制平面的應用,例如虛擬化管理、裸金屬管理、監控腳本、系統日志等應用可以無縫地移植到 DPU 的這個層級。除了傳統的 CPU 的可編程性能力,在層級 1 中還包含了與其他可編程層級的交互通路,一方面支持由層級 1 向其他層級進一步的卸載與加速,另一方面也支持由其他層級向層級 1反饋上送事件,由運行在層級 1 的組件統籌管理,從而實現軟硬一體化的設計,取得兼顧性能與靈活性的最優解。3.1.2 層級 2 嵌入引擎可編程 層級 2 的嵌入引擎可編程,不同于基于通用多核處理器的可編程層級 1,它是基于嵌入式微引擎,提供包含但不限于 C、P4、匯
40、編語言的編程環境和接口,以滿足靈活多變的網絡處理需求。專用的 ASIC 邏輯的極致性能是毋庸置疑的,但是 DPU 要面對的是復雜多變的業務場景以及向前兼容的可擴展性,同時要滿足足夠的性能吞吐能力,因此通用的 CPU 和云計算通用可編程 DPU 發展白皮書(2023 年)18 專用的 ASIC 都不是最佳的選擇。一個可編程的 Micro-engine(例如 RISC-V core+增強的網絡處理指令集)可以滿足這個要求。在實踐中,隨著數據中心承擔業務的不斷擴展和日益復雜化,不僅標準的網絡處理協議需要快速處理,而且大量的自定義的私有協議也需要快速處理。針對這些需求,依賴 CPU 由軟件完成支持可以
41、滿足基本功能的需求,但無法兼顧性能和成本與功耗同時取得最優解。DPU 的 Micro-engine 結合定制化的專用加速指令以及流水線的設計,可以在保證性能的前提下,完整地支持自定義協議的報文解析查找匹配以及報文編輯。Micro-engine Pool 具備的參考特性:增強的網絡優化指令集 多線程 支持C、匯編、P4可編程DPUFully Programmable Data-plane Processing EnginesStorage EngineCPU CoresPCIe ControllerEP2x200G Ethernet MACSystem Level CacheManagement
42、&BootLANEngineCrypto EngineMicro-engine Pool(e.g.Risc-V)ASIC(e.g.Pipeline)Programmable Domain 圖 12 可編程層級 2-Micro-engine 3.1.3 層級 3 領域可編程 DPU 在層級 3 中提供基于高度優化的硬件處理邏輯(ASIC)來完成對網絡數據的快速處理,實現網絡數據的低延時轉發。在層級 3 中,同樣需要提供相應的可編程接口對硬件邏輯進行編程。典型的應用中,例如針對流表規則/Action 配置、字段匹配、諸如 VXLAN、GRE 等等隧道協議的封裝解封裝、報文頭編輯、流量統計、連接跟蹤
43、和 QoS 等等功能,通過基于 SDK/API 或 P4 的編程開發環境將功能卸載到相應的 ASIC 硬件加速邏輯中,在保證性能最優的情況下,保留有限的可編程性,簡化使用的復雜度。云計算通用可編程 DPU 發展白皮書(2023 年)19 Micro-engine Pool(e.g.Risc-V)ASIC(e.g.Pipeline)ASIC-Pipeline 具備的參考特性:流表規則/Action 字段匹配 隧道協議封裝解封裝 報文頭編輯 流量統計 CT跟蹤 QoS 支持P4可編程Programmable DomainDPUFully Programmable Data-plane Proces
44、sing EnginesStorage EngineCPU CoresPCIe ControllerEP2x200G Ethernet MACSystem Level CacheManagement&BootLANEngineCrypto Engine 圖 13 可編程層級 3-ASIC-Pipeline 3.2 低時延網絡 無論數據中心的發展如何演進,使用的技術如何復雜,有一點需要明確,那就是網絡數據包最終都是在物理的網絡中進行傳輸。DPU 作為數據中心的核心部件之一,承擔著物理網絡傳輸的重要責任,是銜接算力(包括 CPU+GPU)和網絡兩大領域的重要樞紐。因此,DPU 的網絡特性,例如帶寬
45、、時延等直接或者間接決定了數據中心網絡發展的上限。帶寬的發展相對平穩,從當前的 10G、25G 網絡逐步演進到未來的 100G、200G、400G 網絡。隨著帶寬,數據吞吐需求的增長,物理網絡時延極大地制約著數據中心上層應用的發展,例如虛機,裸金屬的應用部署。在整體的數據中心網絡中,網絡包時延由 5 部分組成:鏈路傳輸時延 數據串行時延 設備轉發時延 排隊時延 節點處理時延 構建和優化低時延網絡時,就是要分析和改善這些影響網絡包傳輸時延的各個組成部分。云計算通用可編程 DPU 發展白皮書(2023 年)20 鏈路傳輸時延,具體指的是傳輸介質帶來的時延,例如電纜、光纖,時延是固定值,不可改變,不
46、用考慮。就 DPU 在數據中心的核心位置而言,其他幾項都是 DPU 需要聚焦的點。數據串行時延和設備轉發時延,在 DPU 中主要依賴芯片的硬件邏輯性能。隨著網絡流量的指數增長,基于硬件的數據面轉發技術在交換機和路由器得到了發展和應用,這些技術(例如:NP 的 RTC 架構和 Pipeline 架構)也在新型數據中心網絡架構中被應用到了 DPU上面。當前,經過實踐的檢驗,最佳的數據面轉發技術可編程的 Pipeline 技術在 DPU中被采納??删幊痰?Pipeline 技術,保留了硬化的 ASIC 實現的 Pipeline 在高業務吞吐和低時延的優勢,同時可編程性兼顧了靈活性和可拓展性,支持未來
47、新業務的兼容性。DPU 可編程的 Pipeline 技術有效地降低了數據串行操作和設備操作時延。另外,在排隊時延和節點處理時延方面,DPU 的層級化可編程特性可以發揮軟硬協同的方式優化排隊時延和節點處理時延的性能。在實踐中,直接在 DPU 中以軟硬協同的方式實現對 RDMA 和 RoCEv2 的支持是實現低延時網絡的最佳技術選擇之一。RDMA 的性能優勢主要體現在零拷貝和 kernel bypass,零拷貝實際上減少了數據拷貝次數,沒有數據拷貝到內核的操作,大大降低了數據處理的時延;另外,kernel bypass 之后去除了繁瑣的報文頭的處理邏輯,也進一步降低了時延。RoCEv2 是繼 Ro
48、CEv1 之后更加成熟的 RDMA 承載協議。RoCEv2 網絡在數據鏈路層支持標準以太網協議,在網絡層支持 IP 協議,可以被當前的數據中心網絡直接采用和部署。通用 DPU 為了實現低時延網絡,可以將 RDMA 和RoCEv2 卸載到 DPU 上,通過硬件邏輯加速報文的排隊和處理時延。這樣,一方面釋放了CPU 算力資源,另外一方面將數據的處理轉發操作盡量靠近網絡側。但是,在 DPU 卸載RDMA 和 RoCEv2 的實現中,RDMA 協議本身對網絡丟包要求極高,因此如何減少和避免網絡擁塞和丟包是一個非常重要的問題,處理不好,將會嚴重影響低時延網絡的性能。目前,網絡擁塞解決方案有 PFC、EC
49、N、DCQCN、Timely 等方案。以 PFC 和 ECN 為例,PFC 是一種基于隊列的反壓協議,ECN 是一種基于流的端到端流控協議。在數據中心的網絡實踐中,PFC 和 ECN 各有千秋,但是都不能獨立解決當前的網絡擁塞和丟包問題。如前文所述,通用 DPU 將以軟硬協同的方式,來面對這個挑戰。在 RDMA 和 RoCEv2 進行硬件卸載的同時,引入基于 C 的可編程單元(處于上一章節中描述的可編程層級 2),實現 PFC+ECN云計算通用可編程 DPU 發展白皮書(2023 年)21 擁塞控制算法的可編程性,增加對網絡狀態的智能感知能力。例如利用層級 2 中的可編程微引擎單元,實現對大量
50、的、持續的數據傳輸流(俗稱大象流)和少量的、短時間的數據傳輸流(俗稱老鼠流)的動態感知和動態擁塞控制??偨Y,通用 DPU 中的可編程 Pipeline、RDMA+RoCEv2 硬件邏輯模塊、可編程擁塞控制單元共同作用,以軟硬協同的方式保證低時延網絡的實現。3.3 統一資源管控 DPU 在數據中心應用中將扮演著重要的角色,是銜接算力(包括 CPU+GPU)和網絡兩大領域的重要樞紐,是應用驅動下出現的異構計算設計的必然結果和實踐。DPU 的體系架構解決了在數據中心應用中 CPU、GPU 很難或者不能完成的技術難點,在提升了整體數據中心運行效率的同時,也有效降低了數據中心基礎設施的投資和運維成本。D
51、PU 的體系架構真正實現了對計算資源、網絡資源、存儲資源的統一運維和管理,并且可以輕松地支持網絡、存儲和管控的卸載;支持裸金屬應用模式下的宕機遷移;支持虛擬機應用模式下的虛擬機熱遷移。如下圖所示,從資源的角度 DPU 作為統一的節點,實現統一的智能化資源管理。MAC InterfacePCIe運維管理DPU安全存儲.Virtio-net/blk,NVMe,.網絡.MAC InterfacePCIe運維管理DPU安全存儲.Virtio-net/blk,NVMe,.網絡.MAC InterfacePCIe運維管理DPU安全存儲.Virtio-net/blk,NVMe,.網絡.MAC Interfa
52、cePCIe運維管理DPU安全存儲.Virtio-net/blk,NVMe,.網絡.X86/Arm CPU容器容器容器容器容器容器.Linux/Windows OSX86/Arm CPUVMVMVMVMVMVM.X86/Arm CPU裸金屬Network Fabric.Virtio-net/blkVirtio-net/blk.HypervisorStorage PoolDiskDiskDiskDiskDiskDisk.Manager.存儲資源域網絡資源域運維/管理Master NodeVirtio-net/blkVirtio-net/blkVirtio-net/blkVirtio-net/bl
53、k計算資源域 圖 14 DPU 統一資源管控 云計算通用可編程 DPU 發展白皮書(2023 年)22 從上圖可知,DPU 作為資源調配的中心,簡化了運維和資源管理的復雜度。DPU 統一資源管控的特性和能力發揮了巨大的作用,解決了在傳統數據中心中面臨的三大問題:運維/資源調配復雜 上線速度緩慢 開發成本難以控制 具體針對上述三個問題,基于計算資源管控、網絡資源管控、存儲資源管控分別進行分析和闡述 DPU 在統一資源管控的特性和優勢。3.3.1 統一的計算資源管控 隨著算力網絡一體化服務架構的逐漸演進,為了滿足終端客戶可以靈活動態地獲取算力服務,就需要統一的資源管控技術來管理計算資源。以“虛擬機
54、”的應用為例,在傳統的數據中心中需要在宿主機中部署、運行、維護大量且復雜的軟件系統來完成 IaaS 的功能,從而才能提供針對虛擬機這種計算資源的管控,保證多租戶共享物理資源。因此這些IaaS功能不但會消耗相當比例的宿主機算力資源,而且IaaS與宿主機綁定融合在一起,不能完全解耦。同時,不同的 IaaS 系統也存在兼容性的問題,這些都使得運維的復雜度急劇增加,尤其是虛擬機熱遷移這種基本功能的實現變得異常復雜。針對“裸金屬”的應用,與虛擬機共享宿主機物理資源不同,裸金屬的資源歸用戶獨享。盡管在實際的應用中,裸金屬是虛擬機/云主機的有力補充,實現強勁穩定的計算能力和安全可靠的運行環境。但是,由于宿主
55、機(HOST)完全被用戶獨享,因此導致 IaaS 功能不能夠直接沿用虛擬機/云主機的管控架構和部署方式,這同樣帶來了額外的維護、管理和開發成本,同時也降低了裸金屬應用的靈活性。在計算資源的應用中,還有一種典型的應用就是“容器+微服務“。作為數據中心將計算資源釋放給客戶的一種方式,容器技術擁有自身獨特的優勢,在數據中心中得到廣泛的應用,但是容器技術的發展卻給數據中心的資源管控提出了新的挑戰。容器技術的發展促進了微服務的發展,深刻影響了數據中心的應用架構和部署方式。通過微服務,將復雜系統拆分為易云計算通用可編程 DPU 發展白皮書(2023 年)23 于開發和維護的服務單元,實現敏捷性開發,但是這
56、種拆分同時帶來了分布式系統的復雜性,每個服務需要進行管理、調度、監控。因此隨著技術的快速發展和迭代服務網絡(Service Mesh)這樣的概念和實踐也在隨著數據中心網絡的發展而發展,例如 Kubernetes、Istio等的框架和方案已經在當前的數據中心進行部署。但這些管理組件的引入,無疑加重了數據中心額外管理資源的開銷。隨著容器和微服務部署規模的擴大,Kubernetes、Istio 組件消耗的主機 HOST 算力資源的比重將會逐漸增大,最終將導致數據中心無法提供有效的算力資源給容器和微服務應用。綜上,在數據中心計算資源的管理上,無論從“虛擬機”、“裸金屬”還是“容器”,傳統地依托 CPU
57、 作為中心算力的 IaaS 管控系統,都面臨巨大的挑戰,嚴重制約著數據中心網絡向新型網絡架構(算網融合)進行演進。DPU 的體系架構在面對上述計算資源管理的問題時可以提供有效的解決方案。如下圖所示,基于層級化可編程架構 DPU 可以實現對“虛擬機”、“裸金屬”和“容器”各種計算資源的統一管控,利用 DPU 層級 1 的通用可編程能力將 IaaS 功能組件歸一化下沉到 DPU 中進行統一管理,可以取得如下優化:釋放宿主機 CPU 算力,提高單位服務器可售賣算力比例 簡化 IaaS 功能組件部署的復雜度,針對 IaaS 組件實現單點(DPU)的維護和升級 實現統一的 API 接口,實現不同計算資源
58、的統一管理 云計算通用可編程 DPU 發展白皮書(2023 年)24 服務器服務器服務器Bare-metalNICHOSTContainer.ContainerNICHOSTIaaS Management:HypervisorvSwitch/OVS.ContainerNICHOSTIaaS Management:HypervisorvSwitch/OVS.VM.VMVM服務器Container.ContainerHOSTContainerContainer.ContainerContainerHOST服務器VM.VMVMVM.VMVMMAC InterfacePCIe運維管理IaaS Mana
59、gement:Hypervisor vSwitch/OVS.DPU存儲.Virtio-net/blk,NVMe,.網絡 Hardware Accelerator Micro-engine.安全服務器HOSTBare-metalMAC InterfacePCIe運維管理IaaS Management:Hypervisor vSwitch/OVS.DPU存儲.Virtio-net/blk,NVMe,.網絡 Hardware Accelerator Micro-engine.安全MAC InterfacePCIe運維管理IaaS Management:Hypervisor vSwitch/OVS.D
60、PU存儲.Virtio-net/blk,NVMe,.網絡 Hardware Accelerator Micro-engine.安全 圖 15 傳統計算資源管理 vs.DPU 計算資源管理 3.3.2 統一的網絡資源管控 當前數據中心的網絡架構中,同時并存著傳統的三層結構“接入層匯聚層核心層”和葉脊網絡拓撲結構(spine-leaf)兩種網絡架構,相對而言 spine-leaf 網絡拓撲結構有逐漸取代前者的趨勢。三層網絡架構,對支撐數據中心南北向流量業務效果很好,但是它也存在著帶寬浪費、數據路徑長高延時,擴展性差和成本高等諸多問題。spine-leaf 不僅優化了傳統三層架構中面臨的這些問題,而
61、且 spine-leaf 在支撐數據中心東西向流量上具有很好的優勢。隨著云和容器化應用的部署,各種應用程序組件分布在不同的服務器和虛機之中,這使得數據中心中東西向流量業務激增。這些激增的東西向流量,主要來自不同虛擬機之間,不同容器應用之間的通信流量。DPU 作為數據中心服務器的網絡資源管理樞紐,將承擔針對東西向流量在主機 HOST 與Leaf 之間的管理作用,實現對網絡資源的統一管控。如下圖所示。云計算通用可編程 DPU 發展白皮書(2023 年)25 SpineSpineLeafVXLANLeafLeaf 容器.容器容器容器DPU服務器VM.VMVMVMDPU服務器VM.VMVMVMDPU服
62、務器MAC Interface網絡資源統一控制東西流量南北流量PCIe運維管理安全存儲Virtio-net/blk,NVMe,.網絡.MAC InterfacePCIe運維管理安全存儲Virtio-net/blk,NVMe,.網絡.MAC InterfacePCIe運維管理安全存儲Virtio-net/blk,NVMe,.網絡.InternetHOSTHOSTHOST 圖 16 網絡資源統一管理 當前的數據中心網絡資源管理技術主要依托虛擬化技術實現。如上圖所示,主機內部網絡虛擬化資源的管理可以遷移到 DPU 中,同樣的可以依托 DPU 層級 1 的通用可編程性實現對網絡資源控制面的卸載和統一控
63、制,以及 DPU 層級 2、3 的可編程能力實現諸如 OVS、eSwitch 的數據面硬件卸載。未來,隨著 DPU 的能力發展和網絡架構的演進,原有數據中心中 TOR 功能也可以與 DPU 進一步融合,在縮短數據路徑的同時,進一步提升對網絡資源的管控能力。3.3.3 統一的存儲資源管控 同計算、網絡資源一樣,在數據中心的發展過程中,為了滿足不同業務對存儲功能的需求,存儲技術也在不斷地完善和加速演進中。DPU 的架構和特性優化和加速了針對數據中心存儲資源的管理能力和效率,促進了存儲技術在數據中心應用中的深入發展。當前在存儲技術中,存儲協議和相應的文件系統變得越來越復雜,同時,隨著集群規模云計算通
64、用可編程 DPU 發展白皮書(2023 年)26 的增大,服務器上存儲 IO 負載負擔越來越重。在傳統的存儲技術實現中,針對存儲協議處理、存儲數據 IO 操作都是基于 CPU 的通用算力資源來完成,這使得存儲系統占用了大量的服務器 CPU 算力資源。DPU 可以解決這種矛盾,不但可以釋放服務器 CPU 的算力資源,DPU 通用可編程組件承擔存儲協議的實現,另外 DPU 可編程的存儲加速器組件也增加存儲 IO 的吞吐能力。DPU 的統一存儲資源管控能力,促進存儲和計算分離技術發展,提高數據中心對存儲資源的服務和管控能力。對于終端用戶,DPU 的統一存儲能力提供歸一化的存儲訪問 API接口,無論后
65、端的存儲資源是對應的本地存儲、云端存儲都可以實現簡潔透明的存儲訪問能力。另外,DPU 的可編程加速引擎可以實現對數據的安全加密、數據壓縮、負載均衡的卸載。因此,DPU 的架構不僅實現了從控制面和數據面的卸載,也實現了將存儲資源的管理功能從主機側 CPU 向 DPU 的卸載和遷移。MAC InterfacePCIe運維管理DPU安全存儲.Virtio-net/blk,NVMe,.網絡.MAC InterfacePCIe運維管理DPU安全存儲.Virtio-net/blk,NVMe,.網絡.NetworkStorage PoolDiskDiskDiskDiskDiskDisk.ManagerSto
66、rage PoolDiskDiskDiskDiskDiskDisk.Manager.存儲資源控制域存儲資源域 .圖 17 存儲資源統一管控 云計算通用可編程 DPU 發展白皮書(2023 年)27 3.4 持續發展的加速卸載 隨著 DPU 在數據中心應用中的不斷深入,DPU 將持續地對數據中心的應用和業務進行加速和卸載。如下圖所示,在之前的應用中,Virtio-backend、OVS 已經在 DPU 中實現硬件的加速和卸載;現在,針對 RDMA、NVMe、加密解密等的應用正在 DPU 中進行積極的實踐;未來,DPU 將會把更多的應用加速并卸載到 DPU 中。例如:AI 的并行通訊、分布式數據庫
67、、Service Mesh 等應用的加速和卸載。DPUDPUDPUOVS-DPDKNGFWIPS/IDSVirtio-backend.CryptoOVS-DPDKRDMANVMeLibvirtLibvirtkubernetesCryptoOVS-DPDKVirtio-backendRDMANVMeLibvirtKubernetesAICommunicationDatabaseServiceMesh.過去現在未來HOSTHOSTHOSTVirtio-backend.圖 18 DPU 持續發展的加速卸載 云計算通用可編程 DPU 發展白皮書(2023 年)28 4.DPU 應用場景分析 DPU 解
68、決了數據中心中處理基礎設施消耗大量 CPU 算力資源的問題,成為了發揮 CPU、GPU 更大效能的基石。DPU+CPU/GPU 的組合在云計算、存儲、電信邊緣計算 UPF 加速、數據中心管控、網絡安全零信任環境、AI/HPC 等多種應用場景下發揮著重要的作用。以下就典型的應用場景進行簡要的分析。4.1 云計算卸載 4.1.1 網絡功能卸載 云計算技術的蓬勃發展對計算節點的網絡功能提出了很高的要求。計算節點中運行的虛擬交換機軟件,需要完成類似于物理交換機的功能,同時提供大容量的轉發表項。流量的高速轉發對 CPU 算力造成了很大的負擔。依據上一章節針對 DPU 核心特性的分析,DPU 可以利用通用
69、 DPU 具備的層級化可編程能力實現對計算節點中的網絡功能進行卸載,主要包括:虛擬交換機功能的卸載、虛機主機接口的硬件加速、網絡協議的卸載等。對網絡功能進行卸載可以顯著提升轉發性能,同時大大降低對主機側 CPU 算力的消耗,從而顯著提升可售賣的計算資源的占比。4.1.1.1 虛擬交換機功能的卸載 云計算場景中,計算節點中的虛擬交換機承載著大量的轉發業務。不同虛擬機(VM)之間、VM 和外部節點之間的流量,都需要通過計算節點內部的虛擬交換機進行轉發。計算節點中的虛擬交換機通常是 OVS(Open vSwitch)。OVS 需要對報文進行復雜的處理,包括報文頭分析、L2/L3 轉發決策、Overl
70、ay 網絡報文的封裝/解封裝等。因此,基于軟件實現的 OVS 會大量消耗服務器上寶貴的 CPU 資源,流量越大,消耗的 CPU 資源越多。結合 DPU 三層可編程能力,可以對 OVS 的數據面和控制面進行全卸載,進一步降低云計算通用可編程 DPU 發展白皮書(2023 年)29 CPU 的負擔。DPU 的 OVS 卸載機制如下圖所示:DPUHOST服務器OVS.VMVMProgrammable Hardware Accelerator 圖 19 DPU 卸載 OVS 從上圖可以看出,OVS 的數據面被卸載到了 DPU 中的硬件 Hardware Accelerator 上,并且基于 DPU 的
71、通用可編程特性,OVS 的控制面也可以卸載到 DPU 中。這樣,OVS 的相關功能都被卸載到了 DPU 上,實現了 OVS 的全卸載。除了 OVS 的卸載之外,DPU 還可以支持 P4 等編程語言。P4 語言具備強大的數據面編程能力,可以結合用戶業務需求定義數據面轉發 Pipeline 處理流程。P4 是協議無關的,除了可以支持標準協議的報文解析與編輯外,還可結合業務需求自定義新的協議,通過 P4完成對硬件 Pipeline 的編程以支持自定義協議的解析與處理。4.1.1.2 虛擬主機接口的硬件加速 在云計算場景中,需要為海量的虛擬主機提供網絡接口,以便和外部進行通信。業務流量的爆發式增長,使
72、得網絡接口的性能成為衡量云計算整體性能的一個重要因素。云計算技術的發展過程中,出現過多種虛擬化網絡接口的實現方式,主要包括:QEMU純軟件模擬的網絡接口、內核態的 vhost-net 后端(半虛擬化接口)、用戶態的 vhost-user后端(半虛擬化接口)、SR-IOV、vDPA 接口等,但是無論什么形式的虛擬化接口,都只能圍繞在 bypass kernel、減少 DMA 數據搬運層面,對網絡 I/O 吞吐性能的提升都很有限,云計算通用可編程 DPU 發展白皮書(2023 年)30 并且適配接口的多樣化也帶來了額外的運維開銷。DPU 可以提供通用的標準化的 virtio-net 硬件接口,由于
73、標準 Linux 內核已集成支持virtio-net 驅動,虛機/裸金屬實例使用的鏡像的各個發行版本中已內置集成 virtio-net 驅動,因此 DPU 能夠和主機側 VM 實現無縫對接,提升網絡 I/O 的性能,完全卸載主機側CPU 對 Virtio 接口處理的資源開銷。4.1.1.3 RDMA 協議的硬件卸載 傳統的 TCP/IP 技術處理報文時,需要經過一個較長的處理路徑,數據需要在系統內存、處理器緩存和網絡控制器緩存之間進行內存拷貝,因此會占用大量的 CPU 資源和內存帶寬。隨著網絡接口速率的不斷提升,這個問題表現得更加明顯,也進一步加劇了網絡延遲效應。在一些性能要求極高的場景中,傳
74、統的 TCP/IP 體系已經無法滿足苛刻的時延要求。RDMA 是一種直接內存訪問技術,RDMA 使得一臺計算機可以直接存取其他計算機的內存,而不需要經過 CPU 的處理。也就是說,RDMA 可以將數據從一個節點快速地搬移到遠端節點的內存中。和 TCP/IP 協議相比,RDMA 的性能優勢主要來源于以下的因素:內存零拷貝應用程序可以直接執行數據傳輸,數據被直接發送到緩沖區或者直接從緩沖區里接收。由于不需要在軟件協議棧、驅動程序之間拷貝數據,傳輸延遲會顯著減少 Kernel Bypass應用程序直接在用戶態執行數據傳輸,RDMA 協議是通過硬件實現的,內核協議棧不參與報文的處理,也就不需要在內核態
75、與用戶態之間進行上下文切換 DPU 的低時延網絡特性正是吸收和采納了 RDMA/RoCEv2 的技術實現可編程化的硬件協議卸載能力,利用硬件的性能優勢來大幅提升傳輸性能,并且顯著降低計算節點的 CPU開銷,對云計算業務的開展形成強大的助力。云計算通用可編程 DPU 發展白皮書(2023 年)31 4.1.2 存儲功能卸載 云計算市場的迅猛增長,使得存儲技術也面臨著嚴峻的挑戰。在云數據中心中,通過集群應用、網格技術以及分布式文件系統等技術將網絡中大量不同類型的存儲設備通過軟件匯集起來協同工作,共同提供數據存儲和業務訪問功能。隨著存儲技術的發展,基于 SSD 存儲介質的存儲節點在云數據中心得到更為
76、廣泛的部署。相較于傳統的存儲介質而言,遵循NVMe 規范的 SSD 產品在 IO 性能和節能方面具有明顯的優勢。計算和存儲的解耦,也要求采用新的存儲傳輸協議,NVMe-oF、RDMA 就是其中的典型代表。4.1.2.1 NVMe-oF 存儲協議的卸載 2016 年 6 月,NVMe-oF(NVMe over Fabric)規范發布了 1.0 版本,將 NVMe 技術擴展到了 PCIe 之外的傳輸方式,例如:以太網、光纖通道、InfiniBand。后續的版本進一步豐富了 NVMe-oF 的功能和特性。在 NVMe-oF 技術的支撐下,可以通過網絡將計算節點和存儲節點進行對接,實現高性能的遠程 I
77、/O 存取操作。NVMe-oF 技術解決了性能瓶頸問題,也可以滿足分布式、高可用的橫向擴展需求。NVMe-oF 是一個統稱,其中的“F”實際上包括 3 類傳輸方式,分別為 FC、RDMA 和TCP,其中的 RDMA 又分為 3 種類型,即前文所述的 InfiniBand RDMA、RoCE 和 iWARP。其中,RoCE 和 iWarp 方式采用了以太網作為承載網絡,因此通用性較強,部署成本和維護成本較低。NVMe-oF/TCP 使用了極其成熟的 TCP 協議作為傳輸協議,和 TCP/IP 網絡之間具有良好的互操作性,缺點是性能和 RDMA 傳輸方式存在一定的差距。對于性能要求不是太高的場景,
78、可以考慮 NVMe-oF/TCP 方式。采用 DPU 層級 1 的通用可編程和層級 3 的領域可編程特性,可以對 NVMe-oF 相關的存儲協議各個方面進行卸載和硬件加速,例如:在 target 端,DPU 可以對 NVMe、RDMA、TCP 等協議進行硬化實現,通過這種方式在存儲節點上提升存儲介質的 IO 性能 在 initiator 端,除了 NVMe 和傳輸協議的硬件化之外,DPU 卡還可以通過 PCIe 云計算通用可編程 DPU 發展白皮書(2023 年)32 P2P 機制在網絡接口和其他 PCIe 設備之間構建快速通道,實現對存取操作的進一步加速。舉例來講,Nvidia的GPU Di
79、rect Storage 技術使得GPU能夠繞過CPU,直接通過網絡訪問遠端的存儲介質GPU Direct Storage 技術依賴于 RDMA。4.1.2.2 存儲接口的硬件加速 DPU 可以向主機側呈現 virtio-blk 存儲接口或者 NVMe 存儲接口。在主機側來看,DPU 提供了若干數量的 virtio-blk 磁盤或者 NVMe 磁盤。和 virtio-net 虛擬化接口類似,DPU 可以將 virtio-blk 接口硬件化。由于計算節點已經普遍支持 virtio-blk 接口,無需使用其他專用驅動,DPU 能夠和主機側 VM 實現無縫對接。這樣可以提升存儲 I/O 的性能,同時
80、顯著降低主機 CPU 資源的開銷。NVMe 接口的硬件加速,也是類似的情況。在 DPU 上,virtio-blk 或者 NVMe 接口通過 SPDK 和遠端的存儲節點進行對接,也可以直接對接 DPU 上的存儲設備。4.1.2.3 存儲應用的卸載 SPDK 是由 Intel 發起的,用于加速 NVMe SSD 作為后端存儲使用的應用軟件加速庫。SPDK 的應用并非僅限于 NVMe,也可以和其他存儲方案對接。目前看來,SPDK 并不是一個通用的適配解決方案。SPDK 使用了輪詢式的用戶態驅動,現在并沒有基于用戶態驅動的完整 I/O 棧,文件系統就是其中的重要一環,內核態的文件系統并不能直接使用。不
81、過,在云計算場景中,SPDK 可以在多個層面發揮作用,例如:SPDK 可以提供塊設備接口的后端存儲應用,如:NVMe-oF Target、iSCSI Target SPDK 可以對 VM 虛機中的 I/O 進行加速 SPDK 提供了 vhost-blk、vhost-nvme、vhost-scsi Target 等組件。在 QEMU/KVM作為Hypervisor管理虛擬機的場景中,使用vhost協議可以實現對虛擬機中的virtio-blk、Kernel Native NVMe、SCSI 驅動的加速。其主要原理是減少了 VM 中斷等事件的數目(如:中斷、VM_EXIT),并且縮短了 host O
82、S 中的 I/O 棧。借助 DPU 層級 1 的通用可編程能力,可以在 DPU 內部完全繼承 SPDK 的優良特性。云計算通用可編程 DPU 發展白皮書(2023 年)33 原本運行在計算節點上的 SPDK 可以卸載到 DPU 卡上運行。DPU 呈現給主機側的 virtio-blk 或 NVMe 接口,可以和 SPDK 的 vhost 組件對接。SPDK 下層的 NVMe-oF initiator、iSCSI initiator 等組件能夠和遠端的存儲節點建立連接,從而將主機側可見的磁盤關聯到遠端的存儲節點上。4.1.3 Service Mesh 的卸載 2015 年,Pivotal 公司提出
83、了云原生的概念,為云計算注入了新的內涵。之后,云原生計算基金會(CNCF)對云原生的概念進行了修改。云原生最初的定義是“容器化封裝+自動化管理+面向微服務”。2018 年,CNCF 加入了服務網格(Service Mesh)和聲明式 API 的概念。Linkerd 公司的 CEO Willian Morgan 曾經這樣闡述 Service Mesh:Service Mesh是一個致力于解決服務間通信的基礎設施層。構成現代云原生應用的服務有著復雜的拓撲,它負責在這樣的拓撲中進行請求的可靠傳遞。在實踐中,Service Mesh 通常實現為一組輕量級網絡代理,這些代理和應用程序部署在一起,并且對應
84、用程序透明。Service Mesh 的提出與云原生應用程序的大規模普及有關。在云原生模型中,單個應用程序可能包含數百個服務,每個服務又可能包含數千個實例,而且這些實例中的每一個都可能處于不斷變化的狀態,因為它們是由 Kubernetes 之類的服務編排程序動態調度的。服務之間的通信不僅極其復雜,而且是運行時環境中一個基本的組成部分,管理好它對于確保端到端的性能和可靠性是至關重要的。Service Mesh 通常被比作應用程序或者微服務間的 TCP/IP,負責服務之間的網絡調用、限流、熔斷和監控。使用 Service Mesh 的情況下,應用程序無需關心服務之間那些通過應用程序或者其他框架實現
85、的事情,這些事情交給 Service Mesh 就可以了。應用程序或者服務只需要關注一個目標“從 A 到 B 發送一些數據”,而 Service Mesh 的職責和TCP/IP 一樣,就是在這個數據的發送過程中解決故障并圓滿完成數據傳送任務。Service Mesh 的部署方式如下圖所示,以 Sidecar 模式部署的 Service Mesh 控制了服務之間的流量。云計算通用可編程 DPU 發展白皮書(2023 年)34 圖 20 Service Mesh 部署方式2 從全局視角看,Service Mesh 的控制平面表現為下圖所示的集群結構:圖 21 Service Mesh 集群結構3
86、總體來講,Sidecar 模式將應用程序的組件部署到單獨的進程或容器中,以提供隔離和封裝。Sidecar 與父應用程序具有相同的生命周期:與父應用程序一起創建,一起停用。目前,Service Mesh 的開源解決方案主要有:Buoyant公司推出的Linkerd、Google、IBM 和 Lyft 等公司牽頭的 Istio。Linkerd 更加成熟穩定些,Istio 功能更加豐富、設計上更為強大,社區相對也更加強大一些。Service Mesh 組件通常以代理模式運行,對來自服務的請求進行決策和轉發。這在一 2 https:/ 3 https:/ 云計算通用可編程 DPU 發展白皮書(2023
87、 年)35 定程度上會增加系統資源的開銷,也會降低通信系統的性能。DPU 層級 1 的通用可編程特性,提供了將 Service Mesh 組件卸載到 DPU 中的可行方案。通用 DPU 進行統一的管理,不僅可以降低主機側系統資源的開銷,同時實現了和業務負載的隔離。相關組件卸載到 DPU之后,也可以更方便地利用 DPU 層級 3 的領域可編程特性,直接使用 DPU 中的硬件加速資源。4.2 統一的存儲 存儲的連接方式有服務器內置存儲、DAS 存儲(Direct Attached Storage,直接附加存儲)、SAN 存儲(Storage Area Network,存儲區域網絡)。存儲的協議有本
88、地協議(AHCI、SCSI、NVMe 等),網絡存儲協議(iSCSI、iSER、NVMe-oF RDMA、NVMe-oF TCP 等)。存儲的部署方式又分為集中式部署和分布式部署。服務器上掛載的存儲設備可能是本地的,也可能是遠端的;可能是通過 iSCSI 連接的,也可能是 NVMe-oF RDMA 連接的;可能對應遠端的一個邏輯盤,也可能是分布式存儲分配的一個塊設備;可能是單一類型的,更一般的情況是多種類型并存,這使得存儲設備的使用和維護變得復雜和困難。為了支持遠端存儲協議、本地存儲盤的虛擬化、分布式存儲客戶端等,會消耗寶貴的服務器計算資源。通過DPU卸載存儲,可以對服務器提供統一的存儲設備。
89、如下圖所示,DPU通過SRIOV技術,對服務器呈現虛擬的 virtio-blk,虛擬的 NVMe 等 PCIe 存儲設備,服務器側只需要支持標準的 virtio-blk 驅動或標準的 NVMe 驅動。這樣做的優勢是:可以同時支持裸金屬、虛機和容器場景 支持當前主流操作系統,無需額外安裝驅動,對主機和虛機的操作系統沒有特殊要求 DPU 卸載了原有的 HOST CPU 的存儲負載,釋放 HOST CPU 的計算資源 存儲由 DPU 統一管控和運維 DPU 提供硬件級別的 QoS 服務 虛機遷移更簡單 云計算通用可編程 DPU 發展白皮書(2023 年)36 圖 22 DPU 對服務器提供統一的存儲
90、設備 DPU 前端對服務器呈現統一的存儲設備,DPU 后端可以支持多種存儲形式,如圖 23,圖 24,圖 25,圖 26 所示。DPU 通過網絡存儲協議(如 iSCSI,iSER,NVMe-oF TCP,NVMe-oF RDMA 等等)連接遠端的存儲設備。DPU 的低時延網絡特性,繼承了 RDMA 的低延時、內核旁路、零拷貝、CPU 卸載等技術優勢,使得可以在單一的 DPU 這個點上實現對存儲的統一管理和應用的強大支撐。RDMA 配合 NVMe 盤,可以提供高性能的遠端存儲。值得一提的一點,DPU內部集成了 CPU 和可編程的轉發引擎(DPU 層級化可編程特性),使得用戶可以定制或者自己開發存
91、儲協議。圖 23 DPU 連接遠端存儲 云計算通用可編程 DPU 發展白皮書(2023 年)37 出于對性能、分布式存儲、本地啟動等因素的考慮,服務器有本地盤的需求。如下圖所示,DPU 可以下掛本地存儲盤,對上統一呈現虛擬的存儲盤。如果存儲盤直接掛在 HOST上,存在著不支持帶外管控,軟件虛擬化存儲盤的性能差、CPU 負載重,無法支持硬件級別的 QoS 等問題。圖 24 DPU 連接本地存儲 如下圖所示,DPU 可以作為分布式存儲集群(如 Ceph 存儲)的客戶端節點,對HOST 呈現虛擬的存儲設備,使 HOST 不感知后端存儲的實現。圖 25 DPU 作為分布式存儲集群的客戶端 如下圖所示,
92、對于虛擬存儲設備,DPU 還可以提供基于設備層面的數據加解密、數據云計算通用可編程 DPU 發展白皮書(2023 年)38 完整性校驗、數據壓縮和解壓縮等存儲功能。DPU 內置了硬件卸載引擎,可以在實現上述功能的同時,不損失存儲的性能。圖 26 DPU 的存儲功能 綜上所述,在存儲領域,借助 DPU 的核心特性,可以為裸金屬、虛機和容器提供統一的 SRIOV 形式的虛擬存儲設備,同時也向主機(HOST)端屏蔽了后端存儲形態的差異。DPU 不僅提供了針對不同存儲系統形態的統一管控,還可以提供豐富的存儲硬件加速功能,釋放了服務器的 CPU 算力。4.3 5G/UPF 卸載 4.3.1 UPF 簡介
93、 UPF 作為 5GC(5G 核心網)用戶面網元,主要支持 UE 業務數據的路由和轉發、數據和業務識別、動作和策略執行等。UP 通過 N4 接口與會話管理功能(SMF,Session Management Function)進行交互,直接受 SMF 控制和管理,依據 SMF 下發的各種策略執行業務流的處理。主要功能如下包括:無線接入網絡與數據網絡(DN,Data Network)之間的互聯點,用于用戶面的 GTP隧道協議(GTP-U,GPRS Tunneling Protocol for User Plane)的封裝和解封裝 協議數據單元會話錨點(PSA,PDU Session Anchor)
94、,用于在無線接入時的提供移動性 5G SA 數據包的路由和本地分流,作為中繼 UPF(I-UPF,Intermediate UPF)充云計算通用可編程 DPU 發展白皮書(2023 年)39 當上行分類器(UL-CL,Uplink Classifier)或者分支節點 UPF(Branching Point UPF)應用程序監測 數據流 QoS 處理 流量使用情況報告 IP 管理 移動性適配 策略控制 計費 圖 27 5GC 網絡架構4 UPF 作為移動絡和數據絡(DN,Data Network)的連接點,重要接包括 N3、N4、N6、N9 等。以 N 開頭是 UPF 與 5G 核控制元或者外部
95、絡交互的接。N3 接是 NG RAN 與 UPF 間的接,采GTP-U 協議進戶數據的隧道傳輸。N4 接是 SMF 和 UPF 之間的接,控制于傳輸節點消息和會話消息,采PFCP 協議,戶于傳輸 SMF 需要通過 UPF 接收或發送的報,采GTP-U 協議。N6 接是 UPF 和外部 DN 之間的接,在特定場景下(例如企業專MEC 訪問),N6 接要求持專線或 L2/L3 層隧道,可基于 IP 與 DN絡通信。N9 接是 UPF 之間的接,在移動場景下,UE 與 PSA UPF 之間插I-UPF 進流量轉發,兩個 UPF 之間使GTP-U 協議進戶 4 3GPP TS 23.501 V16.3
96、.0(2019-12)技術規范 section 4.2.3 云計算通用可編程 DPU 發展白皮書(2023 年)40 報的傳輸。圖 28 UPF 報文處理流程 UPF 通過 N4 參考點從 SMF 接收用戶面規則,并最終根據規則實現數據分流。N4 采用了 PFCP(Packet Forwarding Control Protocol,報文轉發控制協議)。外部可以使用 UPF 建立的 PFCP Session 來識別(PDRs,Packet Detection Rules,數據包發現規則)、轉發(FARs,Forwarding Action Rules)、處理(BARs,Buffering Ac
97、tion Rules)、標記(QERs,QoS Enforcement Rules)、報告(URRs,Usage Reporting Rules)數據包。4.3.2 UPF 卸載和加速 當前業界 5G UPF 多采用如下圖所示方案:圖 29 UPF 卸載和加速5 5 摘抄自通信電源技術5G 核心網 UPF 硬件加速技術分析 UPF 業務卸載到硬件加速卡后的處理流程 云計算通用可編程 DPU 發展白皮書(2023 年)41 這種基于通用 CPU 的數據面處理方案,在受多線程同步、cache miss 等影響下,時延抖動和最大速率很難得到保證。在越來越大的流量下,該方案到了性能瓶頸期。面對這種復雜
98、情況,將 UPF 拆分為 UPF-C(控制面)和 UPF-U(用戶數據面)兩部分,并將用戶數據面完全卸載到 DPU。由于 UPF-U 的數據量遠大于 UPF-C 的數據量,因此DPU 將 UPF-U 數據卸載后可以節省 Host 大量處理 UPF-U 報文的 CPU 資源,同時 DPU可借助內置的各種硬件加速引擎,保證 QoS、時延和帶寬,從而滿足 UPF 的業務需求。圖 30 卸載 UPF-U 到 DPU DPU 實現 UPF 加速的兩種方式:圖 31 UPF 加速 DPU 直接將設備透傳給 UPF,UPF 通過向該設備下發 rte_flow 規則實現 UPF-U的 Hardware Off
99、load 云計算通用可編程 DPU 發展白皮書(2023 年)42 SDN 實現 UPF 功能的端口,相關 VNF 實例只需要使用該端口,即可實現 UPF 功能,此時通過SDN controller 下發rte_flow,完成UPF-U的 Hardware Offload。4.3.3 UPF DPU 管控方案 圖 32 基于 DPU 的 UPF 管控 UPF 要求基于實際業務需求進行自動部署、彈性伸縮、故障隔離和自愈等,因此,DPU 不僅可以對 UPF 報文進行加速和硬件卸載,還可以借助 DPU 層級 1 的通用可編程能力,支持對 UPF 開放自動化管控接口的實現和卸載,同時方便 UPF 做裸
100、金屬、虛擬機及容器自動化統一運維。4.4 零侵入管控 管控平臺在數據中心中發揮著重要的作用,管控平臺的架構和性能直接影響著數據中心對外提供服務的能力,影響著數據中心的運維效率和成本。高效可靠運行的數據中心是數字云計算通用可編程 DPU 發展白皮書(2023 年)43 經濟核心競爭力的體現,現在的云數據中心存在著諸多的挑戰,例如:超大的系統規模,數十萬臺以上,動態的資源管理 靈活多變的異構資源配置,包含軟件硬件的持續更新迭代 開放的混合應用場景,數據中心需要應對多樣的種類和模式各不相同的應用 現實中,面對這些挑戰,數據中心的傳統管控平臺為了滿足實際應用的需要,不僅要管理多種不同種類的 SDN 交
101、換機,也需要將管控軟件運行和部署在不同的主機側、不同的 OS上。隨著數據中心規模、異構資源、混合應用場景的不斷擴展,運維的復雜度、新業務上線的時間和難度以及開發運維的成本都迅速攀升?;?DPU 的零侵入管控,可以有效解決上述痛點和難題。如下圖左邊部分所示,傳統的數據中心管控系統中,無論數據中心采用開源的軟件組件還是非開源的軟件組件,這些組件都必須運行和部署在服務器的 HOST 端,勢必侵入到租戶的生產環境中。不僅與租戶環境耦合增加了復雜度,也帶來了安全的風險。IaaS管控中心Openstack管控節點SDN管控節點VMs.vSwitch虛機服務器NICOpenstackAgentVMsOpe
102、nstackAgentVXLAN VtepOpentackStorage AgentBare-metal服務器NICVXLAN VtepIaaS管控中心Openstack管控節點SDN管控節點VMs.虛機服務器DPUvSwitchOpenstackAgent VXLAN VMsVXLAN VtepBare-metal服務器DPUvSwitchOpenstackStorage AgentVXLAN Vtep 圖 33 基于 DPU 的零入侵管控 上圖右邊部分是基于 DPU 層級 1 的通用可編程特性實現的零入侵管控方案架構,可以看到所有的原本占用主機 HOST 資源的管控組件都遷移到 DPU 中
103、進行統一的實現和維護,數據中心中所有的 CPU 算力資源,無論是虛機還是裸金屬都完全釋放出來提供給終端用戶。不但增加了數據中心的經濟效益,也簡化了 IaaS 管控系統維護難度。DPU 與 HOST 之間可以實現解耦,獨立進行維護和升級。云計算通用可編程 DPU 發展白皮書(2023 年)44 4.5 零信任安全 隨著網絡技術的不斷發展,對于網絡安全的要求越來越強烈,現代的面向完全零信任的網絡環境是數據中心持續良性發展的重要保障。DPU 的體系架構提供了從硬件到軟件各個層次的安全保障?;谛湃胃陌踩珕?,可編程實現的分布式防火墻、數據傳輸安全、數據安全存儲等促進了零信任技術的應用和發展。4.5
104、.1 基于信任根的安全啟動 DPU 芯片的安全啟動是確保系統安全運行的基礎。DPU 采用基于數字簽名的可信根方式確保啟動固件的安全性、完整性。DPU 中的一次性非易失存儲區中存放公鑰,該區域一次燒結后,不能再被更改,該公鑰作為 DPU 安全啟動的可信根計算基礎。在 DPU 固件發布時,將采用數字簽名系統的私鑰進行加密。私鑰為簽名系統保留,不被外泄。當 DPU安全啟動時,將采用逐級驗簽的方式,確保系統固件的安全性、可靠性。圖 34 安全啟動流程 安全啟動采用逐級驗證的方式,由上一級驗證下一級的安全性,一旦下一級發生篡改或破壞,則啟動過程終止。在實現方案中,默認第一級啟動是可信的(被稱為可信根);
105、當設備上電時,可信根啟動,并驗證 BOOT 的安全性;BOOT 驗證通過后,BOOT 開始啟動,并驗證操作系統 OS 的安全性;OS 驗證通過后,OS 開始啟動,并驗證 APP(應用程序)的安全性,最終整個系統實現安全啟動。云計算通用可編程 DPU 發展白皮書(2023 年)45 4.5.2 分布式可編程防火墻 防火墻是現代數據中心網絡和企業網絡的重要安全設備之一,作為網絡入口,能夠有效地防御常見的網絡攻擊。防火墻通過配置安全規則實現對特定服務的流量放行及對非法流量的阻攔。隨著云計算業務的繁榮發展,傳統的硬件防火墻無法滿足云計算數據中心內部基礎設施的彈性伸縮能力的要求,進而衍生出虛擬防火墻,通
106、過對防火墻虛擬化,實現按需的部署和刪除,滿足不同租戶流量的安全防護需要。數據中心防火墻有兩種類型:分布式或基于邊界。傳統上,數據中心使用邊界防火墻作為安全層(或虛擬防御墻)來保護其內部資產免受南北向流量中惡意行為者的侵害。在分布式網絡內部,存在大量不同的租戶,業務流量交互更加復雜,這就引入了更精細的分布式防火墻,可以監控和保護東西流量。云安全管理中心VM容器應用VMHOST 1容器應用HOST 3VMVMHOST 2防火墻v-Switch防火墻v-Switch防火墻v-SwitchPoliciesPoliciesPoliciesDPU1DPU2DPU3 圖 35 數據中心分布式虛擬防火墻 在
107、HOST 主機的 DPU 子卡上部署虛擬防火墻,該防火墻接收來自云安全中心下發的安全策略。當虛擬機或容器發送流量或接收流量時,都需要先經過防火墻處理,從而有效地保護虛擬機或容器應用的安全運行,也能有效屏蔽惡意虛機發送病毒或攻擊流量。云計算通用可編程 DPU 發展白皮書(2023 年)46 DPU 支持租戶定義自身的防火墻過濾規則,并通過編程方式下發給 DPU,從而實現靈活的防火墻過濾規則和策略,對具有特殊特征的報文進行過濾。數據中心防火墻為租戶提供以下優勢:能夠定義防火墻規則來幫助保護網絡上面向 Internet 的工作負載和內部工作負載 能夠定義防火墻規則來幫助保護同一子網上的 VM 之間的
108、流量,以及不同子網上的 VM 之間的流量 能夠定義防火墻規則來幫助保護和隔離租戶本地網絡與服務提供商的虛擬網絡之間的網絡流量。4.5.3 數據安全傳輸 在數據中心服務器之間傳輸的網絡流量稱為東西走向的流量。數據中心約 80%的流量為數據中心內部的流量。東西走向數據流量的激增,主要來自兩個方面的數據交換:(1)越來越多的高價值應用程序被托管在數據中心;(2)以前原本存儲在企業內部網絡上孤立的敏感數據信息。東西走向數據流量在數據中心中越來越重要,因此使得這類流量更需要受到更好的保護。4.5.3.1 虛擬機數據傳輸加密 在數據中心服務器中經常部署了大量的 VM 供租戶使用,VM 和 VM 之間可能存
109、在大量的數據傳輸,為了避免在數據傳輸時被監聽和竊取,需要采用加密技術對傳輸數據進行安全防護。數據中心為租戶提供了各種數據加密傳輸技術,比較常見的有 IPSec VPN,該傳輸方式采用了非對稱加密方式,非對稱方式規定了密鑰需要有一對兒,一個公鑰(Public Key)和一個私鑰(Private Key/Security Key)。如果用公鑰加密信息,就需要用相同配對的私鑰才能解密,反之亦然。非對稱方式的特點是數據傳輸的可靠性和完整性都得到了保證。同時IPSEC VPN 還支持數字證書認證,支持傳輸雙方完成身份認證,大大提升了數據傳輸的安全性。云計算通用可編程 DPU 發展白皮書(2023 年)4
110、7 HOST 1網絡加速引擎DPU 1IPSec IKE 加密數協商IPSec 加密數據傳輸VMVMIPSec控制模塊網絡加速引擎DPU 2IPSec控制模塊HOST 2VMVM 圖 36 虛擬機加密傳輸 在 HOST 主機上部署 DPU 子卡,DPU 子卡識別 VM 機發來流量,觸發 IPSEC IKE 協議和目的端 DPU 子卡進行協商,完成身份認證和加密參數協商,隧道建立。當加密隧道完成建立后,將數據加密并傳遞給網絡加速引擎發給目的端 DPU。目的端 DPU 收到 IPSEC 數據報文后,完成數據解密,并投遞給目的 VM,從而完成了數據加密傳輸流程。4.5.3.2 RPC 調用數據傳輸加
111、密 隨著云原生理念的普及,更多的組織開始使用容器技術來重構業務統從傳統單體式(Monolithic)應用轉向微服務架構(Microservices)應用。微服務通過對復雜系統進行拆分,使其變成多個易于開發和維護的小服務單元,每個服務保持自身的開發和部署節奏,從而實現業務的敏捷性。然而,單體式應用拆分成微服務后也隨之帶來諸多挑戰。從安全角度看,對于包含敏感數據的容器化業務,如包含個人信息的電子銀行應用,需要考慮如何安全地與集群內其他服務進行通信。容器業務之間的通訊往往采用遠程過程調用的方式(RPC)進行通訊。容器業務若通過 Http 或者其他不安全的協議進行通信,則會導致傳輸數據極易被攔截和竊取
112、,因此通常選擇基于 TLS 協議的 HTTP,HTTP2 協議進行傳輸。云計算通用可編程 DPU 發展白皮書(2023 年)48 TLS 協議的優勢是與高層的應用層協議(如 HTTP、FTP、Telnet 等)無耦合。應用層協議能透明地運行在 TLS 協議之上,由 TLS 協議進行創建加密通道需要的協商和認證。應用層協議傳送的數據在通過 TLS 協議時都會被加密,從而保證通信的私密性。HOST 1網絡加速引擎DPU 1TLS handshake加密數協商TLS Record 加密數據傳輸MicroServiceDockerMicroServiceDockerTLS控制模塊HOST 2Micro
113、ServiceDockerMicroServiceDocker網絡加速引擎DPU 2TLS控制模塊 圖 37 RPC 加密調用 在 HOST 主機上部署 DPU 子卡,DPU 子卡識別容器發來的 RPC 調用需要 TLS 加密,則觸發 TLS handshake 協議和目的端 DPU 子卡進行協商,完成身份認證和加密參數協商。當加密參數協商完成后,將數據加密并傳遞給網絡加速引擎并發給目的端DPU。目的端DPU收到 TLS 加密后的數據報文后,完成數據解密,并投遞給目的容器,從而完成了 RPC 數據加密傳輸流程。4.5.4 數據安全存儲 云存儲提供商不僅確保數據的完整性和可用性,還確保其機密性。
114、也就是說,即使在網絡攻擊者獲得組織憑據的訪問權限的情況下,其數據仍然被加密,網絡攻擊者無法破解這些數據,此時就需要給客戶保存在云盤中的數據提供加密選項。對于授權客戶可以正常訪問云盤數據,對于其他客戶則不可見,同時需要確??蛻糇x寫數據的速率,避免因為加密和解密操作給客戶帶來不好的體驗。云計算通用可編程 DPU 發展白皮書(2023 年)49 VMHOST存儲加密引擎VM存儲控制協議存儲資源池DPUvdisk存儲數據傳輸網絡加速引擎 圖 38 數據安全存儲 在 HOST 主機上部署 DPU 子卡,云服務運營商可以根據虛擬機租戶要求在 DPU 子卡上的“存儲加密引擎”設置加密密鑰,并選擇加密算法。當
115、 DPU 子卡識別虛擬機租戶發來訪問遠端云盤的寫請求時,存儲加密引擎會自動根據設定的加密算法和密鑰加密云盤數據,并通過網絡加速引擎發給遠端云盤。當虛擬機 VM 租戶發起遠端云盤的讀操作時,DPU 子卡的“存儲加密引擎”從“網絡加速引擎”接收到來自遠端云盤的加密數據后,會自動根據加密算法和密鑰解密數據,并投遞給租戶的虛擬機 VM,從而虛擬機租戶完成讀數據操作。綜上,在零信任安全的應用領域中,借助 DPU 的層級化可編程特性和 DPU 的加速引擎,針對基于信任根的安全啟動,可編程實現的分布式防火墻、數據傳輸安全、數據安全存儲等等的應用,不僅實現了功能的卸載,也實現了在 DPU 中的統一管理,為零信
116、任安全在數據中心中的發展奠定了基礎。4.6 ChatGPT 訓練加速 2022 年末以來,隨著 ChatGPT 的發布,繼 AlphaGo 之后,又一次掀起了大家對 AI或者 AGI(Artificial General Intelligence)發展的討論熱潮。近年來,人工智能與深度學習都在朝著大規模和超大規模模型發展,ChatGPT 就是最好的例證,ChatGPT 是基于 GPT-3發展而來,GPT系列自然語言處理模型的參數規模從GPT-1的1.17億迅速發展到了GPT-3 的 1750 億個,需要的預訓練數據量也從最初的 5GB 發展到 45TB。面對如此龐大的模型云計算通用可編程 DP
117、U 發展白皮書(2023 年)50 和數據規模,如何提高模型的訓練速度是至關重要的問題?;?GPT-3 這種擁有 1750 億參數規模的模型來說,如果以單個 Nvidia GPU V100 來訓練 GPT-3 模型大概要數百年。ChatGPT 相較于 GPT-3 擁有更加龐大的規模,消耗的時間和能耗將是巨大的。那么,為了實現大語言模型訓練,底層的哪些技術在支撐著 LLM 的應用和實踐呢?答案就是分布式并行計算,它是當今最為有效的方式。我們可以通過橫向擴展計算節點(CPU/GPU 計算服務器)的數量把一個巨量的計算任務分解成許多小的計算任務,然后分發到多個計算節點進行并行處理。進一步的討論分布
118、式并行計算,最核心的問題就是如何經濟高效地實現高性能計算(HPC High Performance Computing)服務。對于大語言模型訓練這樣的應用場景,即使在單一的超算中心來搭建滿足大語言模型訓練的算力資源部署,也不能滿足未來模型規模擴展帶來的算力需求。因此,以云為基礎的數據中心 HPC 部署和運行是未來可行的應用形態。DPU 將傳統的云計算環境轉變為加速、節能、安全的基礎設施,滿足處理器生成式 AI 所需的苛刻工作負載。圖 39 HPC 部署模式 基于 DPU 的架構和特性,尤其是 DPU 構建低時延網絡的特性,使得 DPU 可以發揮算力資源和網絡資源的管理能力,實現對分布式平行計算
119、的優化。在硬件層面,基于 RDMA硬件卸載和加速能力,提供低時延數據傳遞,降低在訓練過程中數據分發和計算結果交換帶來的網絡時延。在軟件側面,如下圖所示,在 AI/LLM 模型的訓練過程中,底層一系列的軟件棧支撐著上層應用的運行,DPU 可以針對分布式計算的通訊棧進行卸載,實現對整體 AI訓練過程的加速。云計算通用可編程 DPU 發展白皮書(2023 年)51 圖 40 DPU 卸載分布式通訊棧 縱觀上述針對數據中心典型應用場景的分析,我們可以看到盡管數據中心要面對的應用場景是復雜多變的,但是 CPU、GPU、DPU 在數據中心架構中各司其職,為了能夠應對這種靈活多變和可擴展性的要求,就需要 D
120、PU 發揮出通用數據處理單元的作用,支持CPU/GPU 聚焦在各自的優勢領域。具備層級化可編程,低時延網絡特性,統一資源管控能力的通用 DPU 是支持從傳統數據中心向下一代數據中心演進的重要技術支撐。云計算通用可編程 DPU 發展白皮書(2023 年)52 5.DPU 行業發展展望 5.1 國內外 DPU 發展格局 5.1.1 技術路徑 通用 DPU 為云計算、5G、AI、自動駕駛等新興產業帶來的創新與機遇,吸引了國際云計算服務商和芯片廠商紛紛入局,全球 DPU 市場掀起了前所未有的熱浪。目前,市場上 DPU 主流的技術路徑為基于 FPGA 的方案與 DPU SoC 方案?;?FPGA 的
121、DPU 產品在研發投入上擁有一定的時間優勢,但吞吐量、功耗會受到限制。另外,FPGA 高昂的價格也直接導致了產品成本居高不下,影響市場競爭力 DPU SoC 的產品是前者迭代的終極形態,具備先進的芯片工藝和超高的研發設計技術,通用可編程等特性能夠滿足更復雜、更廣泛的應用需求 相比于 FPGA 架構,DPU SoC 凸顯出更多的優勢:(1)強大的性能表現,突破 FPGA性能瓶頸;(2)高吞吐低功耗,優異的能效比;(3)生產成本低,更具銷售競爭力;(4)覆蓋更加寬廣的應用場景,貼合通用 DPU 的定義。盡管 DPU SoC 的優點人盡皆知,但是作為 DPU 產品化路徑的最佳形態,研發 DPU So
122、C 也絕非易事。具有豐富經驗的云計算、芯片設計、軟件人才和穩定的上游供應鏈等都是必不可少的條件。目前,國外芯片巨頭和頭部云服務商無一例外地選擇了通用 DPU SoC 的產品路線。我國云廠商也正在尋求從 FPGA 架構到通用可編程 DPU SoC 演變的技術方案。5.1.2 商業化布局 亞馬遜云不僅占據全球云計算市場最高份額,而且最先實現了 DPU 商業化的成功部署。以 DPU 在亞馬遜云中的應用收益為例:一臺服務器,每年可以多獲得幾千美元的收益。DPU云計算通用可編程 DPU 發展白皮書(2023 年)53 在亞馬遜云中的成功應用,受到業內廣泛關注,并吸引了越來越多的國際設備廠商涌入 DPU賽
123、道。Nvidia于2020年以69億美元成功收購了業內知名網絡芯片和設備公司Mellanox,通過融合 Mellanox 的網絡技術,快速面向全球數據中心市場推出 BlueField 系列的 DPU SoC。AMD 于 2022 年以 19 億美元收購了 DPU SoC 廠商 Pensando。國外芯片巨頭通過商業收購,將現有產品線與新納入的 DPU 產品線結合,形成產業鏈與市場銷售面的雙向互補。國內的云廠商和幾家初創公司也紛紛規劃出各自商業化 DPU 產品路線,將商業版圖鎖定在國內市場。面對國內復雜多變的應用場景,專用加速卡在細分市場的局限性日益凸顯,而通用可編程 DPU 的易用性顯著提升了
124、產品在市場中的拓展能力。通用 DPU 廠商已經在數據中心、運營商、異構計算、傳統金融/教育/醫療等眾多市場展開合作。如今通用可編程DPU SoC 已成為國內市場翹首以盼的產品。5.1.3 長期戰略規劃 生成式人工智能、數據科學、元宇宙、自動駕駛等應用的快速發展正在推動著數據中心的技術發展和革新。DPU 需要為大規模的云計算、人工智能和高性能計算的應用提供基礎設施層的服務,以滿足數據中心的規模、性能、彈性、租戶數據和計算安全的快速發展要求和低功耗要求。DPU 將全面卸載基礎設施層(IaaS),提供各種應用領域的硬件加速,協同實現多租戶的數據和計算安全。幫助云計算突破 IO 的限制,將不同的分離的
125、芯片聚合起來,為計算抽象出一個超級的計算平臺,突破 Server 或 Rack 級別的限制。為應用,比如 ChatGPT 這樣的超大模型的訓練和推理應用提供更易用、更高效能、更安全的計算平臺。DPU 仍將沿著軟件定義芯片的架構發展,并將呈現以下趨勢:1.基礎設施層 IaaS 全面卸載?;A設施層在云計算中云服務提供商域,實現全面卸載到 DPU 上,從而實現租戶域與云服務提供商域的物理隔離,為二者的解耦和安全提供了更好的平臺。目前 IaaS 層在網絡和存儲有著全面的卸載,但在計算管理上還做不到,隨著 CXL 技術發展將會推動 IaaS 在計算管理上的卸載。云計算通用可編程 DPU 發展白皮書(2
126、023 年)54 2.多領域的硬件加速。包括網絡相關的可編程網絡處理器,AI 和高性能計算相關的低時延 RDMA 技術、DDP 數據直通技術以及在向量數據庫、大數據 Spark 等應用領域的硬件加速。這些領域的硬件加速技術要考慮可編程性和硬件加速的平衡和融合,也要考慮軟件易用性以及相應的生態,在云計算中還要考慮數據和計算安全性。3.數據和計算安全。在計算安全上,無論是 Intel、AMD 還是 Arm 的 CPU 都在不斷發展和完善,但是未來以異構計算為核心的數據中心,保護租戶的數據和計算始終還是個難題。DPU 作為異構計算的數據通信的核心,既要保證通信的性能,還要做相應的硬件加速,如何在保證
127、其性能的前提下,提供數據和計算安全的保障,是個挑戰。我們看到 Nvidia 在 CPU+GPU 的異構計算上做了初步的機密計算的工作,云豹智能也在其 DPU 上做了機密計算的解決方案。4.互聯技術的發展?;ヂ摷夹g涉及芯片內多個 Die 之間的互聯(比如 UCIe),芯片之間的互聯(比如 CXL),Server 之間的互聯以及 Rack 之間的互聯(比如 RDMA)。這些相應的技術在近年迅速發展,未來幾年將不斷突破和完善,必將影響以 CPU、GPU、DPU 為主體,以異構計算為核心的數據中心的體系架構。在“十四五”規劃明確指出加快推進新型基礎設施建設后,東數西算工程和運營商算力網絡建設如約而至。
128、我國的 DPU 行業背靠中國充足的市場資源,需要把握住行業發展的紅利期,加速推進產品研發。在長期的戰略規劃上,需要不斷提升 DPU 研發實力,提升產品的國際競爭力,將 DPU 帶來的機遇和變革輻射到更多產業。5.2 DPU 在算網融合發展戰略中的價值 國務院印發的關于印發“十四五”數字經濟發展規劃的通知明確指出,加快建設信息網絡基礎設施,推進云網協同和算網融合發展。以建立高效算力為目標,通過“算力”和“網絡”的融合建設,滿足泛在計算和多樣性算力需求,推動算力向全行業覆蓋延伸。算網融合將會成為未來 ICT 行業網絡和算力協同發展的重要抓手,而基于通用 DPU 的云計算通用可編程 DPU 發展白皮
129、書(2023 年)55 信息化基礎設施建設將成為算網融合長期發展的基石。DPU 專注于算力資源的卸載與釋放,為分布式算力構建出彈性資源調度平臺。網絡則是算力服務的底層基礎,DPU 所展現出的低延時、高帶寬、精準網絡流控制、高性能網絡轉發等顯著特性,助力“網絡”+“算力”為云計算、邊緣計算、高性能計算、自動駕駛、人工智能等產業帶來更多創新升級。在當前的數據中心發展中,DPU 的功能和定位越來越明晰,已經從最初簡單的網絡卸載轉變為數據中心架構中的核心部件。DPU 的作用已經成為銜接算力(包括 CPU+GPU)和網絡兩大領域的關鍵節點,通用可編程 DPU 架構是未來數據中心向算網融合演進的重要技術支
130、撐。云計算通用可編程 DPU 發展白皮書(2023 年)56 附錄 插圖目錄 圖 1 NIC 在虛擬化中應用.4 圖 2 SmartNIC 在虛擬化中應用.5 圖 3 DPU 在虛擬化中應用.6 圖 4 AWS Nitro DPU(來源 AWS 官網).7 圖 5 Nvidia BlueField-3 DPU 介紹(來源 Nvidia 官網).8 圖 6 Intel IPU 產品 roadmap(來源 Intel 官網).9 圖 7 云豹智能 DPU SoC 整體架構.11 圖 8 DPU 整體芯片參考架構.13 圖 9 以 DPU 為中心的數據中心網絡架構.14 圖 10 DPU 層級化可編
131、程架構.16 圖 11 性能靈活性權衡曲線.16 圖 12 可編程層級 2-Micro-engine.18 圖 13 可編程層級 3-ASIC-Pipeline.19 圖 14 DPU 統一資源管控.21 圖 15 傳統計算資源管理 vs.DPU 計算資源管理.24 圖 16 網絡資源統一管理.25 圖 17 存儲資源統一管控.26 圖 18 DPU 持續發展的加速卸載.27 圖 19 DPU 卸載 OVS.29 圖 20 Service Mesh 部署方式.34 圖 21 Service Mesh 集群結構.34 圖 22 DPU 對服務器提供統一的存儲設備.36 圖 23 DPU 連接遠端
132、存儲.36 圖 24 DPU 連接本地存儲.37 圖 25 DPU 作為分布式存儲集群的客戶端.37 圖 26 DPU 的存儲功能.38 圖 27 5GC 網絡架構.39 圖 28 UPF 報文處理流程.40 圖 29 UPF 卸載和加速.40 圖 30 卸載 UPF-U 到 DPU.41 圖 31 UPF 加速.41 圖 32 基于 DPU 的 UPF 管控.42 圖 33 基于 DPU 的零入侵管控.43 圖 34 安全啟動流程.44 圖 35 數據中心分布式虛擬防火墻.45 圖 36 虛擬機加密傳輸.47 云計算通用可編程 DPU 發展白皮書(2023 年)57 圖 37 RPC 加密調
133、用.48 圖 38 數據安全存儲.49 圖 39 HPC 部署模式.50 圖 40 DPU 卸載分布式通訊棧.51 術語與縮略語 Term Meaning DPU Data Processing Unit CPU Central Processing Unit GPU Graphics Processing Unit DCQCN Data Center Quantized Congestion Notification DDR Double Data Rate DMA Direct Memory Access ECN Explicit Congestion Notification GRE G
134、eneric Routing Encapsulation GRO Generic Receive Offload GSO Generic Segmentation Offload iWarp Internet Wide Area RDMA Protocol NIC Network Interface Card NVGRE Network Virtualization using Generic Routing Encapsulation OVS Open Virtual Switch P4 P4 is a language for programming the data plane of n
135、etwork devices PF Physical Function QCN Quantized Congestion Notification QM Queue Manager QP Queue Pair RoCE RDMA over Converged Ethernet SoC System on a Chip SR-IOV Single Root-IO virtualization TLP Transaction Level Payload VF Virtual Function VTEP VXLAN Tunnel End Point VXLAN Virtual Extensible LAN RoT Root of Trust DPE Data-plane Processing Engines RPE RDMA Processing Engines VPE Virtio Processing Engines