- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
专⽤数据处理器 (DPU)技术白皮书
前 言
随着汽车智能化、网联化发展, 汽车电子电气架构从分布式向集 中式演进, 同时智能驾驶需要处理的数据量和算力要求激增, 传统电子控制单元或者单一的控制器已经无法满足要求, 行业呼新一代的计 算平台。作为智能网联汽车的“大脑”, 车载计算平台是新型汽车电 子电气架构的核心, 是支撑自动驾驶落地的关键, 也是新型智能汽车 电子产业竞争的主战场。 当前为车载计算平台发展初期阶段, 产品尚未定型, 产业生态亦在萌芽期。车载计算平台涉及汽车、电子、软件、通信等技术领域的各个环节和主体, 是一项前瞻性、全局性的系统工程, 正在形成新的复杂生态系统。对其认识和理解的差异, 有可能导致技术路线上的分化, 影响互操作性, 增加部署成本。与此同时, 国际国内相关领域技术标准和管理规范尚未建立, 行业发展碎片化, 行业应用存在一定的盲目性, 不利于技术发展和应用落地。基于对车载计算平台的标准化需求的研究, 梳理形成其标准体系, 将对后续标准 化工作进行顶层规划, 有利于推动形成行业共识, 明确标准化工作重点,统筹协调优势资源,加速产业链及生态的建立与完善。
本研究广泛联合整车企业、零部件供应商、自动驾驶解决方案企 业、第三方研究机构, 聚焦车载计算平台, 充分调研国内外车载计算 平台相关技术和典型产品发展现状, 并对硬件技术、软件技术、连接 互通、保障技术等关键技术深入分析, 并在此基础上分析得出车载计算平台的标准化需求,给出相应的下一步标准制定工作的相关建议。
在此衷心感谢参加研究报告编写的各单位、组织及个人。
目 录
前 言…1
1 术语定义及缩略语 …1
1.1 术语与定义 …1
1.1.1 车载计算平台 …1
1.1.2 车控操作系统 …1
1.2 缩略语 …1
2 车载计算平台研究背景 …2
2.1 概述 …2
2.2 研究内容 …3
2.3 研究意义 …3
3 车载计算平台发展情况 …4
3.1 概述 …4
3.2 车载计算平台产品发展情况 …6
3.2.1 国际发展情况 …6
3.2.2 国内发展情况 …13
3.3 车载计算平台相关标准法规现状 …20
4 车载计算平台关键性技术分析 …22
4.1 概述 …22
4.2 车载计算平台硬件技术 …22
4.3 车载计算平台软件技术 …26
4.3 车载计算平台保障技术 …29
4.3.1 车载计算平台信息安全技术 …29
4.3.2 车载计算平台功能安全与预期功能安全技术…41
5 车载计算平台标准化研究 …43
5.1 车载计算平台参考架构标准化 …43
5.2 车载计算平台连接互通标准化 …44
5.2.1 连接器接口标准化 …44
5.2.2 通信网络标准化 …44
5.2.3 逻辑接口标准化 …48
5.3 车载计算平台保障能力要求标准化 …49
5.3.1 信息安全标准化 …49
5.3.2 功能安全与预期功能安全标准化 …50
5.4 车载计算平台性能要求标准化 …54
5.4.1 算力测试方法 …54
5.4.2 功耗测试与能效比 …59
5.4.3 计算性能评测方法 …59
6 车载计算平台标准化建议 …61
6.1 车载计算平台参考架构标准化建议 …64
6.2 车载计算平台信息安全标准化建议 …61
6.3 车载计算平台功能安全标准化建议 …64
6.4 车载计算平台连接互通标准化建议 …64
6.7 车载计算平台性能要求标准化建议 …66
6.6 车载计算平台标准化建议总结 …67
展开查看详情
1 .专⽤数据处理器 (DPU) Technical White Paper of Data Processing Unit 技术⽩⽪书 第1.0版 2021年10月 主编单位 中国科学院计算技术研究所 联合编写发布单位 中科驭数(北京)科技有限公司 计算机体系结构国家重点实验室 中国计算机学会(CCF)集成电路设计专业组
2 . DPU White Paper INTENTIONALLY LEFT BLANK All Rights Reserved 2
3 . DPU White Paper 编委会 顾问:孙凝晖、刘明、李晓维、胡伟武、陈云霁 主编:鄢贵海 编委(按姓⽒拼音排序):崔慧敏、陈岩、陈世敏、樊海爽、孔浩、卢⽂岩、 廖云坤、李明、孙伟、吴婧雅、袁晓飞、赵巍岳、张宇、张宇军 All Rights Reserved 3
4 . DPU White Paper 特别致谢 本白皮书编写过程中还得到了北京市科学技术委员会、中关村科技园区 管理委员会、中国移动物联⽹有限公司、曙光信息产业有限公司、浪潮集团、 龙芯中科、华泰证券、中泰证券、⾦证股份、上交所技术有限公司、英特尔(中 国)有限公司、赛灵思电⼦科技公司、东⽅国信科技股份有限公司、首都在 线、迈普通信技术股份有限公司、360数科等机构和上下游企业的支持与协助, 特此表达衷⼼的感谢! All Rights Reserved 4
5 . DPU White Paper 版权声明 本白皮书版权属于主编和联合编写发布单位,并受法律保护。转载、摘编或 利用其它⽅式使用本白皮书⽂字或者观点应注明“来源:专用数据处理器(DPU)技术 白皮书,中国科学院计算技术研究所,鄢贵海等”。违反上述声明者,版权⽅将追究 其相关法律责任。 All Rights Reserved 5
6 . DPU White Paper ⽬录 内容提要 ..............................................................................................................7 1. DPU技术发展概况 .....................................................................................9 1.1. 什么是DPU ...............................................................................................................9 1.2. DPU的发展背景 ....................................................................................................12 1.3. DPU发展历程 .........................................................................................................16 1.4. DPU与CPU、GPU的关系 ...................................................................................19 1.5. DPU的产业化机遇 ................................................................................................21 2. DPU特征结构 ............................................................................................23 2.1. DPU是以数据为中⼼IO密集的专用处理器 .....................................................23 2.2. 计算平台从“计算为中⼼”转向“数据为中⼼” ...................................................25 2.3. ⼀种DPU参考设计 ................................................................................................29 2.4. DPU具备的主要功能 ............................................................................................34 3. DPU应用场景 ............................................................................................35 3.1. 应用场景⼀:⽹络功能卸载 ...............................................................................35 3.2. 应用场景⼆:存储功能卸载 ...............................................................................51 3.3. 应用场景三:安全功能卸载 ...............................................................................55 4. DPU软件栈五层模型 ...............................................................................58 4.1. 软件栈开发面临的挑战 ........................................................................................58 4.2. DPU异构计算架构五层开发模型.......................................................................58 4.3. 典型软件框架案例 ................................................................................................63 5. 业界产品概要介绍 ....................................................................................70 5.1. NVIDIA BLUEFIELD ..........................................................................................70 5.2. INTEL IPU(MOUNT EVANS) .....................................................................73 5.3. MARVELL OCTEON ..........................................................................................77 5.4. FUNGIBLE DPU ...................................................................................................81 5.5. 中科驭数 K2 DPU .................................................................................................85 6. DPU发展展望 ............................................................................................92 All Rights Reserved 6
7 . DPU White Paper 内容提要 DPU(Data Processing Unit)是新近发展起来的一种专用处理器。2020年 NVIDIA公司发布的DPU产品战略中将其定位为数据中心继CPU和GPU之后的 “第三颗主力芯片”,掀起了一波行业热潮。DPU的出现是异构计算的一个阶 段性标志。与GPU的发展类似,DPU是应用驱动的体系结构设计的又一典型案 例;但与GPU不同的是,DPU面向的应用更加底层,类型也更多样。DPU要解 决的核心问题是基础设施的“降本增效”,即将“CPU处理效率低下、GPU处 理不了”的负载卸载到专用DPU,提升整个计算系统的效率、降低整体系统的 总体拥有成本(TCO)。新一代的DPU不仅可以作为运算的加速引擎,还具备 控制平面的功能,能够运行Hypervisor,更高效的完成网络虚拟化、IO虚拟化、 存储虚拟化等任务,彻底将CPU的算力释放给应用程序。DPU的出现也许是体 系结构朝着专用化路线发展的又一个里程碑。 本白皮书将重点分析DPU产生的背景、技术特征、软硬件参考架构,应用 场景、并对目前已经公布的DPU产品做简要的比较分析,为后续DPU技术发展 提供必要的参考。本文的大体结构如下: 第一部分介绍DPU的技术发展概况,首先对DPU做了一个基本的定义,然 后阐述了DPU发展的背景,并简要介绍DPU发展的历程,DPU在现有计算生态 中的角色,最后以DPU的产业化机遇作为总结。 第二部分详细说明DPU的特征结构,对DPU的定位做了进一步阐述,然后 提出一种通用的DPU的结构模型。 第三部分介绍DPU的应用场景,本文总结了三大应用场景:网络功能卸 载、存储功能卸载、安全功能卸载,这也是DPU目前最重要的三个应用方向。 All Rights Reserved 7
8 . DPU White Paper 第四部分提出DPU开发的五层参考模型,包括设备层、操作层、计算引擎 层、应用服务层和业务开发层,既体现了DPU开发过程中的软硬协同,也充分 继承了通用软件栈的分层结构。 第五部分概要介绍目前行业的已经发布或已经披露的DPU产品,虽然其中 绝大部分尚未到批量应用的阶段,各个竞品的优缺点也尚未得到市场的充分验 证,但是对于后续DPU研发具有重要的参考价值。 第六部分展望未来DPU发展,并作为全文的总结。 All Rights Reserved 8
9 . DPU White Paper 1. DPU技术发展概况 1.1. 什么是DPU DPU(Data Processing Unit)是以数据为中心构造的专用处理器,采用软件 定义技术路线支撑基础设施层资源虚拟化,支持存储、安全、服务质量管理等 基础设施层服务。2020年NVIDIA公司发布的DPU产品战略中将其定位为数据中 心继CPU和GPU之后的“第三颗主力芯片”,掀起了一波行业热潮。DPU的出 现是异构计算的一个阶段性标志。与GPU的发展类似,DPU是应用驱动的体系 结构设计的又一典型案例;但与GPU不同的是,DPU面向的应用更加底层。 DPU要解决的核心问题是基础设施的“降本增效”,即将“CPU处理效率低 下、GPU处理不了”的负载卸载到专用DPU,提升整个计算系统的效率、降低 整体系统的总体拥有成本(TCO)。DPU的出现也许是体系结构朝着专用化路 线发展的又一个里程碑。 1.1.1. 关于DPU中“D”的解释 DPU中的“D”有三种解释: (1)Data Processing Unit,即数据处理器。这种解释把“数据”放在核心 位置,区别于信号处理器、基带处理器等通信相关的处理器对应的“信号”, 也区别于GPU对应的图形图像类数据,这里的“数据”主要指数字化以后的各 种信息,特别是各种时序化、结构化的数据,比如大型的结构化表格,网络流 中的数据包,海量的文本等等。DPU就是处理这类数据的专用引擎。 (2)Datacenter Processing Unit,即数据中心处理器。这种解释把数据中心 作为DPU的应用场景,特别是随着WSC(Warehouse-scale Computer)的兴起, 不同规模的数据中心成为了IT核心基础设施。目前来看,DPU确实在数据中心 中使用前景非常广阔。但是计算中心的三大部分:计算、网络、存储,计算部 All Rights Reserved 9
10 . DPU White Paper 分是CPU占主导,GPU辅助;网络部分是路由器和交换机,存储部分是高密度 磁盘构成的的RAID系统和SSD为代表非易失性存储系统。在计算和网络中扮演 数据处理的芯片都可以称之为Datacenter Processing Unit,所以这种说法相对比 较片面。 (3)Data-centric Processing Unit,即以数据为中心的处理器。Data-centric, 即数据为中心,是处理器设计的一种理念,相对于“Control-centric”即控制为 中心。经典的冯诺依曼体系结构就是典型的控制为中心的结构,在冯诺依曼经 典计算模型中有控制器、计算器、存储器、输入和输出,在指令系统中的表现 是具有一系列非常复杂的条件跳转和寻址指令。而数据为中心的理念与数据流 (Data Flow)计算一脉相承,是一种实现高效计算的方法。同时,现在试图打 破访存墙(Memory Wall)的各种近存(Near-memory)计算、存内(In- memory)计算、存算一体等技术路线,也符合数据为中心的设计理念。 以上三种关于“D”的解释,从不同角度反映DPU的特征,都有一定的可 取之处,笔者认为可以作为不同的三个维度来理解DPU的内涵。 1.1.2. DPU的作用 DPU最直接的作用是作为CPU的卸载引擎,接管网络虚拟化、硬件资源池 化等基础设施层服务,释放CPU的算力到上层应用。以网络协议处理为例,要 线速处理10G的网络需要的大约4个Xeon CPU的核,也就是说,单是做网络数据 包处理,就可以占去一个8核高端CPU一半的算力。如果考虑40G、100G的高速 网络,性能的开销就更加难以承受了。Amazon把这些开销都称之为 “Datacenter Tax”,即还未运行业务程序,先接入网络数据就要占去的计算资 源。AWS Nitro产品家族旨在将数据中心开销(为虚拟机提供远程资源,加密解 密,故障跟踪,安全策略等服务程序)全部从CPU卸载到Nitro加速卡上,将给 上层应用释放30%的原本用于支付“Tax” 的算力! All Rights Reserved 10
11 . DPU White Paper DPU可以成为新的数据网关,将安全隐私提升到一个新的高度。在网络环 境下,网络接口是理想的隐私的边界,但是加密、解密算法开销都很大,例如 国密标准的非对称加密算法SM2、哈希算法SM3和对称分组密码算法SM4。如果 用CPU来处理,就只能做少部分数据量的加密。在未来,随着区块链承载的业 务的逐渐成熟,运行共识算法POW,验签等也会消耗掉大量的CPU算力。而这 些都可以通过将其固化在DPU中来实现,甚至DPU将成为一个可信根。 DPU也可以成为存储的入口,将分布式的存储和远程访问本地化。随着 SSD性价比逐渐可接受,部分存储迁移到SSD器件上已经成为可能,传统的面向 机械硬盘的SATA协议并不适用于SSD存储,所以,将SSD通过本地PCIe或高速 网络接入系统就成为必选的技术路线。NVMe(Non Volatile Memory Express) 就是用于接入SSD存储的高速接口标准协议,可以通过PCIe作为底层传输协 议,将SSD的带宽优势充分发挥出来。同时,在分布式系统中,还可通过 NVMe over Fabrics(NVMe-oF)协议扩展到InfiniBand、Ethernet、或Fibre channel节点中,以RDMA的形式实现存储的共享和远程访问。这些新的协议处 理都可以集成在DPU中以实现对CPU的透明处理。进而,DPU将可能承接各种 互连协议控制器的角色,在灵活性和性能方面达到一个更优的平衡点。 DPU将成为算法加速的沙盒,成为最灵活的加速器载体。DPU不完全是一 颗固化的ASIC,在CXL、CCIX等标准组织所倡导CPU、GPU与DPU等数据一致 性访问协议的铺垫下,将更进一步扫清DPU编程障碍,结合FPGA等可编程器 件,可定制硬件将有更大的发挥空间,“软件硬件化”将成为常态,异构计算 的潜能将因各种DPU的普及而彻底发挥出来。在出现“Killer Application”的领 域都有可能出现与之相对应的DPU,诸如传统数据库应用如OLAP、OLTP, 5G 边缘计算,智能驾驶V2X等等。 All Rights Reserved 11
12 . DPU White Paper 1.2. DPU的发展背景 DPU的出现是异构计算的又一个阶段性标志。摩尔定律放缓使得通用CPU 性能增长的边际成本迅速上升,数据表明现在CPU的性能年化增长(面积归一 化之后)仅有3%左右1,但计算需求却是爆发性增长,这几乎是所有专用计算芯 片得以发展的重要背景因素。以AI芯片为例,最新的GPT-3等千亿级参数的超 大型模型的出现,将算力需求推向了一个新的高度。DPU也不例外。随着2019 年我国以信息网络等新型基础设施为代表的“新基建”战略帷幕的拉开,5G、 千兆光纤网络建设发展迅速,移动互联网、工业互联网、车联网等领域发展日 新月异。云计算、数据中心、智算中心等基础设施快速扩容。网络带宽从主流 10G朝着25G、40G、100G、200G甚至400G发展。网络带宽和连接数的剧增使得 数据的通路更宽、更密,直接将处于端、边、云各处的计算节点暴露在了剧增 的数据量下,而CPU的性能增长率与数据量增长率出现了显著的“剪刀差”现 象。所以,寻求效率更高的计算芯片就成为了业界的共识。DPU芯片就是在这 样的趋势下提出的。 1.2.1. 带宽性能增速比(RBP)失调 摩尔定律的放缓与全球数据量的爆发这个正在迅速激化的矛盾通常被作为 处理器专用化的大背景,正所谓硅的摩尔定律虽然已经明显放缓,但“数据摩 尔定律”已然到来。IDC的数据显示,全球数据量在过去10年年均复合增长率 接近50%,并进一步预测每四个月对于算力的需求就会翻一倍。因此必须要找 到新的可以比通用处理器带来更快算力增长的计算芯片,DPU于是应运而生。 这个大背景虽然有一定的合理性,但是还是过于模糊,并没有回答DPU之所以 新的原因是什么,是什么“量变”导致了“质变”? 1 Hennessy J, Patterson D. Computer Architecture, Sixth Edition: A Quantitative Approach, Chapter 1, Morgan Kaufmann. 2019 All Rights Reserved 12
13 . DPU White Paper 从现在已经公布的各个厂商的DPU架构来看,虽然结构有所差异,但都不 约而同强调网络处理能力。从这个角度看,DPU是一个强IO型的芯片,这也是 DPU与CPU最大的区别。CPU的IO性能主要体现在高速前端总线(在Intel的体 系里称之为FSB,Front Side Bus),CPU通过FSB连接北桥芯片组,然后连接到 主存系统和其他高速外设(主要是PCIe设备)。目前更新的CPU虽然通过集成 存储控制器等手段弱化了北桥芯片的作用,但本质是不变的。CPU对于处理网 络处理的能力体现在网卡接入链路层数据帧,然后通过操作系统(OS)内核 态,发起DMA中断响应,调用相应的协议解析程序,获得网络传输的数据(虽 然也有不通过内核态中断,直接在用户态通过轮询获得网络数据的技术,如 Intel的DPDK,Xilinx的Onload等,但目的是降低中断的开销,降低内核态到用 户态的切换开销,并没有从根本上增强IO性能)。可见,CPU是通过非常间接 的手段来支持网络IO,CPU的前端总线带宽也主要是要匹配主存(特别是 DDR)的带宽,而不是网络IO的带宽。 相较而言,DPU的IO带宽几乎可以与网络带宽等同,例如,网络支持 25G,那么DPU就要支持25G。从这个意义上看,DPU继承了网卡芯片的一些特 征,但是不同于网卡芯片,DPU不仅仅是为了解析链路层的数据帧,而是要做 直接的数据内容的处理,进行复杂的计算。所以,DPU是在支持强IO基础上的 具备强算力的芯片。简言之,DPU是一个IO密集型的芯片;相较而言,GPU还 是一个计算密集型芯片。 进一步地,通过比较网络带宽的增长趋势和通用CPU性能增长趋势,能发 现一个有趣的现象:带宽性能增速比(RBP,Ratio of Bandwidth and Performance growth rate)失调。RBP定义为网络带宽的增速比上CPU性能增速, 即RBP=BW GR/Perf. GR如图1-1所示,以Mellanox的ConnectX系列网卡带宽作为 网络IO的案例,以Intel的系列产品性能作为CPU的案例,定义一个新指标“带 宽性能增速比”来反应趋势的变化。 All Rights Reserved 13
14 . DPU White Paper 图1-1 带宽性能增速⽐(RBP)失调 2010年前,网络的带宽年化增长大约是30%,到2015年微增到35%,然后在 近年达到45%。相对应的,CPU的性能增长从10年前的23%,下降到12%,并在 近年直接降低到3%。在这三个时间段内,RBP指标从1附近,上升到3,并在近 年超过了10!如果在网络带宽增速与CPU性能增速近乎持平,RGR~1,IO压力 尚未显现出来,那么当目前RBP达到10倍的情形下,CPU几乎已经无法直接应对 网络带宽的增速。RBP指标在近几年剧增也许是DPU终于等到机会“横空出 世”的重要原因之一。 1.2.2.异构计算发展趋势的助⼒ DPU首先作为计算卸载的引擎,直接效果是给CPU“减负”。DPU的部分 功能可以在早期的TOE(TCP/IP Offloading Engine)中看到。正如其名,TOE 就是将CPU的处理TCP协议的任务“卸载”到网卡上。传统的TCP软件处理方式 虽然层次清晰,但也逐渐成为网络带宽和延迟的瓶颈。软件处理方式对CPU的 占用,也影响了CPU处理其他应用的性能。TCP卸载引擎(TOE)技术,通过 将TCP协议和IP协议的处理进程交由网络接口控制器进行处理,在利用硬件加 速为网络时延和带宽带来提升的同时,显著降低了 CPU 处理协议的压力。具体 有三个方面的优化:1)隔离网络中断,2)降低内存数据拷贝量,3)协议解析 All Rights Reserved 14
15 . DPU White Paper 硬件化。这三个技术点逐渐发展成为现在数据平面计算的三个技术,也是DPU 普遍需要支持的技术点。例如,NVMe协议,将中断策略替换为轮询策略,更 充分的开发高速存储介质的带宽优势;DPDK采用用户态调用,开发“Kernel- bypassing”机制,实现零拷贝(Zeor-Copy);在DPU中的面向特定应用的专用 核,例如各种复杂的校验和计算、数据包格式解析、查找表、IP安全(IPSec) 的支持等,都可以视为协议处理的硬件化支持。所以,TOE基本可以被视为 DPU的雏形。 延续TOE的思想,将更多的计算任务卸载至网卡侧来处理,促进了智能网 卡(SmartNIC)技术的发展。常见的智能网卡的基本结构是以高速网卡为基本 功能,外加一颗高性能的FPGA芯片作为计算的扩展,来实现用户自定义的计算 逻辑,达到计算加速的目的。然而,这种“网卡+FPGA”的模式并没有将智能 网卡变成一个绝对主流的计算设备,很多智能网卡产品被当作单纯的FPGA加速 卡来使用,在利用FPGA优势的同时,也继承了所有FPGA的局限性。DPU是对 现有的SmartNIC的一个整合,能看到很多以往SmartNIC的影子,但明显高于之 前任何一个SmartNIC的定位。 Amazon的AWS在2013研发了Nitro产品,将数据中心开销(为虚机提供远程 资源,加密解密,故障跟踪,安全策略等服务程序)全部放到专用加速器上执 行。Nitro架构采用轻量化Hypervisor配合定制化的硬件,将虚拟机的计算(主要 是CPU和内存)和I/O(主要是网络和存储)子系统分离开来,通过PCIe总线连 接,节省了30%的CPU资源。阿里云提出的X-Dragon系统架构,核心是MOC 卡,有比较丰富的对外接口,也包括了计算资源、存储资源和网络资源。MOC 卡的核心X-Dragon SOC,统一支持网络,IO、存储和外设的虚拟化,为虚拟 机、裸金属、容器云提供统一的资源池。 All Rights Reserved 15
16 . DPU White Paper 可见,DPU其实在行业内已经孕育已久,从早期的网络协议处理卸载,到 后续的网络、存储、虚拟化卸载,其带来的作用还是非常显著的,只不过在此 之前DPU“有实无名”,现在是时候迈上一个新的台阶了。 1.3. DPU发展历程 随着云平台虚拟化技术的发展,智能网卡的发展基本可以分为三个阶段 (如图1-2所示): DPU智能网卡 (第二代智能网卡) PCIe总线 PCIe Root Complex 或 EndPoint 智能网卡 主机接口 (第一代智能网卡) Arm 硬件卸载 Intel PCIe总线 RISC-V 主机接口 网络接口 基础网卡 融合网络无损需求 硬件卸载 网口 BCM/MGMT PCIe总线 网络接口 - 丰富的硬件卸载能力 主机接口 融合网络无损需求 - 流表类业务卸载能力(OVS 网口 全卸载) - Virtio硬件加速 - 丰富的硬件卸载能力 - RoCE、RoCEv2 网络接口 - Match-Action流表类业务 - NVMe oF with TCP, 卸载能力 NVMe oF with RoCEv2, 网口 (OVS Fastpath卸载) Virtio-blk - Virtio硬件加速 - NVMe oF target - 基础网卡 - RoCE、RoCEv2 - 数据压缩解压缩 - 提供2x10G带宽基本能力 - NVMe oF with TCP, - 无损网络能力(PFC, - 硬件卸载能力较弱 NVMe oF with RoCEv2 ECN,ETS等) (checksum, LRO/LSO) - 无损网络能力(PFC, - PCIe Root Complex - 支持SRIOV ECN,ETS等) - 安全相关功能全卸载(数据 - 支持有限的多队列 - 安全相关数据面卸载 面+控制面) 图1-2 智能⽹卡发展的三个阶段 All Rights Reserved 16
17 . DPU White Paper 第⼀阶段:基础功能⽹卡 基础功能网卡(即普通网卡)提供2x10G或2x25G带宽吞吐,具有较少的硬 件卸载能力,主要是Checksum,LRO/LSO等,支持SR-IOV,以及有限的多队列 能力。在云平台虚拟化网络中,基础功能网卡向虚拟机(VM)提供网络接入的 方式主要是有三种:由操作系统内核驱动接管网卡并向虚拟机(VM)分发网络 流量;由OVS-DPDK接管网卡并向虚拟机(VM)分发网络流量;以及高性能场 景下通过SR-IOV的方式向虚拟机(VM)提供网络接入能力。 第⼆阶段:硬件卸载⽹卡 可以认为是第一代智能网卡,具有丰富的硬件卸载能力,比较典型的有 OVS Fastpath硬件卸载,基于RoCEv1和RoCEv2的RDMA网络硬件卸载,融合网 络中无损网络能力(PFC,ECN,ETS等)的硬件卸载,存储领域NVMe-oF的硬 件卸载,以及安全传输的数据面卸载等。这个时期的智能网卡以数据平面的卸 载为主。 第三阶段:DPU智能⽹卡 可以认为是第二代智能网卡,在第一代智能网卡基础上加入CPU,可以用 来卸载控制平面的任务和一些灵活复杂的数据平面任务。目前DPU智能网卡的 特点首先是支持PCIe Root Complex模式和Endpoint模式,在配置为PCIe Root Complex模式时,可以实现NVMe存储控制器,与NVMe SSD磁盘一起构建存储 服务器;另外,由于大规模的数据中心网络的需要,对无损网络的要求更加严 格,需要解决数据中心网络中Incast流量、“大象”流等带来的网络拥塞和时延 问题,各大公有云厂商纷纷提出自己的应对方法,比如阿里云的高精度拥塞控 制(HPCC,High Precision Congestion Control),AWS的可扩展可靠数据报 (SRD,Scalable Reliable Datagram)等。DPU智能网卡在解决这类问题时将会引 入更为先进的方法,如Fungible的TrueFabric,就是在DPU智能网卡上的新式解 决方案。还有,业界提出了Hypervisor中的网络,存储和安全全栈卸载的发展方 All Rights Reserved 17
18 . DPU White Paper 向,以Intel为代表提出了IPU,将基础设施的功能全部卸载到智能网卡中,可以 全面释放之前用于Hypervisor管理的CPU算力。 未来的DPU智能⽹卡硬件形态 随着越来越多的功能加入到智能网卡中,其功率将很难限制在75W之内, 这样就需要独立的供电系统。所以,未来的智能网卡形态可能有三种形态: (1)独立供电的智能网卡,需要考虑网卡状态与计算服务之间低层信号识 别,在计算系统启动的过程中或者启动之后,智能网卡是否已经是进入服务状 态,这些都需要探索和解决。 (2)没有PCIe接口的DPU智能网卡,可以组成DPU资源池,专门负责网络 功能,例如负载均衡,访问控制,防火墙设备等。管理软件可以直接通过智能 网卡管理接口定义对应的网络功能,并作为虚拟化网络功能集群提供对应网络 能力,无需PCIe接口。 (3)多PCIe接口,多网口的DPU芯片。例如Fungible F1芯片,支持16个双 模PCIe控制器,可以配置为Root Complex模式或Endpoint模式,以及8x100G网络 接口。通过PCIe Gen3 x8接口可以支撑8个Dual-Socket计算服务器,网络侧提供 8x100G带宽的网口。 图1-3 未来智能⽹卡的硬件形态 All Rights Reserved 18
19 . DPU White Paper DPU作为一种新型的专用处理器,随着需求侧的变化,必将在未来计算系 统中成为一个重要组成部分,对于支撑下一代数据中心起到至关重要的作用。 1.4. DPU与CPU、GPU的关系 CPU是整个IT生态的定义者,无论是服务器端的x86还是移动端的ARM,都 各自是构建了稳固的生态系统,不仅形成技术生态圈,还形成了闭合价值链。 GPU是执行规则计算的主力芯片,如图形渲染。经过NVIDIA对通用GPU (GPGPU)和CUDA编程框架的推广,GPU在数据并行的任务如图形图像、深 度学习、矩阵运算等方面成为了主力算力引擎,并且成为了高性能计算最重要 的辅助计算单元。2021年6月公布的Top500高性能计算机(超级计算机)的前10 名中,有六台(第2、3、5、6、8、9名)都部署有NVIDIA的GPU。 图1-4 未来算⼒⽣态(相关⼚商为不完全列举,仅做为⽰意参考) 数据中心与超极计算机不同,后者主要面向科学计算,如大飞机研制,石 油勘探、新药物研发、气象预报、电磁环境计算等应用,性能是主要指标,对 接入带宽要求不高;但数据中心面向云计算商业化应用,对接入带宽,可靠 性、灾备、弹性扩展等要求更高,与之相适应发展起来的虚拟机、容器云、并 All Rights Reserved 19
20 . DPU White Paper 行编程框、内容分发网等等技术,都是为了更好的支撑上层商业应用如电商、 支付、视频流、网盘、办公OA等。但是这些IaaS和PaaS层的服务开销极大, Amazon曾公布AWS的系统开销在30%以上。如果需要实现更好的QoS,在网 络、存储、安全等基础设施服务上的开销还会更高。 这些基础层应用类型与CPU架构匹配程度不高导致计算效率低下。现有的 CPU的架构有两个大类:多核架构(数个或数十几个核)和众核架构(数百个 核以上),每种架构支持唯一的规范通用指令集之一,如x86、ARM等。以指令 集为界,软件和硬件被划分开来分别独立发展,迅速的催生了软件产业和微处 理器产业的协同发展。但是,随着软件复杂度的上升,软件的生产率 (Productivity)得到更多的重视,软件工程学科也更加关注如何高效地构建大 型软件系统,而非如何用更少的硬件资源获得尽可能高的执行性能。业界有个 被戏称的“安迪比尔定律”,其内容是“What Andy gives, Bill takes away”,安 迪(Andy)指英特尔前CEO安迪·格鲁夫,比尔(Bill)指微软前任CEO比尔· 盖茨,意为硬件提高的性能,很快被软件消耗掉了。 正如CPU在处理图像处理时不够高效一样,现在有大量的基础层应用CPU 处理起来也比较低效,例如网络协议处理,交换路由计算,加密解密,数据压 缩等这类计算密集的任务,还有支持分布式处理的数据一致性协议如RAFT等。 这些数据或者通过从网络IO接入系统,或者通过板级高速PCIe总线接入系统, 再通过共享主存经由DMA机制将数据提供给CPU或GPU来处理。既要处理大量 的上层应用,又要维持底层软件的基础设施,还要处理各种特殊的IO类协议, 复杂的计算任务让CPU不堪重负。 这些基础层负载给“异构计算”提供了一个广阔的发展空间。将这些基础 层负载从CPU上卸载下来,短期内可以“提质增效”,长远来看还为新的业务 增长提供技术保障。DPU将有望成为承接这些负载的代表性芯片,与CPU和 GPU优势互补,建立起一个更加高效的算力平台。可以预测,用于数据中心的 All Rights Reserved 20
21 . DPU White Paper DPU的量将达到和数据中心服务器等量的级别,每年千万级新增,算上存量的 替代,估算五年总体的需求量将突破两亿颗,超过独立GPU卡的需求量。每台 服务器可能没有GPU,但必须有DPU,好比每台服务器都必须配网卡一样。 1.5. DPU的产业化机遇 数据中心作为IT基础设施最重要的组成部分在过去10年成为了各大高端芯 片厂商关注的焦点。各大厂商都将原有的产品和技术,用全新的DPU的理念重 新封装后,推向了市场。 NVIDIA收购Mellanox后,凭借原有的ConnectX系列高速网卡技术,推出其 BlueField系列DPU,成为DPU赛道的标杆。作为算法加速芯片头部厂商的Xilinx 在2018年还将“数据中心优先(Datacenter First)”作为其全新发展战略。发布 了Alveo系列加速卡产品,旨在大幅提升云端和本地数据中心服务器性能。2019 年4月,Xilinx宣布收购Solarflare通信公司,将领先的FPGA、MPSoC和ACAP解 决方案与 Solarflare 的超低时延网络接口卡( NIC )技术以及应用加速软件相结 合,从而实现全新的融合SmartNIC解决方案。Intel 2015年底收购了Xilinx的竞争 对手——Altera,在通用处理器的基础上,进一步完善硬件加速能力。Intel 2021 年6月新发布的IPU产品(可以被视为Intel版本的DPU),将FPGA与Xeon D系列 处理器集成,成为了DPU赛道有力的竞争者。IPU是具有强化的加速器和以太网 连接的高级网络设备,它使用紧密耦合、专用的可编程内核加速和管理基础架 构功能。IPU提供全面的基础架构分载,并可作为运行基础架构应用的主机的控 制点,从而提供一层额外防护。几乎同一时间,Marvall发布了OCTEON 10 DPU产品,不仅具备强大的转发能力,还具有突出的AI处理能力。 在同一时期,一些传统并不涉足芯片设计的互联网厂商,如海外的 Google、Amazon,国内的阿里巴巴等巨头纷纷启动了自研芯片的计划,而且研 发重点都是面向数据处理器的高性能专用处理器芯片,希望以此改善云端的服 All Rights Reserved 21
22 . DPU White Paper 务器的成本结构,提高单位能耗的性能水平。数据研究预测DPU在云计算市场 的应用需求最大,且市场规模随着云计算数据中心的迭代而增长,到2025年单 中国的市场容量都将达到40亿美元的规模2。 2 中国数据处理器⾏业概览系列短报告(⼆): 数据处理器在数通市场的应⽤,头豹⾏业研读 | 2021/06 All Rights Reserved 22
23 . DPU White Paper 2. DPU特征结构 2.1. DPU是以数据为中心IO密集的专用处理器3 从应用特征来看,可以把应用分为“IO密集型”和“计算密集型”两类, 如图2-1纵轴所示。IO密集型应用,通常体现为较高的输入和输出带宽,数据直 接来自于IO,数据通常具备流式特征,数据局部性不显著,如果处理性能与带 宽匹配,片上缓存的作用就可以弱化。例如处理路由转发、数据加密、压缩 等。计算密集型应用,体现为较高的计算密度,通常浮点性能突出,数据来自 主存,数据局部性显著,复用性高,主存的大小对于问题求解的性能有直接影 响。例如求解线性代数方程组,大规模神经网络训练、推理等。 图2-1 不同类型的处理器的特征结构 一个处理器芯片是“IO密集”还是“计算密集”只部分决定了芯片的结构 特征,并不能完全定义芯片的主体架构。无论是IO密集,还是计算密集,即可 以以通用CPU为核心构造主体计算架构,也可以以专用加速器为核心构造主体 3 “DPU:以数据为中⼼的专⽤处理器”,鄢贵海等,中国计算机学会通讯,2021年,第 17 卷 第 10 期 All Rights Reserved 23
24 . DPU White Paper 计算架构。前者可称之为以控制为中心(control-centric)的模式,后者称之为 以数据为中心(data-centric)的模式。控制为中心的核心是实现“通用”,数据 为中心的核心是通过定制化实现“高性能”。以应用特征和架构特征这两个维 度粗略划分处理器芯片类型分布,如图2-1所示。 通用CPU是偏向于控制为中心结构,理论上看就是要“图灵完备”,要支 持完备的指令集,通过编程指令序列来定义计算任务,通过执行指令序列来完 成计算任务,因此具备极其灵活的编程支持,可以任意定义计算的逻辑实现 “通用”——这也是CPU最大的优势。同时,为了提高编程的开发效率,降低 编译器复杂度,缓存管理和细粒度并行度的开发通常都是由硬件来完成。类似 的,还有大量的用于各种嵌入式、移动设备的微控制器MCU,并不强调高带 宽,也是以控制为中心的结构。NP,DSP也是便向于基于通用处理器来做专用 化扩展,但是非常注重高通量的性能属性。例如,NP要支持数Tbps的转发带 宽,所以大体可以视为控制为中心、但是IO密集的处理器类型。 GPU是以数据为中心的结构,形式上更倾向于专用加速器。GPU的结构称 之为数据并行(data-parallel)结构,优化指令并行度并不是提升性能的重点, 通过大规模同构核进行细粒度并行来消化大的数据带宽才是重点。例如,最新 的NVIDIA TITAN RTX GPU有4608个CUDA核、576个Tensor核,而且单片GPU 通常配置数十GB的超大显存。同时缓存管理多采用软件显示管理,降低硬件复 杂度。这类超众核结构是以数据为中心、执行计算密集型任务的代表性架构。 DPU也偏向于数据为中心的结构,形式上集成了更多类别的专用加速器, 牺牲一定的指令灵活性以获得更极致的性能。但是与GPU不同,DPU要应对更 多的网络IO,既包括外部以太网,也包括内部虚拟IO,所以DPU所面临的数据 并行更多可能是数据包并行,而不是图像中的像素、像块级并行。而且DPU也 会配置少数通用核(如ARM,MIPS)来处理一定的控制面的任务,运行轻量级 操作系统来管理DPU上的众多的异构核资源,所以体现了一定“通用”性,但 All Rights Reserved 24
25 . DPU White Paper 性能优势主要不源于这些通用核,而是大量专用计算核。早期的一些网络处理 器采用过类似Tile64的通用众核结构,以增加核的数量来应对多路处理的数据, 实现并发处理,但单路延迟性能通常都比较差。因此,DPU更偏向于以数据为 中心,执行IO密集任务。 DPU是软件定义的技术路线下的重要产物。在软件定义网络中,将数据面 与控制面分离是最核心的思想。DPU被定义为强化了数据面性能的专用处理 器,配合控制面的CPU,可以实现性能与通用性的更佳的平衡。 2.2. 计算平台从“计算为中心”转向“数据为中心” 2.2.1.⼤规模云计算⽹络面对的挑战 (1)网络拥塞和长尾延迟。数据中心网络最真实的性能指标之一是“尾部 延迟”,即流量最慢百分位数所经历的延时水平。数据中心网络拥塞的一个典 型原因是Incast流量,而Incast流量在数据中心网络中是不可避免的。现在常见 的解决拥塞的方法,如基于优先级的流量控制(PFC),显示拥塞通知 (ECN),数据中心量化拥塞通知(DCQCN)和数据中心TCP连接等,这些方 案并没有完全解决拥塞问题,如突发流量导致的拥塞,同时也带来一系列新的 挑战,如PFC pause帧风暴等。 (2)负载不均衡。在数据中心网络中等价多路径(ECMP)路由是一种典 型的流量转发负载均衡方式,它能够保证同一数据流跨网络Fabric转发时根据特 定元组信息选择的路径相同,不同数据流选择的路径根据哈希的结果选择不同 路径,从而实现不同流量之间的负载均衡和更高的带宽利用率。但是,当数据 中心主要流量是“大象”流和“老鼠”流时,ECMP负载均衡的数据转发方式就 可能存在问题了。如大数据处理和存储数据同步等工作负载需在数据中心网络 中创建大量持续的数据流,这些数据流与对时延相对敏感的短期流共存。多个 All Rights Reserved 25
26 . DPU White Paper “大象”流的哈希冲突会导致数据中心网络中某些路径上流量出现不均甚至拥 塞,从而导致拥塞路径上的“老鼠”流受影响出现更长延迟和丢包。 (3)故障检测和恢复效率。大规模数据中心通常是通过冗余备份来实现网 络高可靠性,即当某一网络路径出现故障时,通过协议或者网络端口状态自动 将故障路径上的业务流量切换到其它正常路径上。在数据中心这种Spine-Leaf的 网络架构下,服务器的网卡如何能够快速检测到故障,进而规避流量通过故障 路径,决定了数据中心业务的恢复效率。 (4)不可靠传输。像RoCEv2这样的网络协议是基于网络无损的假设而设 计的。然而在数据中心网络中,丢包是不可避免的。目前大部分解决方案都是 通过在网络设备上实现复杂的协议或者遥测能力,来加固网络或者识别数据中 心的网络状况,进而避免应用程序吞吐量和性能下降。如果数据包重传发生在 传输层,这可能会显著提高性能。不幸的是UDP缺乏重传机制,而TCP又过于 复杂,头部拥塞和尾部延迟很难预测。 2.2.2.数据为中⼼的系统架构特征 数据中心是云计算时代最重要的基础设施之一,为云提供强大的计算和存 储能力。近年来业界对数据中心网络性能以及虚拟化能力的需求日益增长,并 伴随着后摩尔时代的到来,传统的以CPU为中心的计算机体系结构,其计算能 力已经无法支撑网络带宽的增长速度,会造成网络拥塞,以单节点能力为上限 的资源分配方式无法满足云资源需求,运维成本和影响也日益增加,主要表现 在如下几个方面: ● 以计算为中心的数据中心,所有数据都需要先被送到CPU。CPU的计算 包含了应用的计算,通信的计算和存储的计算等,每一类计算都需要独占 CPU资源。CPU已然成为数据中心释放算力的瓶颈。 All Rights Reserved 26
27 . DPU White Paper ● 以CPU为中心的计算机体系结构,通过内部系统总线的通信方式,单节 点服务器上的总线能力和PCIe插槽的数量是固定的,导致单节点上支持的专 用算力芯片如GPU和FPGA加速卡等也受限于总线能力和PCIe插槽数量。 ● 以CPU为中心的计算机体系结构,单节点的专用算力资源如GPU和FPGA 加速卡等无法被其它节点使用,这也导致了专用算力资源无法按需扩展,预 留专用算力资源浪费的问题,使得虚拟化用户层的资源管理异常困难。 ● 在运维方面,由于单节点上资源是耦合的,故障维修需对节点断电,使 得整个节点对外不可用,业务的高可靠性难以保障,维修流程非常复杂。 鉴于当前以计算为中心的数据中心体系中所存在的局限,一个宏观趋势是 数据中心的体系架构将会从以计算为中心转向以数据为中心。后者相对于前者 具有显著的优势。以CPU为中心的通信场景里,由于数据转发都需要经过CPU (如虚拟机场景——CPU收包转给CPU,大数据场景——CPU收包转给 GPU),CPU的处理时延通常会比较高,约30至40微秒,另外,由于CPU数据 转发能力和CPU数量的限制,会在数据通道上成为系统的瓶颈,使得虚拟机 CPU或者GPU的算力无法释放,甚至在触及性能瓶颈时出现严重的丢包现象, 进一步恶化网络传输。以数据为中心的架构,数据转发通道不再需要CPU参 与,DPU智能网卡可以直接将数据送达GPU和虚拟机CPU,不需要基于CPU的 软件转发,时延上可以提升到3至4微秒,典型的通信时延可以从30至40微妙降 低到3至4微妙,有近10倍的性能提升。另外,由于DPU智能网卡硬件线速转 发,避免了性能瓶颈和丢包。 All Rights Reserved 27
28 . DPU White Paper CPU GPU CPU GPU GPU CPU GPU CPU CPU GPU CPU GPU GPU CPU GPU CPU 典型通信延时: 30~40 us 典型通信延时: 3~4 us 图2-2 数据中⼼⽹络通信延时 以数据为中心的数据中心架构,至少具备以下几个特点: (1)分散(Disaggreggaed)的计算架构。计算结构内部资源不是紧耦合。 通过DPU智能网卡提供的网络能力,对系统总线数据做转换传输、延伸和分 发,使得CPU、GPU、存储和加速器等可以在不同的位置或物理机上,通过数 据中心网络对数据分发和调度,使得各资源互相协同工作。 (2)虚拟化资源池(Resource Pooling)。以降低TCO为目的,对CPU、 GPU、存储和加速器等资源按需分配,同时降低资源维护和管理调度的复杂 度,集中的资源池化势在必行。同时,通过虚拟化资源池的方式向用户提供各 种资源,利用资源伸缩性,使得提供给用户侧的资源上限更大。 (3)可伸缩性(Scalability)。资源池化后,资源的维护和管理更容易,整 体资源库存情况更清晰,从数据中心运营的角度,库存的扩展也更容易。 (4)可组合性(Composability)。数据中心的网络能力使得服务资源的接 入更加灵活。对于新加入资源池的资源(如专用FPGA加速器),可以通过对 DPU智能网卡做软件定义网络,打通数据中心的数据传输通路,让新加入的资 源加入到云计算资源系统中。 All Rights Reserved 28
29 . DPU White Paper 传统云计算基础设施 可组合,池化的,可伸缩的分散(计算)基础设施 CPU 内存 CPU ... CPU DPU ... CPU CPU 总线 • 总线通信CPU瓶颈问题 GPU ... GPU GPU 存储 总线扩展的问题 DPU • ... Network Fabric • 维护需停机 GPU GPU • 资源伸缩性差 …… • …… 存储 ... 存储 DPU CPU 内存 ... 存储 存储 总线 加速器 ... 加速器 DPU ... GPU 存储 加速器 加速器 图2-3 传统云计算基础设施与以数据为中⼼的数据中⼼架构对⽐ 2.3. 一种DPU参考设计 为了满足“数据为中心”的设计理念,本节给出一个通用的DPU参考设 计。目前DPU架构的演化比较快,DPU既可以呈现为一个被动设备作为CPU的 协处理器,也可以作为一个主动设备,承接Hypervisor的一些功能。尤其是容器 技术、虚拟化技术的广泛采用,DPU的角色已经不仅仅是一个协处理器,而是 呈现出更多的HOST的特征,比如运行Hypervisor,做跨节点的资源整合,为裸 金属和虚拟机提供虚拟网络,数据安全,热迁移等支撑。宏观来看,DPU架构 至少可以分为以下几个核心组成部分: All Rights Reserved 29