1. 课程导入
欢迎进入《DPU/GPU/NVLink 异构互联》课程。在开始拆解协议、拓扑与调优细节之前,本章先建立一张“全局地图”:为什么数据中心正在从“以 CPU 为中心”转向“以数据流为中心”,DPU、GPU 与 NVLink 各自解决什么问题,它们又如何在同一台服务器、同一个机架乃至同一个集群中协同工作。理解这张地图,后续学习 PCIe 拓扑、GPUDirect、NVLink 带宽模型、DPU 卸载路径时,才不会陷入“只记参数、不懂位置”的困境。
1.1 异构计算趋势:算力不再只由 CPU 提供
过去二十年,数据中心的基本假设是“CPU 负责一切”:网络收包、存储协议、虚拟交换、业务逻辑、数据库事务全部由通用处理器完成。但随着 25G/100G/400G 网络普及、AI 训练与推理规模膨胀、云原生微服务东西向流量激增,CPU 逐渐被三类任务拖垮:
- 数据搬运:网络包在用户态与内核态之间拷贝、存储协议栈解析、加密解密,消耗大量 CPU 周期却不产生业务价值。
- 并行计算:矩阵乘、卷积、注意力机制等操作天然适合 GPU 的数千个计算核心,CPU 串行执行效率极低。
- 节点间通信:分布式训练中梯度同步、参数交换、AllReduce 通信,要求高带宽、低延迟、低 CPU 占用的互联通道。
于是,异构计算成为主流架构:CPU 负责控制面与通用逻辑,GPU 承担大规模并行计算,DPU 承接网络、存储、安全与虚拟化卸载,NVLink 则在高性能节点内部与节点之间提供远超 PCIe 的互联带宽。四者不是替代关系,而是分工关系。
核心判断:异构互联的本质不是“堆更多芯片”,而是让合适的数据在合适的介质上,以合适的协议,走合适的路径。DPU 管“进出”,GPU 管“计算”,NVLink 管“高速对话”,CPU 管“调度与兜底”。
1.2 DPU、GPU、NVLink 在数据中心中的角色
为了更直观地理解三者在数据中心的定位,可以用“一座现代化物流中心”作类比:GPU 是高速分拣与加工车间,DPU 是装卸月台与安检通道,NVLink 是车间之间的高速传送带,CPU 则是调度中心。下面这张图展示了典型异构节点中三者的位置与数据流向关系。
从图中可以看到,DPU 位于服务器与数据中心网络之间,承担“进出流量”的卸载;GPU 位于计算核心位置,通过 NVLink/NVSwitch 互相高速通信;CPU 通过 PCIe 连接 DPU 与 GPU,负责控制与调度。数据流可以从网络经 DPU 直接进入 GPU 显存(GPUDirect RDMA),也可以经 NVLink 在 GPU 之间同步,而不必反复经过 CPU 和系统内存。
1.3 整体课程框架:30 章的学习路径
本课程共 30 章,按照“基础认知 → 协议与硬件 → 拓扑与配置 → 性能与排障 → 场景与实战”的顺序展开。下表给出整体框架与各阶段重点,帮助你在学习过程中随时定位当前章节的位置。
| 阶段 | 章节范围 | 核心内容 | 学习目标 |
|---|---|---|---|
| 导入与基础 | 第 1~5 章 | 异构计算趋势、DPU/GPU/NVLink 角色、PCIe 基础、RDMA 概念 | 建立全局地图,理解各部件分工 |
| 协议与硬件 | 第 6~12 章 | NVLink 协议、NVSwitch、GPUDirect、DPU 加速引擎、RoCEv2 | 掌握关键协议与硬件能力边界 |
| 拓扑与配置 | 第 13~19 章 | PCIe 拓扑、NUMA 亲和、GPU 直连、DPU 部署模式、SR-IOV | 能读懂拓扑图并完成基础配置 |
| 性能与排障 | 第 20~25 章 | 带宽测试、延迟分析、瓶颈定位、日志与计数器、常见故障树 | 能定位互联性能问题并给出优化方向 |
| 场景与实战 | 第 26~30 章 | AI 训练集群、云原生网络、存储卸载、多租户隔离、综合案例 | 能设计并调优真实异构互联方案 |
1.4 核心原理:异构互联的三条数据路径
无论后续章节讨论多少细节,异构互联始终围绕三条数据路径展开:
- 控制路径:CPU 通过 PCIe 配置 GPU、DPU,下发任务、查询状态。这条路径数据量小,但要求可靠、可管理。
- 计算路径:GPU 内部及 GPU 之间通过 NVLink/NVSwitch 交换梯度、激活值、KV Cache 等,要求极高带宽和极低延迟。
- 数据进出路径:网络流量经 DPU 卸载后,通过 GPUDirect RDMA 直接写入 GPU 显存,或经存储协议进入 NVMe 池,尽量减少 CPU 拷贝。
学习提示:遇到任何异构互联问题,先问三个问题——数据从哪来、到哪去、走哪条路径?把问题映射到上述三条路径之一,再查对应章节,定位效率会大幅提升。
1.5 案例场景:一次分布式训练中的互联协作
假设一个 8 卡 GPU 服务器组成分布式训练集群,每台服务器配 2 张 DPU 和 8 张 GPU,GPU 之间通过 NVSwitch 全互联。一次训练迭代中:
- 训练数据从远端存储经 DPU 的存储卸载引擎进入本地 NVMe,再由 CPU 调度送入 GPU 显存。
- GPU 完成前向与反向计算后,梯度通过 NVLink/NVSwitch 在 8 卡之间做 AllReduce。
- 跨节点梯度同步通过 DPU 的 RoCEv2 通道以 RDMA 方式发送到其他节点,直接写入对端 GPU 显存。
- CPU 只负责启动、监控和异常处理,不再参与大规模数据搬运。
如果其中任一环节配置不当,例如 GPU 与网卡不在同一 NUMA 节点、NVLink 降速、DPU 卸载未启用,都会导致训练吞吐明显下降。这也是后续性能与排障章节要重点解决的问题。
1.6 常见误区与复盘
误区一:认为“GPU 越快,训练就越快”。实际上,当互联带宽不足时,GPU 大量时间在等待数据,算力利用率可能低于 30%。
误区二:把 DPU 当成“更快的网卡”。DPU 的价值在于卸载网络、存储、安全与虚拟化,若只当网卡用,等于浪费了其 ARM 核与加速引擎。
误区三:忽视 NVLink 与 PCIe 的差异。NVLink 带宽远高于 PCIe,但并非所有数据都走 NVLink;跨节点通信仍依赖网络与 RDMA。
复盘来看,异构互联的学习重点不是记住某个具体型号的带宽数字,而是建立“路径意识”:知道数据在 CPU、GPU、DPU、NVLink、网络之间如何流动,知道每条路径的带宽、延迟与 CPU 占用特征,知道瓶颈可能出现在哪里。带着这张地图进入后续章节,你会更容易把零散知识点串成体系。
# 快速查看本机异构设备拓扑的常用命令
nvidia-smi topo -m # 查看 GPU 间及 GPU 与网卡的拓扑关系
lspci -tv # 查看 PCIe 设备树
ibv_devinfo # 查看 RDMA 设备与端口状态
systemctl status nvidia-fabricmanager # 查看 NVSwitch 管理服务状态
本章作为课程导入,已经完成了三件事:明确了异构计算趋势与 DPU/GPU/NVLink 的角色分工,给出了 30 章的整体学习框架,并用一张角色与数据流图建立了“三条路径”的认知模型。接下来,课程将进入 PCIe 与 RDMA 基础,逐步拆解这些路径背后的协议与硬件细节。