AI 大模型和算力需求发展下的 NVLink 和 CXL 策略

背景
2023 年以来,国内外科技企业围绕 AI 大模型展开竞争。根据赛迪顾问发布的信息,截止 2023  7 月底,全球大模型发布数量累计达 268 个,其中 2023  1~7 全球大模型发布数量 95 个,中国大模型发布数量 64 个,占比高达 67.4%
根据 IDC PRC Accelerated Computing Tracker 的数据,因人工智能大模型算力需求的增长,国内各地 AI 服务器采购数量稳定提高
 
Nvidia  NVLink 帝国
作为全球 AI 算力发展的最大赢家,Nvidia 凭借其先发优势和适配 AI  NVLink 体系占据了全球算力服务器市场的绝对市场地位。根据 Jon Peddie Research(JPR)发布的数据,2022 年显卡市场 Nvidia 全球出货量占比达到88%,其中 AMD  8%,Intel  4%,至 2023  Q2,Nvidia 在该市场的出货量占比减少至 80.2%,AMD 上升至 17%,Intel 跌至 2%。即使 AMD 奋起直追,Nvidia 的市场地位仍是难以动摇的。
 Nvidia 构建起商业帝国的因素除了近十年来 AI 的高速发展外,其为 AI 计算而设计的 GH(Grace Hopper)架构功不可没,而其中的关键 NVLink 总线协议针对性的提升了对 GPU 的总线带宽和拓展性,使得其在多卡计算的情况下有着绝对优势,在 3 年前的第二代 NVLink 对比 PCIe 3.0 的性能比较中,NVLink 2.0 连续读写试验比 PCIe 3.0  5 倍,在随机访问的试验中更快,为 PCIe 3.0  14 倍,具备压倒性的优势(见下图)。
 NVLink 2.0 对比 PCIe 3.0 的决定性优势在于其缓存一致性,在 NVLink 2.0 中,GPU 可以直接访问 CPU 内存的任意位置不需要 Pinned Memory,同时分配 Pageable Memory  Pinned Memory 更快,在 NVLink 2.0 的协议中内存缓存一致性是由硬件保障的。相反 PCIe 3.0 在解决内存缓存一致性时不得不使用软件进行管理,系统级别的原子性无法保障,即在 PCIe 3.0 中不得不使用内存缓存管理平台软件对内存进行池化(虚拟化),使得在计算中必须频繁的进行内存缓存访问和对齐,根据平台软件的功能和性能不同存在 40 倍至 80 倍甚至更多的访问延迟(见下右图),内存缓存管理平台软件是将多个服务器用网络连接在一起,计算时调用的内存为 Disaggregated Memory 而非调用 Main Memory,同时进行该操作会大量消耗算力用于内存缓存管理而非用于计算导致在增加运算核心的同时分配到每个运算核心的带宽变得更少(见下左图)。
