
BlueField DPU是NVIDIA收购以色列网络芯片商Mellanox后,基于SmartNIC 技术继承发展出来的。
目前最新的是2023年全面投产的BlueField-3 DPU。下一代BlueField-4 预计25年发布。相比于BlueField-3 DPU AI加速使用的是ARM处理器,BlueField-4 DPU会集成一个GPU做AI加速。

BlueField-3 DPU的比较硬的指标如下:
网络接口 | 1 或 2 端口,400Gb/s,以太网或 IB |
|---|---|
主机接口 | PCIe5.0 x32 |
处理器 | 16 个 ARM Cortex-A78核心 8MB 二级缓存 ,16MB LLC 系统缓存 |
内存 | 双DDR5 5600MT/s DRAM ECC内存,内存容量32GB |
BlueField-3 DPU的硬件架构如下图:

其中DPA(Datapath Accelerator)是单独的嵌入式系统,不占16个ARM核的计算能力。可加速在某些数据包和 I/O 处理工作负载中需要对 NIC 引擎进行高性能访问的工作负载。

BlueField-3 DPU提供的加速功能有:
1.安全
平台安全、使用硬件信任根的安全启动、板载闪存加密、设备认证、正则表达式(RegEx)匹配处理器、 IPsec/TLS/MACSec 128/256 位 动态数据加密、公钥加速器(PKA)、真随机数生成器(TRNG)等
2.存储
NVMe和 VirtIO-blk 、NVMe-oF 和 NVMe/TCP加速 、解压缩引擎、用于 RAID 实施的纠删码
3.网络
RoCE、零接触 RoCE 、加速交换和数据包处理、SR-IOV、 VirtIO 加速 、Overlay 网络加速、用户自定义数据流分类、无状态 TCP 卸载等
4.HPC/AI加速
HPC / AI All-to-All 引擎、GPUDirect、 GPUDirect Storage (GDS)、 HPC MPI 标签匹配

就像NVIDIA的GPU配套CUDA一样,BlueField-3 DPU也有自己配套的软件框架DOCA。

DOCA包括两部分:
1:DOCA-Host:该软件包安装在Host上,包括库和驱动程序
2:BlueField 软件包:该软件包位于DPU设备上,包括固件、OS、DOCA运行时驱动程序和库。

DOCA 驱动为DPU提供了在主机OS内核中运行的必要接口,使设备能够与主机系统进行通信和交互,从而实现对网络、存储、安全等基础设施服务的卸载、加速和隔离。
DOCA 库建立在DOCA 驱动之上,为开发者提供了更高层次的编程接口和功能调用,DOCA库已经提前做好性能优化,、场景丰富并有示例引导,从而使得开发者能够更便捷地利用 DPU的加速能力,开发出各种高性能、安全可靠的数据中心应用程序,而无需深入了解底层硬件细节。比如,DOCA Flow 库可用于定义和控制网络流量,实现网络策略和管理功能;DOCA App Shield 库专注于主机监控和威胁检测,提供高级容器监控功能等。
DOCA还配套了一系列工具包可供使用者使用:
lDOCA Bench:可评估DOCA 应用程序的性能
lCapabilities Print:可打印在 DPU 中的可用设备及可见设备、他们的能力,以及可用的 DOCA 库
lDPA Tools:一组可执行文件,可用他们管理和监控 DPA 资源以及调试 DPA 应用程序
lFlow Tune:可为 DOCA Flow 程序提供可见性和分析功能
lDOCA Ngauge:可用于探测 NIC 硬件计数器并以 HDF5 格式存储收集的数据以及相关元数据
lPCC Counter:用于打印与 PCC 相关的硬件计数器。
lSocket Relay:允许将 Unix 域套接字(AF_UNIX 系列)服务器应用程序卸载到 DPU,同时双方之间的通信由 DOCA Comch 代理
lDOCA Telemetry Utils: 可用于显示所有可用的计数器,能够生成计数器 ID,这些 ID 可在其他 DOCA 工具中使用。可帮助了解网络设备当前支持的各类性能指标和状态数据,如数据包数量、吞吐量、延迟等,从而对设备的运行状况有全面的把握。
可参考DOCA SDK官方文档以及开发社区进行DPU编程。