2025年GPU+Scale-up+互联技术白皮书-字节跳动
目录 CONTENT 1. 引言 ...................................................................... 1 2. GPU 架构和互联方案 ................................................. 2 2.1 GPU 架构分析 ...................................................................... 2 2.2 GPU 互联方案 ...................................................................... 5 3. 下一代 Scale-up 互联方案 ......................................... 8 3.1 需求分析 ............................................................................. 8 3.2 网络方案 ........................................................................... 10 4. EthLink 网络方案 .................................................. 12 4.1 EthLink 协议栈................................................................... 13 4.2 网络拓扑 ........................................................................... 18 4.3 网络接口 ........................................................................... 19 1 01 引言 随着机器学习和人工智能等领域的持续发展,AI 模型对 GPU 集群数据处理能力的需求也在不断提升。AI 应用需要 GPU 集群处理更大的数据集,训练更深的神经网络和处理更多的并发任务,同时还要减少任务执行时间以及提高系统整体效率。这需要 GPU 集群的 Scale-up 网络规模持续增大,扩展到机架级甚至多机架级。 以太网技术应用在 GPU 集群互联架构具有诸多优势,例如:行业领先的高速链路,大容量交换机,成熟的生态系统等。目前,多个行业组织正在开发用于 AI 集群的 Scale-up 网络技术,这些技术或是对以太网进行扩展,或是将以太网部分组件用作构建模块。 字节跳动基于以太网技术,为 AI 集群提供了低延迟、高带宽的下一代 Scale-up 网络方案,满足了 AI 应用对于 GPU 之间的高速互联传输需求。 2 02 GPU 架构和互联方案 2.1 GPU 架构分析 目前主流的 GPU 架构都支持 Load-Store 语义,如下图所示,GPU 的计算引擎从寄存器中读写数据并完成数据的处理,LSU(Load-Store Unit)通过 Load/Store 指令在寄存器和 Device Memory 之间,以及 Device Memory 和外部 Memory 之间完成数据传输。 3 基于上述架构模型的 GPU,计算引擎主要负责数据的处理,LSU 负责数据的传输,如下图所示,两个模块可以并行工作形成流水线,数据传输主要依靠 Load 和 Store 语义完成。 实际的 GPU 架构要比上述的 GPU 架构模型更加复杂,GPGPU(General Purpose GPU)架构通常如下图所示,Device Memory 包括 L1/L2 Cache 和 Shared Memory,Shared Memory 和 L1 Cache 位于 Streaming Multiprocessor(SM)内部,不能在 SM 之间进行共享。L2 Cache 位于 SM 外部,可以被所有 SM 共享。GPU 外部 Memory 为 Global Memory,可以被所有的 SM 访问,也可以被 CPU 或者其他 GPU 访问。 在上述 GPU 的架构中,GPU 主要通过 LSU 完成数据的传输,如下图所示。计算引擎通过寄存器进行数据的访问,IO 时延为 ns 级。LSU 通过 Load/Store 操作实现 Shared Memory 与寄存器之间,以及 Shared Memory 与/L1/L2 Cache 之间的数据传输,IO 时延为 10ns 级,IO Size 通常为寄存器级(32/64 bit)。当出现 Cache Miss 时,LSU 需要进行 Global Memory 和 4 Shared Memory 之间的数据传输,IO 时延为 100ns 级,IO Size 为 Cache Line Size(64/128/256 Byte)。 在 AI 应用场景中,计算引擎需要处理大量的数据信息,LSU 可以实现数据的高效传输,但是 LSU 每次传输的数据块比较小,在传输大块数据时,需要 LSU 下发多个 Load/Store 指令来完成数据的搬运。Load/Store 指令的内存地址或者寄存器地址信息,需要计算引擎提前生成并发给 LSU,Load/Store 指令的地址信息处理会消耗计算引擎的算力资源。因此通过 LSU 来完成大块数据的传输,会伴随计算引擎的部分算力资源的消耗。 为了优化 GPU 数据传输方案,降低计算引擎用于数据传输的算力资源,新型号的 GPU 在片内增加了类似于 DMA 引擎的传输模块,如 NVIDIA 从 Hopper 系列的 GPU 开始,在 SM 内增加了 Tensor Memory Accelerator(TMA),专门用于 Global Memory 到 Shared Memory 之间的数据传输,如下图所示。 5 GPU 在增加了 TMA 模块之后,不再需要计算引擎消耗算力资源来在数据传输过程中持续计算 Load/Store 指令的地址信息,只需要计算引擎将数据传输的描述符下发给 TMA 模块,TMA 模块自行计算数据的内存地址信息,独立完成数据在 Global Memory 和 Shared Memory 之间的传输。数据传输流程如下图所示,TMA 通过 DMA Read 和 DMA Write 语义完成 Global Memory 和 Shared Memory 之间的数据传输,LSU 通过 Load/Store 语义完成 Shared Memory 到寄存器之间的数据传输。 2.2 GPU 互联方案 AI 集群的训练和推理任务,通常需要多个 GPU 协同完成,计算引擎需要处理的数据可能位于多个 GPU 的 Global Memory 中,这时就需要通过 Scale-up 网络和 Scale Out 网络来完成 GPU 之间的数据传输。GPU 的
2025年GPU+Scale-up+互联技术白皮书-字节跳动,点击即可下载。报告格式为PDF,大小5.37M,页数24页,欢迎下载。