在带宽、延迟和内存缓存一致性挑战的三重因素作用下 PCIe 3.0 在高性能计算领域被 NVLink 2.0 完全碾压,使得高性能计算不得不依托 Nvidia 架构或依托异构,甚至部分AI从业人员开始认为 PCIe 完全无法胜任 AI 计算,Nvidia  NVLink 帝国构建起了深且广的护城河。
目前最新的 NVLink 4.0  PCIe 5.0 虽无实验数据支撑,但在发布的资料中,NVLink 4.0  NVLink 2.0 有着3倍的性能提升,可以合理预测 NVLink 4.0  PCIe 5.0 对比仍然有着 1.5 倍以上的性能优势(实际上,Nvidia 在每个 GPU 上都包含了不止一条 NVLink,并由 NVSwitch 提供了 GPU  ALL-to-ALL 连接,因此在 GPU 计算领域上,NVLink 对比 PCIe 的优势是非常巨大的)。
CXL——PCIe 的破局之路
随着AI模型的规模逐渐变大,动辄十亿、百亿级的参数量对 GPU 之间的互联要求也变得极高,就带宽、延迟和内存缓存一致性问题被 NVLink 全面碾压的 PCIe 还有存在的价值吗?
事实上,GPU 无法脱离开 CPU 进行工作,即使在 Nvidia  GPU 为核心的 HG 架构中可以由 HBM  GPU 提供大量内存的支持,CPU 依旧需要承担着系统运行和内存分配的工作,此时的 CPU 虽然已经成为 GPU 计算服务的角色但依旧必要。在如何协同 CPU  GPU 的工作上,Nvidia 使用了通过 PCIe Switch  NVswitch 来进行互联,并且推出了自己的 Grace CPU 担任此角色。
在非大量内存需求的计算要求下,使用 PCIe 为基础的互联方式其实没有本质区别,而使用 NVLink 情况下则意味着更高的成本和更大的开发难度,因此应用者也更加倾向于使用 NVBridge  PCIe GPU 方案。
原则上,NVLink 的单个 lane 性能对比 PCIe 6.0 已经没有优势,NVSwitch 使用 All-toALL 技术将多 lanes(目前 H200 可以为单 GPU 匹配 4NVSwitch All-to-ALL 合计 16lanes 达到 900GBps)匹配至算核心以提升总带宽,而该方式也可以使用 CXL Switch 进行。
随着 AI 技术的发展特别是大模型的发展,人们更加深刻的意识到,AI 计算需要使用的并非是 GPU 本身,而是为 AI 计算而特化的计算核心,GPU 只是因其特性相较 CPU 更加符合 AI 计算的需求。在 AI 需求发展的促进下,特化的算力提供核心如 DPU、TPU、NPU 及一众 AI 加速器、针对性的 CPU  GPU(Intel Max CPU、Nvidia Grace CPU、Nvidia Grace Hopper Superchip)出现在了人们的视野里,即异构计算的概念(Heterogeneous Computing)。NVLink 针对 GPU 特别优化的优势逐渐变为其兼容性的劣势,不灵活的架构方式以及高昂的兼容性成本逐渐被诟病,而 CXL 全异构架构优势变得突出。
一个兼具保证带宽和延迟、保证内存缓存一致性同时又具备良好兼容性、灵活性和成本优势的解决方案开始变得重要,在这样的需求下,CXL 应运而生成。
迟到的内存缓存一致性
CXL(Compute Express Link)是一种基于 PCIe 的新型高速互联技术,因 PCIe 在设计之初没有充分考虑缓存一致性问题,CXL 作为其补充和升级向 NVLink 靠拢,通过 CXL.cache  CXL.memory 协议解决缓存一致性问题,使用硬件方式管理内存缓存规避了使用内存缓存管理平台软件的问题,大幅简化了操作流程进而大幅减少了延迟。
高带宽
CXL 基于 PCIe 5.0 实现,因此具备 32 Gbps 的单通道数据率,在 x16 下具备 64GBps 的带宽,同时随着 PCIe 的带宽升级而升级,在 PCIe 6.0 情况下具备 128GBps 的高带宽。
低延迟
PCIe 的初衷是针对大流量进行优化,针对大数据块进行优化,减少指令开销,而 CXL 则针对 64 字节传输进行优化,对于固定大小的数据块而言操作延迟较低,换句话说,PCIe 的协议特点更适合用于以 NVMe SSD 为代表的块存储设备,而对于注重字节级寻址能力的计算型设备 CXL 更为适合。
标准内存池化
更为重要的是 CXL 让内存池化看到了标准化的可能,CXL 3.0 用途是内存缓冲,利用CXL.io  CXL.memory 的协议实现扩展远端内存,在扩展后,系统内存的带宽和容量即为本地内存和 CXL 内存模块的叠加。
高兼容性
CXL 协议由 CXL 联盟提出,保留并且拓展了 PCIe 的兼容性,只要使用 PCIe 5.0 及以上版本且支持 CXL 的设备均可通过 CXL 实现高速互联,由 CXL Switch 取代了原先 PCIe Switch+NVSwitch 的复杂方式。在上百个 CXL 联盟单位的支持下,CXL 对各类型设备与应用方式的兼容性都有较好的保障。
高可拓展性
CXL 不仅可以直接支持具备 CXL 的设备,对未配置该协议的设备,如各类型加速器、内存单元、存储设备等,均可通过 CXL I/O Acceleration 单元进行接入而不需要改变其当前形态,对形成 CXL 应用生态非常友好。CXL 相较 NVLink 除了物理层速度外,更重要的是系统匹配,而 CXL 已有基于 Linux 的应用支持的开放开源特性,较易形成生态环境,而 NVLink 是闭环系统。
灵活的架构方式
更为重要的是,CXL 的核心枢纽并非 CPU 而是 CXL Switch,因此其架构方式极具灵活性:可任意增添或减少计算和功能单元,可任意增加或减少内存、存储空间,因此使用 CXL 的设备可以不局限于其物理形态。且在 CXL Switch 的调度下可以实现同一设备中不同应用非对称的内存缓存一致性,更加利于针对不同场景的使用。
具备想象空间的应用场景
CXL 设备对其物理形态的非局限性,使得其不再以“服务器”的形式出现而是以“计算单元”的形式出现,在对功耗和体积优化后的 CXL 计算单元的物理形态将可能是手机、PC 及其他便携设备;在对可靠性和规范优化后的 CXL 计算单元的物理形态可以是汽车、房屋或其他专用设备;在对计算性能优化后的 CXL 计算单元的物理形态可以是服务器、机架或数据中心等。
CXL  Chiplet
 UCIe 1.0 标准中展现两种层面的应用:Chiplet(封装内)和 Rack space(封装外)。这意味着 UCIe 可以在芯片内部实现 Chiplet 之间的互联,同时也可以在封装外部实现芯片与设备之间的互联。这种灵活性使得 UCIe 能够适应不同的应用场景。
