上海品茶

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

中国移动:云计算通用可编程DPU发展白皮书(2023)(62页).pdf

编号:120882 PDF 62页 2.17MB 下载积分:VIP专享
下载报告请您先登录!

中国移动:云计算通用可编程DPU发展白皮书(2023)(62页).pdf

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 将成为新的算力核心,重新定义算力时代云计算技术新标准,构建算力时代新技术曲线。”面向数据中心基础设施的通用数据处理芯片(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。基于NP/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 发挥更大的效能。总体上 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、的、持续的数据传输流(俗称大象流)和少量的、短时间的数据传输流(俗称老鼠流)的动态感知和动态拥塞控制。总结,通用 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、也就是说,即使在网络攻击者获得组织凭据的访问权限的情况下,其数据仍然被加密,网络攻击者无法破解这些数据,此时就需要给客户保存在云盘中的数据提供加密选项。对于授权客户可以正常访问云盘数据,对于其他客户则不可见,同时需要确保客户读写数据的速率,避免因为加密和解密操作给客户带来不好的体验。云计算通用可编程 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 全面卸载。基础设施层在云计算中云服务提供商域,实现全面卸载到 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.互联技术的发展。互联技术涉及芯片内多个 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

友情提示

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

本文(中国移动:云计算通用可编程DPU发展白皮书(2023)(62页).pdf)为本站 (人生如梦) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

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

专属顾问

商务合作

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

服务号

三个皮匠报告官方公众号

回到顶部