《字节跳动:2025年GPU Scale-up 互联技术白皮书(24页).pdf》由会员分享,可在线阅读,更多相关《字节跳动:2025年GPU Scale-up 互联技术白皮书(24页).pdf(24页珍藏版)》请在三个皮匠报告上搜索。
1、 目录 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 集群处理更大的数据集,训练更深的神经网络和处理更多的并发任务,同时还要减少任务执行时间以及提高系统整体效率。这需要 GP
2、U 集群的 Scale-up 网络规模持续增大,扩展到机架级甚至多机架级。以太网技术应用在 GPU 集群互联架构具有诸多优势,例如:行业领先的高速链路,大容量交换机,成熟的生态系统等。目前,多个行业组织正在开发用于 AI 集群的 Scale-up 网络技术,这些技术或是对以太网进行扩展,或是将以太网部分组件用作构建模块。字节跳动基于以太网技术,为 AI 集群提供了低延迟、高带宽的下一代 Scale-up 网络方案,满足了 AI 应用对于 GPU 之间的高速互联传输需求。2 02 GPU 架构和互联方案 2.1 GPU 架构分析 目前主流的 GPU 架构都支持 Load-Store 语义,如下图
3、所示,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 包括 L
4、1/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
5、与寄存器之间,以及 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/S
6、tore 指令来完成数据的搬运。Load/Store 指令的内存地址或者寄存器地址信息,需要计算引擎提前生成并发给 LSU,Load/Store 指令的地址信息处理会消耗计算引擎的算力资源。因此通过 LSU 来完成大块数据的传输,会伴随计算引擎的部分算力资源的消耗。为了优化 GPU 数据传输方案,降低计算引擎用于数据传输的算力资源,新型号的 GPU 在片内增加了类似于 DMA 引擎的传输模块,如 NVIDIA 从 Hopper 系列的 GPU 开始,在 SM 内增加了 Tensor Memory Accelerator(TMA),专门用于 Global Memory 到 Shared Memo