前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >PCIe Gen5 互联拓扑设计与经验

PCIe Gen5 互联拓扑设计与经验

作者头像
数据存储前沿技术
发布2025-02-11 19:21:28
发布2025-02-11 19:21:28
1570
举报

要点概览

围绕 PCIe 架构结构拓扑(Fabric) 主题展开,包含以下几个方面:

  1. PCIe 架构设计:关注结构管理与可组合架构。
  2. 功能特点:描述 GPU 和管理的可组合性。
  3. 拓扑结构:探讨分层与结构化拓扑类型。
  4. 应用场景:展示结构化的不同应用案例。
  5. 经验总结:分享实际应用中的教训与经验。

可组合 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

软件的关键特性与管理接口,重点包括:

  1. GPU功能:支持GPU可组合性与设备点对点通信(P2P),为高性能应用提供优化数据传输。
  2. 动态设备管理:设备可即插即用,便于扩展与维护。
  3. PCIe端口灵活配置:适配不同的主机与设备配置。
  4. 监控与管理:提供性能监控与错误检测功能,保障系统稳定运行。
  5. 管理接口:支持 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

关键组件
  1. HBR:基于分层的路由交换机
  2. GPU:图形处理单元
  3. NVMe:高速固态硬盘
  4. 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,将数据直接写入远程节点的内存。
    • 提供两种操作模式:
    1. 消息传递:通过发送消息进行通信。
    2. RDMA 模式:直接读写远程内存。
  • 特性:
    • 低延迟:可低至微秒级。
    • 高带宽:IB HDR 网络可提供 200 Gbps,NVIDIA Quantum-2 支持 400 Gbps。
    • 可靠传输:具有端到端的流控与错误恢复机制。
  • 应用场景:跨节点 GPU 通信、超级计算机集群、高性能分布式存储等。

RoCE(RDMA over Converged Ethernet)
  • 性质:在标准 以太网 上实现 RDMA 通信,提供 IB 类似的高性能通信能力,但基于以太网协议栈。
  • 原理:
    • RoCE 利用标准以太网,直接传输 RDMA 数据包。
    • 分为两种版本:
    • 实现 RDMA 操作,绕过 CPU,直接访问远程节点内存。
    1. RoCE v1:直接使用以太网数据帧,不可路由。
    2. RoCE v2:基于 UDP/IP,可实现跨子网的通信。
  • 特性:
    • 低延迟:比传统 TCP/IP 网络低,但略高于 InfiniBand。
    • 高带宽:依赖于以太网标准,如 100 Gbps/200 Gbps Ethernet。
    • 部署成本低:利用现有以太网基础设施,成本低于专用 IB 网络。
  • 应用场景:数据中心内部通信、云计算、分布式存储等。

2. 主要区别对比

特性

PCIe

InfiniBand (IB)

RoCE

通信范围

节点内部设备通信

跨节点,数据中心级别

跨节点,基于以太网

传输原理

点对点通信,总线协议

RDMA + 消息传递

基于以太网的 RDMA

带宽

PCIe 5.0: 32 GB/s (x16)

HDR: 200 Gbps NDR: 400 Gbps

100/200 Gbps Ethernet

延迟

节点内低延迟

微秒级,最低延迟

亚微秒级,但略高于 IB

通信模型

点对点通信,P2P 支持

RDMA 消息传递,直接内存访问

RDMA 消息传递,基于 UDP/IP

部署成本

高成本,仅限于节点内部

高成本,需要专用网络设备

较低成本,使用现有以太网

扩展性

局限于节点内部,非无限扩展

可大规模横向扩展

基于以太网的可扩展性

应用场景

节点内设备连接(CPU、GPU)

高性能计算(HPC)、GPU集群通信

云计算、数据中心、分布式存储

PCIe 5.0 互联拓扑设计-Fig-6

构建起 PCIe 交换机网络,实现加速卡、CXL内存等解耦设备更灵活的分配模式。

经验教训

1. 服务器设计

PCIe 5.0 互联拓扑设计-Fig-7

问题:服务器插槽存在总线号和内存地址不足的问题

  • BIOS 对每个 PCIe CEM 插槽的总线分配
  • BAR0、BAR1 和 BAR2 的内存地址

强调了服务器在 PCIe 总线号 和 内存地址空间分配 上的关键问题:

  1. BIOS 总线分配:
    • 在大规模系统中,每个 PCIe 插槽需要 BIOS 分配唯一的总线号,但可能出现分配不足的问题。
  2. 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(重定时器) 的设计与使用挑战展开,主要包括:

  1. 信号完整性
    • 高速信号传输容易衰减,需通过重定时器(Re-timer)进行信号修复和延展。
  2. 分叉与复位设计
    • 分叉(Bifurcation):将 PCIe 信道分割成多个小通道。
    • 时钟和复位设计:确保信号同步和设备稳定启动。
  3. 散热需求
    • 高速重定时器在长时间运行时产生大量热量,需要额外的散热设计。

主要的 PCIe Re-timer 厂商 包括:

  1. Renesas (IDT)
  2. Texas Instruments (TI)
  3. Astera Labs
  4. Parade Technologies
  5. Broadcom
  6. Microchip Technology
  7. 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 设备的集成化设计,主要包括:

  1. 单 GPU 设备:标准 PCIe 卡中集成单个 GPU。
  2. 多 GPU 集成:通过 PCIe 交换机,在一张卡上集成多个 GPU,提高计算密度和带宽利用率。
  3. 多功能设备:在单卡中集成 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) 通过 EthernetPCIe 控制 PCIe 交换机。
    • PCIe 交换机 提供与 PCIe 设备的连接和管理。
    • BMC 或 mCPU 负责结构管理(Fabric Management),通过 I2C 接口提供带外控制。

三种管理路径的对比

  • 数据中心和分布式系统 中,以太网路径 用于大规模、远程管理。
  • 节点内高性能计算场景 中,PCIe 路径 适用于快速设备管理和数据配置。
  • I2C 带外路径 用于底层监控和故障恢复,提供可靠的硬件管理支持。

PCIe 5.0 互联拓扑设计-Fig-13

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 要点概览
    • 可组合 PCIe 系统
    • 机箱顶视图
    • 核心软件规范
    • PCIe 分层交换结构
    • 经验教训
      • 1. 服务器设计
      • 2. Re-timer 重定时器
      • 3. PCIe 网络
      • 4. 设备集成度
      • 5. 管理面API
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档