要点概览
围绕 PCIe 架构 和 结构拓扑(Fabric) 主题展开,包含以下几个方面:
- PCIe 架构设计:关注结构管理与可组合架构。
- 功能特点:描述 GPU 和管理的可组合性。
- 拓扑结构:探讨分层与结构化拓扑类型。
- 应用场景:展示结构化的不同应用案例。
- 经验总结:分享实际应用中的教训与经验。
可组合 PCIe 系统
PCIe 5.0 互联拓扑设计-Fig-1
基于PCIe高速通道解耦计算基础设施,将内存和GPU从计算节点独立出。
图中红框标出的是GPU解耦模块,后续详细介绍。
机箱顶视图
PCIe 5.0 互联拓扑设计-Fig-2
机箱中没有额外的高性能CPU,数据控制流从计算节点(Copmute)通过PCIe交换机调取数据到GPU节点处理。
如何理解这里的 mCPU?
- mCPU 是 management CPU 的缩写,通常是一个专门用于系统管理的微处理器。
- 它与 BMC(Baseboard Management Controller)一起工作,主要用于监控与管理硬件资源,并非执行计算负载的主处理器。
mCPU 的作用
在服务器或高性能计算设备中,mCPU 通常扮演以下角色:
- 辅助管理任务: 通过 BMC 协调管理系统状态,帮助管理员进行远程监控、系统故障排查等。
- 独立运行: mCPU 通常运行一个轻量级的管理操作系统(如嵌入式 Linux),可以在主 CPU 不运行时独立工作。
- 硬件健康监控: 监测电源、温度、风扇状态等硬件信息,提供管理报告。
- 远程管理支持: 支持 IPMI(智能平台管理接口)等协议,使管理员可以远程控制服务器(开关机、重启、诊断等)。
核心软件规范
PCIe 5.0 互联拓扑设计-Fig-3
软件的关键特性与管理接口,重点包括:
- GPU功能:支持GPU可组合性与设备点对点通信(P2P),为高性能应用提供优化数据传输。
- 动态设备管理:设备可即插即用,便于扩展与维护。
- PCIe端口灵活配置:适配不同的主机与设备配置。
- 监控与管理:提供性能监控与错误检测功能,保障系统稳定运行。
- 管理接口:支持 Redfish® 标准和 RESTful API,便于自动化管理,同时提供图形用户界面(GUI),适合不同用户需求。
基于PCIe的P2P通信,和NVLink的互联通信,有什么差异?
PCIe P2P 通信:
- 是基于 PCI Express (Peripheral Component Interconnect Express) 总线的点对点通信,允许两个 PCIe 设备(如 GPU 和 GPU)直接通信而不通过主机内存(CPU DRAM)。
- 广泛应用于通用计算硬件,支持 GPU、NIC、存储等 PCIe 设备通信。
NVLink 互联:
- 是 NVIDIA 专有的高带宽互联技术,用于 GPU 和 GPU、GPU 和 CPU 之间的高速通信。
- 特别优化于 NVIDIA 的 GPU 加速器,例如 A100 和 H100 系列。
两者对比
Note:目前阶段PCIe通道的主要场景应该还是落在节点内统一设备接口规范,实现多种设备间的数据互通,GPU之间的通信互联有更高效的(如NVLink),节点之间的互联基于IB或RoCE网络。
PCIe 分层交换结构
PCIe 5.0 互联拓扑设计-Fig-4
关键组件
- HBR:基于分层的路由交换机
- GPU:图形处理单元
- NVMe:高速固态硬盘
- Network card:以太网/InfiniBand 网络卡
拓扑结构图
- 图片展示一个基于 PCIe 分层交换架构 的网络拓扑。
- 包括主机(Host)、交换机(HBR) 和多种设备(GPU、NVMe SSD 和网络卡)。
- 多层次结构:
- 第 1 层交换机 直接连接主机。
- 第 2 层及更深层交换机 连接其他硬件资源(如 GPU、存储和网络设备)。
多级HBR互联的扩展和传输效率?
- 传输效率:随着 HBR 层次增加,传输效率逐渐下降,主要受限于带宽共享、延迟累积和路由开销。
- 扩展限制:扩展并非无限,受限于 PCIe 拓扑层数(7 层以内)、交换机带宽、设备地址空间等因素。
- 实际应用:HBR 适合节点内部的多设备互联,但在大规模高性能计算中,需结合其他技术(如 NVLink 和 InfiniBand)实现更高效的跨节点通信。
PCIe 5.0 互联拓扑设计-Fig-5
右图显示,基于PCIe HBR(交换卡)实现跨节点数据互通。
Note:PCIe交换机实现跨节点数据访问,与IB/RoCE等交换机相比,PCIe实现数据交换,当前带宽不存在优势,但单点之间可实现高效通信,无需网络层协议的转换消耗,从一定程度来说有效带宽密度比网络协议交换机要高,但长距离传输是个大问题。
PCIe协议的通信原理和IB/RoCE有什么区别?
PCIe、InfiniBand (IB) 和 RoCE(RDMA over Converged Ethernet)三者都是高性能数据传输协议,但在通信原理、使用场景、架构设计等方面存在显著区别。以下是详细对比分析:
通信协议原理
PCIe(PCI Express)
- 性质:点到点的总线通信协议,用于连接节点内部的设备(CPU、GPU、存储等)。
- 原理:
- PCIe 使用 串行通信 和分层结构(事务层、数据链路层和物理层)。
- 基于 点对点 连接,每个设备通过独立通道与主机(Root Complex)或交换机(Switch)通信。
- 传输单位:TLP(Transaction Layer Packet)。
- 特性:
- 带宽随代际升级:PCIe 4.0(16 GT/s),PCIe 5.0(32 GT/s)。
- 支持 设备 P2P(Peer-to-Peer) 通信,但主要局限于节点内部。
- 应用场景:节点内设备互联,如 GPU、NVMe 存储与 CPU 通信。
InfiniBand(IB)
- 性质:一种用于高性能计算(HPC)的网络通信协议,专为低延迟、高带宽的跨节点通信设计。
- 原理:
- 使用消息传递模型,支持RDMA(Remote Direct Memory Access)。
- 通过专用网络适配器(HCA,Host Channel Adapter)实现数据传输,绕过 CPU,将数据直接写入远程节点的内存。
- 提供两种操作模式:
- 消息传递:通过发送消息进行通信。
- RDMA 模式:直接读写远程内存。
- 特性:
- 低延迟:可低至微秒级。
- 高带宽:IB HDR 网络可提供 200 Gbps,NVIDIA Quantum-2 支持 400 Gbps。
- 可靠传输:具有端到端的流控与错误恢复机制。
- 应用场景:跨节点 GPU 通信、超级计算机集群、高性能分布式存储等。
RoCE(RDMA over Converged Ethernet)
- 性质:在标准 以太网 上实现 RDMA 通信,提供 IB 类似的高性能通信能力,但基于以太网协议栈。
- 原理:
- RoCE 利用标准以太网,直接传输 RDMA 数据包。
- 分为两种版本:
- 实现 RDMA 操作,绕过 CPU,直接访问远程节点内存。
- RoCE v1:直接使用以太网数据帧,不可路由。
- RoCE v2:基于 UDP/IP,可实现跨子网的通信。
- 特性:
- 低延迟:比传统 TCP/IP 网络低,但略高于 InfiniBand。
- 高带宽:依赖于以太网标准,如 100 Gbps/200 Gbps Ethernet。
- 部署成本低:利用现有以太网基础设施,成本低于专用 IB 网络。
- 应用场景:数据中心内部通信、云计算、分布式存储等。
2. 主要区别对比
| | | |
---|
| | | |
| | | |
| | HDR: 200 Gbps NDR: 400 Gbps | |
| | | |
| | | |
| | | |
| | | |
| | | |
PCIe 5.0 互联拓扑设计-Fig-6
构建起 PCIe 交换机网络,实现加速卡、CXL内存等解耦设备更灵活的分配模式。
经验教训
1. 服务器设计
PCIe 5.0 互联拓扑设计-Fig-7
问题:服务器插槽存在总线号和内存地址不足的问题
- BIOS 对每个 PCIe CEM 插槽的总线分配
- BAR0、BAR1 和 BAR2 的内存地址
强调了服务器在 PCIe 总线号 和 内存地址空间分配 上的关键问题:
- BIOS 总线分配:
- 在大规模系统中,每个 PCIe 插槽需要 BIOS 分配唯一的总线号,但可能出现分配不足的问题。
- BAR(Base Address Register):
- PCIe 设备的 BAR 寄存器用于映射内存地址空间(BAR0、BAR1、BAR2),但内存地址空间有限,特别是在部署多个大型设备时可能会耗尽。
影响: 这些问题在高密度服务器中尤为常见,特别是在扩展多个 GPU、NVMe 存储或其他 PCIe 设备时,容易导致资源冲突或分配失败。
解决方案:
- 通过优化 BIOS 总线分配策略 和合理规划 BAR 地址空间,避免总线和内存资源不足的问题。
- 在设计时考虑更高的 PCIe 扩展能力和更大的内存地址映射空间。
Note:集成度高的服务器可能更容易面临上述问题。
2. Re-timer 重定时器
PCIe 5.0 互联拓扑设计-Fig-8
围绕 PCIe Re-timer(重定时器) 的设计与使用挑战展开,主要包括:
- 信号完整性:
- 高速信号传输容易衰减,需通过重定时器(Re-timer)进行信号修复和延展。
- 分叉与复位设计:
- 分叉(Bifurcation):将 PCIe 信道分割成多个小通道。
- 时钟和复位设计:确保信号同步和设备稳定启动。
- 散热需求:
- 高速重定时器在长时间运行时产生大量热量,需要额外的散热设计。
主要的 PCIe Re-timer 厂商 包括:
- Renesas (IDT)
- Texas Instruments (TI)
- Astera Labs
- Parade Technologies
- Broadcom
- Microchip Technology
- Intel
这些厂商的 Re-timer 产品在 服务器扩展、GPU 加速器、存储设备互联 等应用中发挥重要作用,特别是在 PCIe 4.0/5.0 高速传输场景中,通过重定时技术增强信号完整性、延长传输距离并降低误码率。
3. PCIe 网络
PCIe 5.0 互联拓扑设计-Fig-9
- GPU 热插拔复位:
- 重新配置 GPU 时,需要通过带内或带外的次级总线重置机制来保证系统稳定性。
- GPU 点对点(P2P)通信:
- 在 PCIe 交换结构 中,通过交换机实现 GPU、NVMe 和 NIC 等设备间的高效数据传输。
- 支持 单 GPU 和 带桥接的 GPU 配置,以优化通信路径和性能。
Note:设备热插拔过程中的复位和通信机制,需要从PCIe 管理面进行高可用设计。
4. 设备集成度
PCIe 5.0 互联拓扑设计-Fig-10
PCIe 设备的集成化设计,主要包括:
- 单 GPU 设备:标准 PCIe 卡中集成单个 GPU。
- 多 GPU 集成:通过 PCIe 交换机,在一张卡上集成多个 GPU,提高计算密度和带宽利用率。
- 多功能设备:在单卡中集成 GPU、PCIe 交换机和 NIC,实现计算、网络和数据传输功能一体化。
其他设备因素
PCIe 5.0 互联拓扑设计-Fig-11
- 设备功率与散热:
- GPU 等高性能设备功耗可达 1KW,需要额外的散热设计。
- 相较之下,NVMe 设备功耗低,仅 20W 左右。
- PCIe 设备外形规格:
- 提供多种外形标准(FHFL、HHFL、HHHL 等),适配不同的物理空间和功率需求。
- 包括存储类设备(如 M.2 和 U.2)、高性能插入卡(CEM Add-in Card)等。
5. 管理面API
PCIe 5.0 互联拓扑设计-Fig-12
- 管理路径:
- 以太网(数据或管理路径)
- PCIe 直接管理路径
- I2C 带外管理路径
- PCIe 设备可以通过三种路径进行管理(管理面通信协议):
- 架构设计:
- 管理主机(H1/H2) 通过 Ethernet 和 PCIe 控制 PCIe 交换机。
- PCIe 交换机 提供与 PCIe 设备的连接和管理。
- BMC 或 mCPU 负责结构管理(Fabric Management),通过 I2C 接口提供带外控制。
三种管理路径的对比
- 在 数据中心和分布式系统 中,以太网路径 用于大规模、远程管理。
- 在 节点内高性能计算场景 中,PCIe 路径 适用于快速设备管理和数据配置。
- I2C 带外路径 用于底层监控和故障恢复,提供可靠的硬件管理支持。
PCIe 5.0 互联拓扑设计-Fig-13