NVLink Fusion与UALink对比:超节点Scale-up互连技术路线解析
最近好几个做智算中心的朋友都在问我同一个问题NVLink Fusion 和 UALink 到底哪个能落地、哪个是纸面方案这确实不是一句两句能说清的事。这两条路分别代表着超节点 Scale-up 互连的两种技术路线一个是 NVIDIA 在自家生态里把 Chiplet 级互连和机柜级互连揉成一张网另一个是 AMD、Intel、Google、Meta、微软等一大堆厂商想用开放联盟的方式重新定义机架内的加速器互联。这篇文章就围绕“基于 Chiplet 的超节点 Scale-up 互连”来展开帮你把这两个方案背后的协议栈、拓扑结构、时延预算、物理层选择、生态策略全部拆开对比。不管你是做 AI 基础设施规划还是搞 GPU 集群部署、硬件架构选型这篇都能给你一个相对完整的判断框架。我不会一边倒说谁好谁坏只会把两个方案的设计逻辑和实际工程约束摊开讲。1. 背景超节点走到哪了为什么 Scale-up 互连成了兵家必争要理解 NVLink Fusion 和 UALink 的较量得先搞清楚一个前提性问题超节点为什么会存在Scale-up 互连为什么突然这么重要。1.1 算力瓶颈转移GPU 越多通信越吃紧先说一个很直观的现象。单张 GPU 的算力这些年一直在涨但大模型训练面临的问题早就不是“一张卡不够快”了而是“几千张卡一起跑的时候卡和卡之间能不能把数据喂得上来”。模型并行、张量并行、专家并行、流水线并行每一个并行策略背后都是海量的小报文通信。你把这些通信全部折算成带宽需求会发现一个反直觉的结论GPU 算力翻一倍网络带宽往往得翻两倍甚至更多因为通信模式越来越密集。Scale-out 网络也就是传统的 IB / RoCE 数据中心网络解决的是“把卡分组、把任务分配出去”的问题时延在微秒到十几微秒之间带宽以 400G / 800G 以太网为单位。但大模型训练里的很多通信模式尤其是张量并行里的 AllReduce、多卡间的 shared memory 语义本质上更需要的是“像访问本地内存一样访问远端显存”那种能力。这就是 Scale-up 互连要干的活在超节点内部把所有加速器连接成一个巨大的、低时延的、内存一致性的计算域。1.2 Scale-up 与 Scale-out 的本质区别以及超节点如何重新定义“逻辑单机”你可以把 Scale-out 理解成“把一栋楼的房间用走廊连起来”每个房间是独立的要串门就得走走廊而 Scale-up 是“直接把几个房间打通成一个大厅”在大厅里你从墙角走到另一个墙角几乎不用等楼梯、不用过门禁。超节点就是那个“打通的大厅”。它把几十张 GPU、几十块 HBM 内存、几百 GB 到几 TB 的显存池通过一个超高速的互连域虚拟成一台“逻辑单机”。在这台逻辑单机里任何一张 GPU 都能直接访问另一张 GPU 的显存而且延迟低到让软件层面的“远程内存访问”看起来就像本地访问一样。所以 Scale-up 互连的核心指标不是“带宽多高”这种单一数字而是“带宽 时延 可扩展性 一致性模型”的综合体。NVLink Fusion 和 UALink 就是在这些指标上给出了两套完全不同答案的方案。2. 两套技术解读NVLink Fusion 与 UALink 分别是什么2.1 NVLink Fusion把 C2C 和域内链路拼接成一张全互连网先聊 NVLink Fusion。这个名字乍听起来像某个新发布的硬件实际上它更像是一个架构描述。近几代 NVIDIA 的产品里NVLink 其实已经分成了两层一层是 NVLink-C2C用于 Chiplet 级别的裸片互联典型场景是 Grace CPU 和 Hopper GPU 之间的高速互连或者同一封装里多个 die 之间的互连另一层是 NVLink用于板卡与板卡、GPU 与 GPU 之间的域内互连也就是超节点里那些 PCB 走线、背板连接器、Switch 芯片之间的链路。NVLink Fusion 的“Fusion”就是要把这两层融合成一个统一的逻辑网络。以前 C2C 链路和机柜内 NVLink 链路是分开管理的C2C 负责封装内通信域内 NVLink 负责跨卡通信两者之间要做协议转换时延和复杂性都上来了。融合之后从软件视角看整个超节点里的每颗 GPU、每块内存、每个加速器都是同一个互连平面上的节点不再区分“本封装”还是“隔壁板卡”。这个思路的工程意义非常大。它意味着你可以把一个封装里多颗 Chiplet 的互连拓扑和整机柜 Scale-up 域的互连拓扑统一建模中间靠 NVLink Switch 芯片做无阻塞转发。对于做上层软件的人来说不用再管底层到底是 C2C 还是 NVLink所有通信都走同一套语义。这也是为什么很多人把 NVLink Fusion 理解为“NVIDIA 用私有化协议栈把整个超节点封装成了一个巨大的 GPU”。2.2 UALink开放联盟想要重新定义机架内互连UALink 是另一个方向的典型代表。它的背后是 2024 年成立的 UALink 联盟成员包括 AMD、Intel、Google、Meta、Microsoft、Cisco、HPE、Broadcom 等一堆重量级玩家。目标很直接定义一套开放的、可跨厂商的 Scale-up 互连标准让不同家的 GPU、加速器、CPU 能在一个超节点里互联而不是被某一家厂商的私有协议绑死。这里要特别说清楚UALink 不做“万能的网络”它聚焦的是很窄的 Scale-up 域——也就是机架内Rack-scale加速器到加速器、加速器到 Switch 的连接。它的设计取向是极简和低时延把协议栈做得尽量薄去掉传统网络里那些面向“通用性”的复杂机制只保留“在最短距离内用最快速度把数据从一个加速器搬到另一个加速器”所需的最小集合。UALink 1.0 规范里物理层瞄准的目标是能跑在 2U 到 42U 机柜内支持组建成无阻塞的、多级的交换拓扑。它和 PCIe 有血缘关系很多底层机制借鉴了 PCIe 的电气特性和链路层设计但去掉了 PCIe 那种“重型事务层”换成了更适合加速器内存语义的轻量协议。你可以把 UALink 理解成“一个为 AI 加速器高度裁剪过的、可分发的、开放的 Scale-up 引擎”。2.3 关键规格对照表维度NVLink FusionNVIDIA 私有体系UALink开放联盟体系目标范围封装内 Chiplet 机柜内 Scale-up 域机柜内 Scale-up 域协议栈NVLink-C2C NVLink全栈私有轻量开放协议基于 PCIe/CXL 物理层生态生态绑定NVIDIA GPU / Grace CPU / NVLink Switch 闭环AMD、Intel、Google、Meta 等多家生态拓扑能力集中式 Switch 全互联支持大规模域支持多级无阻塞交换拓扑时延设计极低面向统一内存语义极低协议栈精简面向加速器访问Linux 驱动 / 开放度半开放SDK 可控标准公开驱动可多厂商接入落地成熟度已有旗舰超节点设备投入使用规范推进中商用产品陆续在路上这个表格当然不能覆盖所有细节但能帮你建立第一感觉NVLink Fusion 是“一个巨人手里的完整巨兽”UALink 是“一堆人想拼出的开放巨兽”。3. 核心差异拆解协议栈、拓扑、时延、物理层3.1 协议栈私有融合 vs 轻量开放协议栈可能是两边最大的分水岭。NVLink Fusion 走的是全私有融合路线。它的栈底是经过多代优化、专门针对 GPU 内存访问语义打造的 NVLink 协议栈顶是 NVIDIA 自己的通信库NCCL、NVSHMEM 等中间还有 NVLink Switch 芯片来处理路由和流控。这套栈的好处是极致的垂直优化协议每一层都是为同一个目标GPU 间高带宽低时延通信量身定做的没有兼容历史包袱也没有跨厂商妥协。坏处是如果你用的是非 NVIDIA 加速器这套东西跟你没关系。UALink 的协议栈则是在“开放”这个大前提下尽量做薄做快。它借鉴了 PCIe 物理层但在事务层和链路层上做了大幅裁剪只保留 Scale-up 域通信所需的最小指令集。它的优势是透明、可演进多家厂商可以坐在一起改规范谁也不受制于谁。代价是多厂商意味着多套实现任何新特性都要经过联盟讨论迭代速度大概率比 NVIDIA 自家闭门造车慢一到两个版本周期。这里插一句很多人会问“UALink 和 CXL 是什么关系”。可以把 CXL 理解成“更通用的内存扩展接口”它要解决的是 CPU 和内存池、加速器之间的缓存一致性问题而 UALink 的目标更聚焦——它在 Scale-up 域里就是为了让加速器之间、加速器和 Switch 之间能快速搬数据不承担那么多“通用计算平台”的使命。两者未来可能共存也可能在特定场景短兵相接但现在最直接的对手就是 NVLink Fusion 体系。3.2 拓扑与流控全互联 Clos 与无阻塞聊拓扑之前先厘清一个概念为什么超节点里需要交换层而不是“每张卡都连到每一张卡”直观想法是72 张卡那就两两直连每张卡拉 71 根线出去。但这个拓扑在工程上直接爆炸——单卡的 SerDes 数量、PCB 走线面积、背板连接器密度、散热风道遮挡都会变得不可接受。所以现实中的 Scale-up 互连一定是引入 Switch 芯片做集中式转发形成 Clos 式多级拓扑GPU 挂到第一级 SwitchSwitch 之间再做上行互联形成一个无阻塞的胖树结构。NVLink Fusion 体系里NVLink Switch 是负责这件事的主角。它把整个域内流量汇聚、路由、流控全部管起来GPU 之间不需要两两直连只要通过 Switch 就能到达任意目标。对上层来说看到的还是“任意 GPU 可以访问任意 GPU”的逻辑全互联对物理层来说连线数量被大幅压缩拓扑可控可扩展。UALink 在这一点上的设计哲学惊人地相似——它也定义了一个基于 Switch 的无阻塞拓扑甚至明确支持多级交换以便扩展到更大的 Scale-up 域。区别在于NVLink Switch 是 NVIDIA 自己设计、自己流片、自己测试的专用芯片流控和路由深度与自家 GPU 绑定而 UALink Switch 理论上任何厂商都能做只要符合联盟规范就能在别的厂商的加速器环境里做交换。这对做系统集成的人很友好但对设备一致性、性能调优来说挑战更大。3.3 时延预算从 PCIe/CXL 物理层到 GPU 一致性建模时延是 Scale-up 互连的生命线。传统以太网时延用微秒算IB 可以做到 1 微秒上下而 Scale-up 域内的时间预算往往被压到几百纳秒到 1 微秒以内因为每一次大模型通信都要经过大量的“小同步”重负载。时延一高整个训练效率会崩。NVLink Fusion 的时延优势在于它从物理层到事务层都走私有协议中间不需要经过 PCIe 协议转换、不需要经过网卡、不需要经过驱动栈里那些冗长的数据拷贝路径。GPU 发出的访问请求几乎可以“穿墙而过”到达远端 GPU 的内存控制器。NVShare 这类内存语义协作机制让多卡读同一块内存的速度快到接近本地内存这对张量并行这种通信极其频繁的并行模式简直是雪中送炭。UALink 的时延目标同样瞄准“纳秒级 低微秒级”这个区间。它通过精简协议、简化包头、减少转发跳数来压低时延。因为只做域内通信不需要走路由查找、不需要源地址校验、不需要传统网络那套复杂的拥塞控制所以理论上可以做到比 IB 更低、更可预测的时延。但从公开资料看UALink 的实测数据还没到大规模商用验证的阶段时延好不好看光看规范是不够的最终要等真芯片、真背板、真集群跑起来才能下结论。3.4 物理层选择铜缆、光模块、背板与 Chiplet 桥接物理层是两套方案都得面对的现实。先说 Chiplet。工艺制程越做越难单颗 die 的面积和良率存在明显上限所以高性能加速器早就走向“多 die 拼接”路线。这就需要一个高速的 Chiplet 到 Chiplet 互连NVLink-C2C 就是干这个的。它负责把多颗 compute die 和 HBM die 晒接在一起形成一个逻辑上完整的“大 GPU”。UALink 虽然本身不直接定义 Chiplet 内部互连但它和 UCIeUll Chiplet Interconnect Express之间有天然的协同可能——UCIe 管封装内互连UALink 管封装外、机柜内互连两者加在一起就可以打通“Chiplet 级到机柜级”的完整链路。再说机柜内连接。Scale-up 域内链路距离很短通常就是几厘米到几米这个范围内用无源铜缆、背板走线、连接器直接互联性价比远高于光模块。NVLink Fusion 体系里大量使用背板 PCB 走线和铜缆配合高速连接器就是为了在短距离内把信号完整性做上去、把功耗压下来。UALink 的物理层本质上继承了 PCIe 的电气设计思路也是主打铜介质短距离互连。当然随着 Scale-up 域扩展到跨机柜甚至跨列光模块一定会介入但那是 Scale-out 时代的战场不是 UALink 现在的核心目标。4. 实操视角如果换我搭一个 Scale-up 域我会怎么选型前面讲的都是理论层面的东西但对真正干活的人来说最重要的是“如果我现在要去搭一个超节点我应该做哪些决策”。4.1 Chiplet 封装里的互连工程Interconnect die 要怎么排布如果你在用 Chiplet 架构设计自己的加速器Scale-up 互连的起点其实在封装里就定下来了。首先要决定的是互联 die 的排布方式是采用一个独立的 Interconnect die也叫 bridge die把多颗 compute die 串起来还是每颗 compute die 自己集成 SerDes通过封装基板上的走线互联我的建议是优先考虑独立 Interconnect die 方案原因很简单可复用性和信号完整性好控制。独立 Interconnect die 可以把高速 SerDes、协议转换逻辑、链路层重传管理集中在一起compute die 只需要负责算力互连复杂度和算力复杂度彻底解耦。升级互连代际时只替换 Interconnect die 就行不需要重新流片整个计算 die。代价是封装面积更大、成本更高、设计周期更长。如果走“每颗 die 内置 SerDes”的路线省掉了 Interconnect die 的成本但信号完整性会变得很难受——compute die 本身就是最大的发热源和功耗源SerDes 放在旁边容易受电源噪声和热应力影响高速信号的抖动和误码率会跟着上来。实际上很多芯片设计里都要做“多轮 SI 仿真 实测迭代”才能稳住小团队基本扛不住这个调试周期。4.2 链路预算从带宽需求倒推互连方案链路预算这件事说穿了就是一个从需求倒推的数学题。先看你的目标超节点域内要提供多少总带宽再除以单口链路带宽和端口数量就能算出需要几层交换、每层需要多少颗 Switch 芯片。举个例子。假设你有 72 张加速卡目标 Scale-up 域内双向带宽做到 500 GB/s per card。那么总双向带宽是 36 TB/s。如果单条链路比如 UALink 或 NVLink 的一条 x16 通道跑 448 GB/s每一张卡往外连的链路数至少是 500 / 448向上取整就是 2 条。但这只是极端理想情况真实工程里还要考虑交换层上行带宽、流控开销、冗余链路、故障倒换余量。所以我的习惯是先在理论值上乘 1.5 到 2 的系数再做拓扑规划。这里有一个新手特别容易踩的坑只看“单口带宽”不看“全网带宽”。很多方案看起来单口速率很高但交换芯片的上行口数量不够导致所有 GPU 同时互访时出口带宽被堵死实际吞吐只有纸面数字的三四成。所以做 Scale-up 网络规划时一定要用无阻塞拓扑做基线确认交换机的收敛比约等于 1再根据预算决定要不要牺牲一点无阻塞性。4.3 软件栈与运维NVLC/NCCL、厂商 SDK、开放驱动硬件选型只是第一步软件栈往往才是决定项目成败的关键。NVLink Fusion 体系下你几乎必然要进入 NVIDIA 的软件生态。NCCL 会对底层拓扑做非常细致的调优它会自动探测 NVLink 的连接关系给通信模式排布最优路由。NVLink Sharp 这类特性还能在 Switch 里做数据聚合减少端到端流量。但反过来你的运营平台就要深度绑定 NVIDIA 的驱动、CUDA 版本、容器镜像升级任何一个组件都可能牵一发动全身。尤其在多厂商混合集群里这种绑定会让人非常痛苦。UALink 体系下软件栈从一开始就被设计为多厂商可接入的。驱动可以走标准 Linux 内核框架通信库可以基于开放接口做适配。好处是灵活坏处是生态还没成熟——很多高级特性比如交换机侧聚合、内存语义优化都要等各家实现齐了之后才能用早期采用者要做好自己 patch 驱动、自己调优的准备。运维上也有区别。NVLink Fusion 的管理面可以通过 NVIDIA 官方工具拿到非常细致的链路状态、误码率、拓扑信息排障体验相对顺畅UALink 的多厂商环境里链路诊断工具碎片化需要自己攒一套监控脚本。这个痛点可能让不少运维团队对 UALink 望而却步但如果你本身就是要做开放硬件平台这些代价就是绕不开的必修课。5. 生态判断谁会赢以及一线工程师该看什么5.1 NVIDIA 的“半开放”策略NVLink Fusion 只是面向 OEM 的开放很多人把 NVLink Fusion 理解成“NVIDIA 做了一件封闭的事”这话对了一半。NVLink Fusion 在技术上确实是私有的但它释放了一个非常重要的信号NVIDIA 愿意把 NVLink 的物理层互连能力授权给第三方 GPU 和 OEM。这意味着未来你可能会看到非 NVIDIA 的加速器也能通过 NVLink 接口接入某个超节点域。当然协议深处的调优能力、SDK 的高级特性、NVLink Switch 的控制面仍然牢牢握在 NVIDIA 手里。换句话说它开放的是“能插进来的接口”而不是“能改协议的权利”。这种半开放策略特别像苹果的生态哲学你可以用 MFi 认证配件但 iOS 永远是苹果的。对做系统的厂商来说半开放比完全封闭强很多至少多了个选择对想真正主导互连标准的厂商来说这远远不够。5.2 UALink 的挑战标准很漂亮落地靠商务UALink 在规范层面做的事情绝对值得尊敬但从标准到大规模商用之间隔着好几道深沟。第一道沟是“互相竞争的多巨头怎么合作”。AMD 有自己的加速器和互连技术Intel 也有自己的 GPU 和互连方案Google 有 TPUMeta 有自研芯片这些厂商在 AI 加速器市场本来就是竞争对手要他们在同一个互连标准上深度协作Technical 问题往往好解决战略层面的平衡才是难点。第二道沟是“没有龙头带动”。NVLink Fusion 之所以能这么快落地是因为 NVIDIA 说了算它可以强制所有产品线都走同一个互连路线而 UALink 联盟里谁都不是绝对老大产品路线难免有分歧迭代速度一定会被拖慢。第三道沟是“软件生态”。互连标准再漂亮最终要落到通信库、编译器、编排框架的支持上。如果 PyTorch 的分布式后端、NCCL 的替代方案、GPU 厂商的驱动都还没有把 UALink 作为一等公民那么实际部署的工程师还是会乖乖用回 NVLink。生态迁移的成本比硬件替换的成本高得多。5.3 我的个人判断与选型建议以当前 2025 年年中的视角来看NVLink Fusion 体系在“高性能 AI 训练集群”这个领域仍然有非常明显的先发优势尤其是在超大模型、超节点级训练的场景它的成熟度、软件栈、可调试性都是所有竞品里最完整的。如果你所在团队的目标是尽快把最大规模的模型训练跑起来且预算充足、能承担生态绑定那么不需要犹豫NVLink Fusion 体系依然是那个“最不坏的选择”。但如果你的场景看重建模成本、多厂商灵活性、长期可替换性UALink 绝对值得持续关注。特别是当你需要在一个集群里混用多家 GPU或者希望把超节点互连的采购成本尽可能打下来时UALink 是唯一可能让你不受制于任何一家厂商的路径。比较稳的做法是先在评估环境里搭一套 UALink 小规模原型把它和 NVLink 体系的时延、带宽、功耗、软件栈成熟度跑一遍对比基准用数据说话而不是听厂商销售讲故事。我个人的实操体会是不要想着“二选一”更多时候这两套互连会以不同网络平面的方式共存。Scale-up 域内部优先用 NVLink Fusion 或 UALink 把性能顶满Scale-out 域继续用 IB 或 RoCE 做跨超节点扩展。未来三到五年真正稀缺的不是某一套互连协议而是能把多层异构网络综合调优、把时延预算、带宽利用率、故障域都管理得明明白白的系统工程师。最后再分享一个小技巧如果你要在混合生态里做 Scale-up 域选型先别急着对比带宽数字先去查两个东西——通信库对目标硬件的支持矩阵以及故障诊断工具的成熟度。这两个维度往往比纸面带宽更能决定项目能不能按期交付。互连之争才刚刚开始保持技术敏感度比提前站队更重要。