最近,《2024数字中国万里行暨算力经济中国行考察报告》出版,我们将对报告内容开启连载模式。
PART III 技术演进 第四章 多元算力交织,主要探讨了以下话题:
• DPU:由云向智(三)
服务器:重构升级
7.
DPU中的CPU
DPU的控制平面主要使用性能较强的通用CPU核,以处理较复杂的任务,且面向Linux等系统编程友好。常见的通用CPU核有英特尔的至强D以及Arm的大核(Arm v8的Cortex-A72/A78、Neoverse N1,v9的Neoverse N2),较早期产品还有一些采用MIPS64核心。
英特尔至强D的方案主要是搭配FPGA使用。至强D和FPGA都可以自由采购,进入门槛较低。考虑到DPU是与具体的应用场景紧密相连的,这种方案可以针对各个云厂商的需求特点选择最重要的协议、功能进行编程,可以少量多样、反复迭代,而且FPGA还具有低时延优点,特别适合数据流处理。随着部署量的增加,这样的方案会显得成本偏高。
定制化的SoC方案一般采用开放授权的核心,Arm、MIPS、RISC-V均可以作为选择。以Marvell为例,其网络处理器曾大量使用MIPS核心,譬如OCTEON III就是一个比较庞杂的家族,简单的CN70XX/CN71XX系列可以用作AP、网关、NAS,使用1~4核的MIPS64 r3核心;CN73XX/CN72XX系列可以给防火墙、路由器、虚拟化存储等使用,提供4~16个MIPS64 r5核心;CN77XX/78XX系列可以达到16~48个MIPS64 r5核心,供高端路由器、DPU、蜂窝网络接入等使用。
到了2015年发布的OCTEON TX,Marvell全面转向Arm架构,使用的是收购的Cavium基于Arm v8设计的ThunderX核心,规模在8~24核之间。2019年发布OCTEON TX2最多可以提供36个Arm v8 Cortex-A72核心。英伟达在2020年发布的BlueField-2提供了8个Arm v 8Cortex-A72核心,之后的BlueField-3增加到16个A78核心。AMD的Pensando DSC-200提供16个A72核心。
在Arm v9时代,适用于DPU的是Arm Neoverse N系列核心。譬如英特尔Mount Evans有16个N1核心,Marvell OCTEON 10可扩展到36个N2核心,直逼低端服务器CPU。
8.
Arm核心的演进
Arm提供了丰富的IP授权,供不同性能、功耗、成本需求的产品选用。在Cortex-A系列之后,Arm面向云计算和数据中心领域推出了Neoverse平台。
在Arm的规划中,强调能效比的Neoverse N系列适合作为DPU的嵌入式CPU使用。其中,Neoverse N1依旧基于Arm v8体系,准确的说是v8.2。顺便一提,Cortex-A78也是基于这Arm v8.2体系,而Cortex-A72属于v8.0A体系。Neoverse N2则是比较重要的大版本迭代,基于Arm v9.0A架构。
从Arm Cortex-A72到A78,CPU性能上了一个大台阶。譬如,从缓存角度看就很明显:A72的L1指令缓存是48kB,数据缓存是32kB(最大可以64kB),L2缓存是共享的,容量512kB~4MB规模;A78的L1指令和数据缓存均提升至64kB,L2缓存是每个核心私有的,容量256/512kB,在此基础上又提供了512kB~4MB的共享L3缓存。其他的改进还包括Arm v8.2A扩展指令集扩展,让A78的NEON多媒体处理SIMD引擎支持半精度浮点(FP16)数据类型。
同处Arm v8.2A指令集架构的Arm Neoverse N1相对Cortex-A78也有不小的提升,譬如前者每个核心的私有L2缓存相对后者翻倍。更重要的是,Neoverse N1除了选择Cortex-A簇状(Cluster)架构多处理器(4个核心为一簇),也可以选择直接互联,以构成目前服务器多CPU中比较主流的网格(Mesh)架构。换句话说,Neoverse更适合构建大规模的多核心CPU。
Arm Neoverse N2相对N1并非简单的数字迭代,而是一次重大提升。N2是Neoverse家族首个支持Arm v9指令集架构的核心,支持SVE2(可伸缩矢量扩展,Scalable Vector Extension)、增强加密指令等重要功能。
Arm Neoverse N2的微架构也做了诸多改进,使得IPC性能相对N1有了40%的提升。譬如前端方面,分支预测宽度翻倍,分支目标缓冲(Branch Target Buffer,BTB)条目也大幅增加;流水线部分,命名宽度从4条扩展到5条,重排序缓冲(reorder buffer,ROB)从128提升到160以上;L1、L2缓存的吞吐能力提升30%到翻倍水平。
Arm Neoverse N2还将核心的互联方案迭代到CMN-700,2021版报告中已有介绍,此处不再重复。
相对核心数以百计的服务器系统,拥有36个N2核心的Marvell OCTEON 10仍属于典型的DPU应用。Arm认为12~36核的配置适合DPU使用,更小的核心规模可用于网关等。符合UCIe规范的Die to Die有利于DPU通过Chiplet方式整合外部加速器构成SoC,这个是一个非常有价值的能力。不论是多种版本的Nitro卡(虚拟化、分布式存储、本地存储、安全等),还是BlueField衍生的融合加速器等,都体现了DPU应用的多样性。
DPU的控制平面可以由Arm、RISC-V等CPUIP构建。CMN700等一致性网络解决内部互联,如高速内存控制(DDR5、HBM)、PCIe控制器、UCIe接口等,并易于水平扩展。当然,使用非一致性网络,如NIC-400/500、NI-700等也是可以的,具有低时延的特点。
9.
AI需求推动DPU用量大增
DPU起源于为虚拟化和网络流量的开销减负,设计上基于云服务商对自身业务的独特理解,长期以来呈现少量多样的特点,云大厂对于自家DPU的介绍也一直犹抱琵琶半遮面。为了应对数据中心网络的高要求,商用交换机的服务很难满足互联网大厂的需求,大厂普遍走上自研交换机、智能网卡/DPU的道路。但随着AI时代数据流量的剧增,不论在数据中心内部还是在边缘侧,都有大量的任务值得DPU承接,DPU有可能从少量、多样发展为大量、多样。
在英伟达看来,新一代的AI算力服务器的算力网络应该实现GPU与DPU/SuperNIC的1:1配置,如果考虑到管理网络的需求(每台服务器1~2块DPU),单台算力服务器的DPU配置可以达到10块。另一个典型新兴领域就是存储,不论是GPU直连NVMe存储的需求,或者是存储子系统的虚拟化,高性能存储节点也需要配置DPU降本增效。日益受到重视的还有边缘侧(不论是近边缘还是远边缘)激增的非结构化数据的流量,也需要相应的算力进行更有效地处理。
简而言之,早期数据中心的算力来源于通用CPU,HPC/AI对大规模并行算力的需求让GPU崛起为两强并立,而DPU正逐步发展为异构算力的第三极。DPU内部的算力来自于异构,除了嵌入式CPU,还有日趋多样的加速器资源。这些加速器既可以是FPGA,也可以是ASIC或者Chiplet方式提供。
☞ 报告连载 | 上海交通大学:优化应用部署,关注复合型人才培养
☞ 报告连载 | 华南理工大学:以多元化液冷实践打造高效绿色算力
☞ 报告连载 | 华中农业大学:释放多元算力价值,推动交叉学科应用
☞ 报告连载 | 中国人民大学:升级算力应用,打造“玉兰 10B”大模型
扫描或者点击文末“阅读原文”
可下载报告电子版
如需纸质版请注明
▼