第2章:DPU硬件架构入门

说实话,很多刚接触DPU的朋友,第一反应都是——这玩意儿和CPU有啥区别?

我当年第一次拿到BlueField的规格书时,也懵了半天。后来拆了几块板子,翻了几个月文档,才算真正搞明白。今天我就把这点经验分享给你。

2.1 DPU芯片内部组成

一个典型的DPU芯片,说白了就是三大部分:ARM核、硬件加速引擎、网络接口。这三者缺一不可。

核心观点:DPU不是简单的“CPU+网卡”,而是一个专门为数据中心基础设施设计的异构处理器。

2.1.1 ARM核:DPU的大脑

ARM核负责控制面操作。比如处理网络协议栈的控制逻辑、运行管理固件、执行安全策略等。

我个人习惯把ARM核比作“管家”——它不干重活,但所有事情都得经过它调度。

  • 典型配置:16-64个ARM Cortex-A72/A78核
  • 主频:2-3GHz
  • 缓存:L1/L2/L3三级缓存,通常几MB到几十MB

我在项目中遇到过一个问题:ARM核跑Linux时,中断处理太频繁,导致转发性能下降。后来把中断绑到特定核上,才解决。嗯,这里要注意——ARM核的亲和性设置很关键。

2.1.2 硬件加速引擎:真正的“大力士”

这部分才是DPU的精华。说白了,就是把那些CPU干起来费劲的活,用硬件电路直接搞定。

常见的加速引擎包括:

  • 包处理引擎:支持L2-L4转发,线速处理
  • 加密引擎:IPsec、TLS、AES等硬件卸载
  • 存储加速:NVMe over Fabrics、压缩/解压缩
  • 正则匹配:用于深度包检测(DPI)
  • 调度器:QoS、流量整形

避坑指南:我曾经以为所有加速引擎都能同时满负荷工作。后来发现,芯片内部总线和内存带宽才是瓶颈。选型时一定要看“并发能力”,别光看峰值。

2.1.3 网络接口:DPU的门面

网络接口负责和外界通信。目前主流是25GbE/100GbE,高端产品已经到200GbE甚至400GbE。

接口类型 速率 典型应用
25GbE 25 Gbps 通用服务器
100GbE 100 Gbps 高性能计算
200GbE 200 Gbps AI训练集群
400GbE 400 Gbps 超大规模数据中心

你想想看,如果网络接口跟不上,ARM核再强、加速引擎再多,也是白搭。这就是木桶效应。

2.2 主流DPU厂商介绍

目前市场上三足鼎立:NVIDIA、Intel、AMD。每家都有自己的思路和生态。

2.2.1 NVIDIA BlueField

BlueField是目前最成熟的DPU产品线。它基于Mellanox的ConnectX网卡技术,加上ARM核和加速引擎。

  • BlueField-2:8个ARM A72核,200GbE,支持DOCA SDK
  • BlueField-3:16个ARM A78核,400GbE,AI加速
  • BlueField-4:传闻中,集成更多AI能力

我最早接触DPU就是从BlueField-2开始的。说实话,DOCA的文档写得不错,但学习曲线还是有点陡。建议你先从基础例程入手,别一上来就搞复杂应用。

2.2.2 Intel IPU

Intel的IPU(Infrastructure Processing Unit)走的是另一条路。它基于Xeon D或Agilex FPGA,强调灵活性和可编程性。

  • Mount Evans:Intel和Google联合开发,基于Xeon D
  • Oak Springs Canyon:基于Agilex FPGA,适合原型验证

注意:Intel IPU的生态相对封闭,很多功能需要配合Intel的CPU和网卡才能发挥最佳效果。如果你用的是AMD或ARM服务器,兼容性要提前测试。

2.2.3 AMD Pensando

Pensando是AMD收购的一家DPU初创公司。它的特点是:P4可编程数据平面,灵活性极高。

  • DSC-200:100GbE,适合边缘和云
  • DSC-300:200GbE,面向数据中心

我个人觉得Pensando的P4编程模型很有意思。你想想看,用P4写转发逻辑,比用C语言写ARM固件要直观得多。不过P4的学习门槛也不低,建议先看几个例子再动手。

2.3 DPU开发板选型指南

选开发板,说白了就是看你的需求。我总结了几条经验:

  1. 看接口速率:25GbE够用就别上100GbE,省成本
  2. 看ARM核数:控制面复杂就多核,简单就少核
  3. 看加速引擎:需要什么功能就选对应的板子
  4. 看生态支持:文档、社区、SDK成熟度很重要

我的建议:初学者先买NVIDIA BlueField-2的入门级开发板,大概2000-3000美元。等上手了再考虑升级。别一上来就买最贵的,万一吃灰就亏了。

我曾经帮一个客户选型,他非要买400GbE的板子,结果他的服务器连100GbE的PCIe插槽都没有。嗯,这就是典型的“买得起马配不起鞍”。

本章小结

DPU硬件架构的核心就是ARM核+加速引擎+网络接口。三大厂商各有千秋:NVIDIA生态最成熟,Intel灵活性高,AMD可编程性强。选开发板时,别光看参数,要结合自己的实际需求。

下一章我们会深入DPU的软件栈,看看怎么让这些硬件跑起来。到时候我会分享一些我踩过的坑,保证让你少走弯路。


专注资料整理