面向新型智算中心的技术探索 李锴项目经理 目录 一:技术背景二:CXL互联三:技术探索 一:技术背景 趋势挑战:计算领域中,算力密度的增长速度超过I/O增长 每计算Core拥有DRAM通道、PCIe带宽呈不断下降趋势 计算Cores数增长迅速,但DDR和PCIe等I/O跟不上计算密度的增长 面对内存需求增加与算存比拉大之间的矛盾,对总线协议和访问效率提出改进需求,推动整体架构改进 产业发展:深度学习迎来大模型时代,万亿参数模型将成新常态 参数模型快速扩大,拥有万亿参数的模型将成为标准配置,为基础设施带来挑战 算力增长100亿倍 ★ GPT-3 ★ GPT-2 ★ GPT-1 参数量提升100倍数据量提升1000倍 GPT-2 参数:15亿数据:40GB ChatGPT GPT-4 参数:~1万亿 GPT-3 参数:1750亿数据:45TB 参数:1750亿数据:45TB+X 数据:20万亿Tokens 千亿参数模型 万亿参数模型 机器学习算力增长迅速参数规模向万亿推进 •在过去的12年里(2010-2022年),ML训练算力增长了100亿倍; •从2012年到2018年,ML训练所需算力3.4个月翻一番; •GPT-11.17亿参数,GPT-215亿参数,GPT-31750亿参数,经历了数量级的跳变; •从GPT2到ChatGPT,参数规模增长了100倍,数据规模增长率1000倍; 为满足万亿参数的模型需求,通信协议和拓扑结构需优化,对通信带宽和延迟提出新要求 模型背景:数据并行对GPU显存和互联存在高性能要求 •显存压力大:每块GPU上存储一份完整模型,造成冗余,模型参数量增加导致显存的压力增大 Server 通信 Client 通信 Client 通信 Client 通信 Client 通信 Client 通信 Client GPUGPUGPUGPUGPUGPUGPUGPUGPUGPUGPUGPU Worker Worker Worker Worker Worker Worker 图:单参数服务器 Server Server Server 通信 Client 通信 Client 通信 Client 通信 Client 通信 Client 通信 Client GPUGPUGPUGPUGPUGPUGPUGPUGPUGPUGPUGPU Worker Worker Worker Worker Worker Worker 图:多参数服务器 AllReduce AllReduce AllReduce AllReduce AllReduce Pull,更新模型参数 GPU Push,梯度累加 梯度∇f(x,y)_1 梯度∇f(x,y)_2 梯度∇f(x,y)_n 前向传播(FWD) 反向传播(BWD) 前向传播(FWD) 反向传播(BWD) ... 前向传播(FWD) 反向传播(BWD) GPU0 GPU1 GPUn Data_0 Data_1 ... Data_n 数据并行拆分 Data 图:数据并行过程 模型参数 模型参数 模型参数 •互联压力大:Server需要与每个Worker进行梯度传输,带宽成为整个系统计算效率的限制因素 环同步的多种方式 GPU4 GPU2 GPU7 GPU5 GPU4 GPU5 GPU6 GPU7 GPU1 GPU3 GPU6 GPU0 GPU3 GPU2 GPU1 GPU0 为减轻显存及互联压力,需实施更有效的多显存优化策略,且提升Server与Worker之间的数据传输效率 架构背景:张量并行参数从千亿迈向万亿,服务器从8卡扩展到百卡 •千亿和万亿模型包含大量的参数,参数越多,模型越大,但也需要更多计算资源和通信带宽 千亿模型:高通信需求(张量并行)集中8卡之间 7 ... 4 Sever1 Sever2 SeverN •模型的结构和并行方式、精度和稀疏性、更新策略和频率对计算资源和通信带宽有较大影响 0 1 2 3 0 1 2 3 0 1 2 3 4 5 6 7 4 5 6 5 6 7 0 1 2 3 0 1 2 3 0 1 2 3 4 5 6 7 4 5 6 7 4 5 6 7 SuperSever(S2)架构 万亿模型:高通信需求(MoE并行)集中在百卡之间 万亿模型推动更复杂的结构、更高的精度、更频繁的更新,需要更高速、更可靠、更灵活的服务器互联架构 协议层级:计算总线的通信协议众多,私有和标准协议大量存在 GPU卡间互联的衡量指标包括通信带宽、时延和缓存一致性 从CPU、内存、磁盘、网卡、加速卡等关键部件之间存在多种通信协议,速率和能力差异巨大 •UPI •XGMI •CMN •CCIX •AMBA •CAPI •PCIe •CXL •xxLink •RDMA •…… 图片来源:ParallelDistributedSystemsLab 在高速互联层面的思考 •思考1:为实现内存、显存I/O增强,如何拓展内存带宽和容量? •思考2:为快速增加的参数规模,如何优化总线级的通信协议和拓扑结构? •思考3:在万亿参数量的新常态下,如何突破单机8卡的互联的局限性? •思考4:在互联协议中,涵盖私有化和标准化两种路径,后续该如何选择? 二:CXL互联 CXL(ComputeExpressLink)概念提出并发展 •定义:CXL协议是一种开放的行业标准互连,在CPU与加速器、内存和智能I/O等设备之间提供高带宽、内存一致性的连接 •场景:包括AI、ML、云基础设施、网络、边缘计算等对异构和内存系统相关的场景,在CPU、GPU、FPGA、智能网卡和其他加速器中部署标量、矢量、矩阵和空间架构的多样化组合 March2019 September2019 November2020 Q32022 CXL1.0 SpecificationReleased •解决异构设备的访存/缓存一致性问题 •兼容PCIe5.0 CXL1.1 SpecificationReleased •CXL联盟正式成立 CXL2.0 SpecificationReleased •引入MemoryPooling共享内存池概念 •支持单Switch互联,可实现一对多共享 CXL3.0 SpecificationRelease •兼容PCIe6.0 •引入结构管理(FM)功能,改进内存共享与池化、增 强一致性,及P2P对等通信 CXL总线在协议层面具备实现缓存一致性能力 主机处理器 CXL设备 内部加速器 CPU核心 CPU核心 AcceleratorLogic PCIe/CXL.ioLogic CoherenceandMemoryLogic 设备内存 Memory 内存流 Cache 一致性请求内存流 IO Memory Cache IO(PCIe) 发现配置初始化虚拟化 ARBMUX PCIe/CXLLogicalPHY 主机内存 ARBMUX PCIe/CXLLogicalPHY 在PClePHY上以flit格式动态多路复用IO、缓存和内存 PCIePHY PCIePHY CXL协议是包括CXL.io、CXL.cache、CXL.mem三种子协议组成,通过提供多种子协议,CXL技术可以更好地满足不同领域和应用的需求 •CXL.io–基于PCIe发现、寄存器访问、中断、初始化、I/O虚拟化、DMA •CXL.cache–定义设备和主机之间的交互,支持访问主机内存,协调一致性管理 •CXL.mem–内存访问协议,主机管理设备连接的内存 CXL总线可支撑多种应用场景 •Type1:用于CPU和SmartNic等加速器互联,以提高处理器的转发效率性能 •Type2:用于CPU、GPU互联,以提高多处理器对内存的使用,提升多处理器协同效率 •Type3:用于内存带宽和容量扩展 三种Type场景关键Features 部分协议的技术参数对比 互联协议一方面应考虑数据传输需求,另一方面也应考虑计算节点访问内存/显存的需求 协议技术 带宽(BIS限制) 传统TCP/IP NVLink CXL 时延 低 极高 高 网络有损 高(抖动) 低 低 流量控制 有损 无损 无损 拥塞控制 KernelSW HW Credit 重传 KernelSW HW QoSTelemetry 协议栈 Kernelsw HW HW CPU开销 KernelSW HW HW CPU协议连接 高 无 无 缓存一致性 不支持 支持 支持 生态 无 支持 支持 带宽(BIS限制) 开放 封闭 开放 三:技术探索 重点领域:中国移动重点打造NICC新型智算中心 以高性能GPU/AI加速卡为核心,以高速互联智算集群为关键,形成集约化建设的E级超大规模算力基础设施, 具备软硬件AI全栈环境,支撑AI大模型的高效训练和推理 新型智算中心 新互联 新算效 新存储 新平台 新节能 拓扑优化:高速互联应实现GPUP2P互联,交换拓扑是演进趋势 面对训练万亿模型的趋势,需要进一步提升百张卡之间的通信连接,在互联拓扑和通信协议方面进行优化,卡间互联能力提升的推荐方案是向交换拓扑(Switch)演进 GPU0 GPU1 GPU2 GPU3 直连模式 全互联模式 交换拓扑模式 GPU0GPU1 GPU7 GPU6 GPU5 GPU4 GPU3GPU2 GPU0GPU1 GPU7GPU6 GPU2GPU3 GPU5GPU4 架构探索:构建基于Switch拓扑结构的S²架构 总线 Switch 总线 Switch 总线 Switch 计算总线 总线Switch 总线Switch 总线Switch 总线Switch 0 1 2 3 4 5...N 0 1 2 3 4 5...N 一组有N张GPU/AI卡 一组有N张GPU/AI卡 高速通信进一步扩展至百卡级别,卡间互联的最优解指向Switch拓扑,构建基于交换拓扑的“S²,SuperServer,超级服务器”是未来AI基础设施的演进趋势 更低延迟的内部通信更高效的数据读写更灵活的拓扑连接 为降低设计难度,建议统一高速互联协议,以实现百卡规模互联为设计目标,收敛技术路线,推动高速互联技术生态从能用到好用的跃变 模式转变:基于CXL构建统一内存池 传统CPU和GPU分立的存储架构,导致数据大量搬移,影响模型训练效率 需要构建CPU和GPU间的统一内存池,减少数据搬运,简化编程开发,使模型训练更加高效 HBM和DDR分立基于CXL打造内存池化 •数据多次复制,延迟高,影响模型训练效率 CPU DDR •AI模型开发复杂,需要手动管理数据搬移 •数据无需多次搬运,GPU可快速访问巨量共享内存 CPU 统一内存池 HBM GDDR LPDDR DDR •提供统一寻址空间,AI软件模型开发简化 GPU HBM GPU GPU GPU GPU GPU GPU CPU 产业推进:联合产业界共同制定CXL技术准入验证要求 积极联合产业界,共同制定CXL技术准入验证要求,旨在推动CXL技术的发展和应用,确保符合标准的CXL产品能够高效地满足市场需求,促进整个行业的可持续发展 中国移动、英特尔、新华三、浪潮电子信息、超聚变、联想、博通、三星、记忆科技、腾讯、中国信通院、工业富联、得一微、深圳忆联等单位共同订制 •目标:本测试规范旨在为CXL(ComputeExpressLink)协议的实现提供指导和支持。帮助各相关单位对CXL技术的一致性探索与实现,并提供一致性和互操作性的保证,以满足高性能计算系统的需求。 •范围:本测试规范的范围涵盖了CXL协议的主要测试要求,包括CXL环境要求、CXL物理测试要求、CXL协议层测试与敖犬、CXL性能测试要求、CXL兼容性测试要求、CXL错误处理测试要求、以及为满足业务需求等方面。 •设备:测试规范适用于各种类型的CXL实现,包括CXL内存扩展器、CXL加速器和CXL开发