由于 UCIe 标准的主导者与 PCIe  CXL 已经有密切的相关性,因此 UCIe 非常强调与PCIe/CXL 的协同,提供在协议层本地端进行  PCIe  CXL 协议映射的功能。与 CXL 的协同说明 UCIe 的目标不仅仅是解决芯片制造中的互联互通问题,而是希望芯片与设备、设备与设备之间的交互是无缝的。
CXL  NVLink 的协同发展之道
 CXL 和多种因素的冲击下的 Nvidia  2023  Q2 市场占有率下降了 8%,在 CXL 作为行业标准推行的 2 年后,Nvidia 发布了其第四代 NVLink 和先进的 NVLink-C2C,并创造性的通过 NVLink-C2C  Grace  Hopper 架构相结合,推出了 CPU+GPU 一体的 GHS 产品。毫无疑问 NVLink  HG 架构在针对 GPU 计算的优化方面有着领先地位。在 Nvidia 官方材料中显示仅在 GPU 计算方面 NVLink-C2C 效能较 PCIe 5.0 有着 25 倍的优势以及在面积效率方面有着 90 倍的优势。
CXL 是一种优秀的技术,也是一种开创性的开放兼容架构方式,但绝对不意味着 CXL 将会是 NVLink 的上位替代。Nvidia 在其最新技术 NVLink-C2C 中也使用了能够兼容行业标准 CXL  NVLink-C2C PHY,从该方面来看,CXL  NVLink 的协同发展成为必然趋势,CXL 可以通过 NVLink-C2C 实现对 GPU 计算的强优化,NVLink-C2C 可以通过 CXL 完成其兼容性的闭环,而 CXL  UCIe 的强相关性可以实现芯片与设备、设备与设备之间的无缝交互。更重要的是,应对 AI 大模型的发展带来的算力市场,CXL 可以提供针对性的多元算力以支持不同模型、不同应用场景下的算力需求。
数据、算法和算力始终是 AI 的三要素,CXL  NVLink 的发展历史也是算力发展的历史,在两者共同发展的未来,我们可以设想一个 AI 更加智能化的世界。
 
 
 
 
 

 

2023-10-09

新闻资讯

NEWS