DPU的全称是Data Processing Unit,即数据处理单元。因为算力需求持续增长,将存储和网络传输等非计算环节从CPU卸载到DPU等专用芯片上进行,构建以“联接+计算”为中心的新型数据中心架构,提高数据中心计算能力和运行效率。
DPU 最直接的作用是作为 CPU 的卸载引擎,接管网络虚拟化、硬件资源池化等基础设施层服务,释放 CPU 的算力到上层应用。传统的服务器架构中,核心芯片主要为CPU 与 GPU,其中 CPU 通常被描述为计算机的大脑,被认为是主处理器。GPU 则是执行规则计算的主力芯片。
但是伴随着数据量的上升,就像是 CPU 在处理图像时不够高效需要 GPU 一样,CPU 对于网络协议处理,交换路由计算,加密解密,数据压缩等计算密集的任务处理效率也不高,同时因为兼顾了计算和 I/O 任务,导致 CPU 的计算进程极容易被打断。在这样的背景下 DPU 诞生,DPU 被定义为强化数据面性能的专用处理器,配合控制面的 CPU,可以实现性能与通用性的更佳的平衡。
用一个生活中的例子通俗解释一下CPU、GPU、DPU之间的关系:
在一个小餐厅里,有一个厨师负责烹饪、切菜和端菜等所有工作(就像中央处理器CPU)。起初,餐厅的生意不是很忙,这个厨师一个人能够胜任所有的任务。但随着时间的推移,餐厅的生意越来越好,客人越来越多,这使得厨师的工作变得非常繁重。
为了提高效率,餐厅决定引进一些专门的助手。首先,他们雇佣了一个专门负责切菜的助手,这个助手可以快速地将食材切成需要的大小和形状,为厨师减轻了一部分工作负担。这个助手就好比GPU(图形处理器),它专门负责处理图形相关的任务。
然而,随着餐厅的生意继续增长,端菜的工作也变得繁忙起来。为了更好地处理这个任务,餐厅又雇佣了一位专门的服务员,他负责将菜品端到客人的桌子上。这个服务员就好比DPU(数据处理器单元),它专门负责处理数据相关的任务。
现在,厨师可以专注于烹饪,而切菜助手负责处理切菜任务,服务员负责处理端菜任务。这样一来,餐厅的工作效率大大提高,能够更好地满足客人的需求。
CPU就像是最初的厨师,负责处理所有的任务。而GPU和DPU则像是专门的助手和服务员,分别负责处理特定类型的任务,从而提高整体的工作效率。
作为继数据中心 CPU、GPU 之后的“第三颗主力芯片”,DPU 或将成为应对算力规模快速增长的核心。功能卸载是 DPU 的核心能力,以此为基础实现对 CPU 的算力释放与扩张。上文我们提到过 CPU、GPU、DPU 三大核心芯片的区别,以及 DPU 最直接的作用是作为CPU 的卸载引擎,释放 CPU 的算力到上层应用。
具体来看,DPU 主要有卸载网络、存储、安全和管理控制等功能。以功能卸载为基础,DPU 实现了 CPU 的算力释放与算力扩展。算力释放:即无需 CPU 介入多次访问内存和外设,避免不必要的数据搬运、拷贝和上下文的切换,直接在网卡硬件上对数据完成处理并交付给最终消费数据的应用。算力扩展:
DPU源于网卡演进,网卡逐渐具备更丰富的功能,进而成为独立的 DPU 芯片。传统的基础网卡是将用户要传递的数据转换网络设备能识别的格式,通过网络介质传输。其不具备任何面向应用的加速功能,只承担了将主机接入网络的功能,CPU 承担所有的数据报文的处理工作。硬件卸载网卡相对于基础标准网卡,具备加速和卸载功能,以数据平面的卸载为主。DPU 在硬件卸载网卡的程度上更进一步,可以用来卸载控制平面的任务和一些灵活复杂的数据平面任务。
DPU网卡的演进主要分为以下三个阶段:
- 传统基础网卡NIC:负责用户的数据交互设备,具有较少的硬件卸载能力
- 智能网卡SmartNIC:具备丰富的数据平台硬件卸载能力;
- 数据处理器DPU:兼具智能网卡功能的同事,又可以卸载控制平面业务,实现了控制平面与数据平面的通用可编程加速。
架构上:DPU是一种SOC。DPU本质上是一种SOC(System on Chip),它结合了三种功能:1)可编程的多核CPU(基于Arm架构);2)高性能网络接口(解析、处理数据并将数据传输至GPU和CPU);3)各种灵活和可编程的加速引擎。
DPU当前有三种技术路线,各有利弊。目前在DPU的实践上,有ASIC、FPGA和SoC三种技术方案。ASIC的优点是高性能、低功耗、低成本,但是灵活性一般(可编程性较低);FPGA的优点是灵活度高,可支持较多功能,但是成本高,芯片集成度低;对于更复杂、广泛的现实用例,是基于SoC(如英伟达 Blue Field DPU),SOC具备可编程、灵活度、成本居中等优点。
DPU 的出现有望极大降低数据中心成本。从具体实现上看,单个 DPU 可以提供相当于 125 个 CPU 内核所提供的数据中心服务。根据英伟达的验证数据,780 台安装有NVIDIA BlueField DPU 的服务器,相当于 1000 台安装有标准智能网卡的服务器,每台服务器的 TCO(总体投入)可节省 8200 美元,3 年内通过提升效率可节省 180 万美元。同时,DPU 可以减少 CPU 能耗,在满负荷网络上运行的服务器的 CPU 能耗从 190 瓦降至 145 瓦,下降了 24%,这意味着一个大型数据中心可在三年间削减近 200 万美元的电力成本。
算力需求驱动DPU市场快速增长。当前智能网卡的方案逐步成熟,AIGC驱动下,算力需求得到快速增长,随着数据中心运营效率提升诉求日益强烈,DPU需求有望实现快速增长。