一、ScaleUp互联需求
- 目标: 随着GPU服务器架构向超节点形态发展,ScaleUp互联需求日益增长,旨在协同多个GPU、CPU算力以及域内互联内存池,使集群像超级GPU一样工作,满足超大模型分布式部署并行计算需求,允许CPU作为控制节点,允许域内直接挂载Memory作为存储空间。
- 拓扑: ScaleUp网络主要运行在直联拓扑和Switch互联拓扑上,直连拓扑实现简单,互联成本低,但带宽利用率不高;Switch互联拓扑可带宽池化,任意流量模式都可高效使用GPU互联带宽,但实现复杂。
- 应用场景与语义需求:
- 计算通信Overlap: 通过计算/通信Kernel分离或融合实现通信时延隐藏,提高算力性能。
- DirectCopy: 先拷贝后使用,适用于大规模连续数据传输与处理场景,依托专用硬件进行数据拷贝,减轻CPU/GPU负担。
- DirectAccess: 边读写边使用,允许计算引擎从远端HBM存储中直接读写数据,适用于高效处理大量非结构化的细粒度数据访问。
- 统一编址能力: 允许GPU共享同一个虚拟地址空间,简化异构计算编程模型,提升显存利用效率。
- 功能需求概览: ScaleUp端侧提供ScaleUpIO模块、面向应用的内存模型和集群管控和测试运维能力。
- IOD模块基础功能需求: 支持AXIAdapter接口,聚合引擎与Eth头部压缩,系统级可靠性需求,传输层流控,多级负载均衡。
- AXI事务代理: 针对push类型事务,在GPU本地ScaleUp出口侧增加事务代理,快速响应,降低并发吞吐降低限制。
- ScaleUp内存模型: 支持DirectAccess和DirectCopy语义,满足释放一致性内存模型,需要额外机制确保ScaleUp上能正确实现内存语义,支持全局释放一致性内存模型。
- 专用的ScaleUp拷贝引擎: 降低IO模块的实现开销并提升整体性能,支持GPU控制直接发起传输和直接通知GPU传输状态。
- 未来需求探讨:
- ScaleUp和ScaleOut融合: 两张网络可融合,降低GPU组网成本,但引入额外实现复杂度和开销。
- GNAI统一编程接口: 简化上层通信框架的实现和优化难度,借鉴SONIC系统和SAI抽象层设计实现的异构硬件平台的统一软件系统。
二、ETH-X协议栈总体概览
- 整体概览: 采用分层设计架构,包括ScaleUp访存协议、ScaleUp互通协议和ScaleUpD2D互联协议。
- ETH-X软硬件交互界面: 芯片须为应用程序提供标准化的软件接口,包括直接访问语义、直接拷贝语义和统一地址空间。
- ETH-X事务层: GPU-GPU访存协议,包括PAXI系统组件、AXI访存协议、PAXI特性概览、PAXI事务层工作流程、PAXI对上层接口的信号列表、PAXI网络地址转译、TLFlit与PAXIMACPacket封装方式、PAXI流量控制、PAXI事务顺序、与MACLayer的接口定义。
- ETH-X数据链路层: GPU-Switch互通协议,包括转发效率优化(ETH-XPRI帧格式)、可靠性增强(L2LLR)、流控能力增强(CBFC)、基础流控能力(PFC)、负载均衡技术(ECMP)、调度机制(QoS)。
- ETH-X物理层: 遵循标准以太IEEE802.3的PMD和PCS定义,支持单通道50Gb/s,100Gb/s,以及后续的单通道200Gb/s,接口支持100G、200G、400G、800G速率。
- D2D互联: 计算DIE与IODIE的互联能力,基于IO芯粒方案的优势,UCIe技术,Protocol适配,IO芯粒功能介绍。