上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

紫金山实验室:未来网络白皮书-SmartNIC&DPU技术白皮书(2022)(147页).pdf

编号:94796 PDF 147页 7.06MB 下载积分:VIP专享
下载报告请您先登录!

紫金山实验室:未来网络白皮书-SmartNIC&DPU技术白皮书(2022)(147页).pdf

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。基础网卡(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 及第三方应用加速。总体而言,基于 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 场景更加匹配。控制密集型编程框架的典型设计有 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 内核传递每个数据包。控制平面与使用标准 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%20202021E2022E2023E2024E2025E020406080020202021E2022E2023E2024E2025E全球DPU市场规模预测市场规模(亿美元)增速(%)单位:亿美元 50 攀升(从 2020 年的 30 亿美元增加到 2025 年内的 136 亿美元,CAGR约 36%,如图 3-1 所示)。中国凭借互联网产业优势,具备良好的智

105、能网卡市场基础。目前中国的智能网卡厂商主要以云厂商和初创企业为主,例如阿里云、百度云、云豹智能、芯启源、大禹智芯、中科驭数等,而电信领域对智能网卡的采用率较低,意味着智能网卡仍有很大的发展空间。整体来看,中国智能网卡市场呈现逐年增长的趋势,行业市场规模预计 2023-2024 年迎来爆性增长,2025 年将达到 40 亿美元(约合人民币 240 亿元),如图 3-2 所示。图 3-2.中国 DPU 市场规模预测。8852733741492%112%196%-6%22%-100%0%100%200%300%400%500%600%05000250030

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 开销,占用磁盘也相对较小的优点。但当用户对容器网络需求不断增长,对容器网络的性能也不断提升。基于软件的容器网络提供丰富的功能与保持优秀的性能产生了冲突,尤其是边缘场景有着更高性能和轻量化的要求。通常情况下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 不仅在生殖健康,肿瘤诊治,药物研发等医疗领域广泛采用,还应用在食品安全,司法鉴定,动植物研究等非医疗领域。基因测序的应用范围能不断扩大,最主要归功于成本的大幅下降。早期只有一代测序技术时,人类

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 核心网的网络处理核心需求。基于沐创智能网卡芯片 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 卸载。基于智能网卡强大的数据包检查和处理功能,将 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 智能网卡平台为应用程序节省了宝贵的计算资源,达到了出色的服务水平和投资回报率。规模化的流量和隧道处理是通用计算网络的基础。芯启源的

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 基础设施,加速企业客户的数字化转型步伐。基于团队在云计算行业的扎实技术积累和对 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 所引入的额外安全问题,则由接口和框架的后台线程保障。框架会在用户使用接口进行内存相关操作时记录内存状态,并结合远端的响应和网卡的状态对相应内存状态进行维护。例如一片内存在被远端写入过程中,本地无法对其进行读写操作,以避免读写冲突问题。在一些特殊情况下,如应用中断 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 所示,当用户发起对远端的读写请求后,接口向框架注册请求相关元数据。框架监听网卡的请求完成消息,并提取完成消息中的元数据,唤醒与之对应的请求任

217、务。图 5-17.异步 RDMA 操作处理逻辑。3)辅助资源管理 122 只将参数的处理过程进行上层封装仍不够,还需要解决资源管理问题。复杂的数据结构背后是各种需要管理的资源,如本地注册的内存和从远端申请的内存,以及它们的状态、权限等。要在远端主机 CPU 不感知的情况下对其内存进行读写,需要双端事先和事后交换元数据用以申请和释放远端资源。即不光要管理本地资源,还要与远端主机协同管理远端资源,相比传统的网络应用开发复杂性更高。Async-rdma 提供了 Verbs API 功能以外面向应用层语义的上层接口,并由后台线程配合接口辅助管理资源,使得建立连接、远端资源协同管理等操作变得简单。在建立

218、连接时,后台会自动运行 Agent 服务线程,其接收到上层接口发出的请求后,通过与远端 Agent 交互进行元数据交换,完成建立连接、远端资源申请释放等操作,如图 5-18 所示。图 5-18.Agent 后台服务示意。借助于Rust的生命周期机制,当本地或远端资源被弃用时,Agent会清理本地资源或自动向远端发送资源释放的请求,开发者无需感知。后台线程还提供了内存超时释放和操作中断时的内存保护等功能。当远端通信状态异常或本机用户态程序与网卡对于同一内存状态视图 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等防护功能指标。开展上述场景测评时,为保证测试的真实有效,需模拟更贴近真实应用场景的业务背景模型。对此,可使用专业化测试仪表进行测试,该类型测试仪表集成有多种协议、应用的复杂流量模型,可模拟出真实的网络行为和协议交互。现阶段测试仪表有两种类型,分别是虚拟

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、网络强国、数字中国”理念,基础设施将面临前所未有的挑战。用户业务领域形态各异、百花齐放、百家争鸣,用户数量、资源规模、性能要求不断增加,对基础设施现有的体系架构产生了强有力的冲击。基础设施面临的规模、性能问题越来越突出,横向扩展除了面临成本问题外,数据中心也将变得越来越拥挤。挑战即机遇,智能网卡(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.

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(紫金山实验室:未来网络白皮书-SmartNIC&DPU技术白皮书(2022)(147页).pdf)为本站 (小时候) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部