华为UB总线:目标替代PCIe/C2C/RoCE/NVLink
华为半导体总裁何庭波关于τ定律的演讲之后,外界关注的焦点更多集中在“时间缩微”和LogicFolding上——可参考我昨天的文章 从“缩小晶体管”到“压缩时间”?解读华为“τ定律” ,但其实昨天的演讲中,有一个同样关键、很少被媒体关注的技术——Unified Bus(UB,统一总线),想单独提出来和大家分享一下,这个总线可能代表了系统架构层面的另一条重要路线。
何庭波在演讲中提到,在大规模AI系统中,超过80%的能耗来自数据搬运,超过70%的成本来自数据存储,这意味着性能瓶颈已经从计算本身转向数据流动路径。
从当前计算系统来看,数据在不同处理单元之间传输,需要依赖多层协议:
PCIe:负责CPU与外设连接
C2C:用于封装内或近距离芯片互连
RoCE / InfiniBand:承担数据中心网络通信
NVLink:用于GPU之间互连
这些协议在各自领域经过多年发展,已高度成熟。但问题在于:它们是分层存在的,而AI系统正在跨层工作。当数据在不同节点之间流动时,往往需要经历:多次协议转换-多跳网络传输-甚至软件栈介入,这些开销在传统应用中尚可接受,但在AI训练和推理中,这种微秒级延迟被放大为系统瓶颈。
正是在这一背景下,华为提出UB的核心目标:用统一协议压平原本分层的互连体系,减少不必要的数据路径。

UB做了什么?
“从技术上看,Unified Bus并不只是一个新的互连方案,而是试图通过统一通信模型,减少甚至替代传统分层协议体系中的一部分功能。”华为半导体首席科学家廖恒博士在媒体分享会上指出。
“因此在我们做时间折叠的时候,首先看到的是如何消除dominate的time factor,因此首先设计了unified bus的protocol。这个UB最大的特点是打破了过去我们实现通信协议的几乎是宗教式的信仰,也就是说需要保持完美的前项兼容。”廖博士透露道。
常见的计算系统存在非常多种不同的协议,包括PCIe、以太网、RDMA,以及其他厂商所设计的芯片之间的互联,比如NVLink,也包括了IB这样的协议。这些协议固然历史存在带来了很大的不同领域的优势,但是当数据要跨越不同的接口时,必然会导致存储转发这个动作以及协议之间的转换。这些协议转换如果只是硬件级别,所带来的开销只是纳秒到微秒的级别,一旦更复杂的协议转换需要软件的干预,因此带来的延迟和开销势必是在微秒级别。

UB并不仅仅是一个更高速的互连协议,而是改变通信方式本身。通过内存语义通信,将延迟从微秒级降低至约100纳秒(约500倍降低) ,让数据可以像访问本地内存一样,在节点之间直接访问。
最终的效果是,让大规模AI系统尽可能接近“System as one chip”——像一颗芯片一样运行。

对PCIe/C2C/RoCE/NVLink,UB是会“兼容”还是要“替代”?
廖恒博士明确指出,首先,UB不是兼容,和上述接口之间就是一种替代的关系。
廖博士指出,虽然说UB里面依然保留了一部分legacy的接口,是为了能和其他处理器,比如说AMD或英特尔的CPU对接,所以这个接口还是保留了。
NVIDIA的体系里面四个不同的协议,各自服务于不同层面。华为实际上是用一个协议服务了这四个目的。
“您可能会感到一种困惑,这怎么可能?但我试图给你一个更加形象的例子。”廖博士分享道,“如果回去找一个古董的1986年或者1984年的IBM PC,你会发现上面的每一个设备都是一个不同的接口,鼠标是一个接口、键盘是一个接口、硬盘是一个接口、软盘是一个接口。随着总线的演进,它们越来越趋同,因为在总线尤其是芯片的角度来说最重要的是一个物理层,过去不同形状的连接器用来接鼠标、键盘,物理层完全不一样的。后来USB统一了这些接口。”
【编辑注:这么看来,当前AI系统中的PCIe、NVLink、RoCE等协议,正处于类似阶段。UB背后的一个关键判断是:物理层已经统一,但协议仍然割裂。】
“当几乎所有的接口走向比较高速的时候,都共同的converge到了几乎一模一样的SerDes,即高速的串并转换的接口。当他的物理层统一了之后,就有一个非常迫切的诉求就是:既然这些物理层都长的差不多,为什么要给他赋予一个专署于的接口?这个SerDes专门PCIe的、那个SerDes专门用来做以太网的。”廖博士指出。“当这些接口物理层已经趋同时,继续用不同协议去划分功能,本质上是一种浪费。”
廖博士举了一个更具体的例子:一个典型的数据中心的CPU,不管是英特尔还是AMD或者鲲鹏,上面也是有大致64到96个SerDes,甚至上百个SerDes。但是可以看到一个CPU的互联能力是非常差的,甚至完全没有盒子外面的互联能力。如果想要接到以太网上就要接一个以太网的network adapter。但本来SerDes已经有上百个高速的接口,就是由于这些接口被赋予了不同目的,这个用来连PCIe的,那个接口用来连硬盘的,因此导致这些SerDes的互联能力全部浪费了。
回到协议的融合。例如USB,一个协议就把鼠标、键盘全部融合了,因为物理层面已经变得越趋同。到了UB时代,发现刚才讲的四种协议,除了C2C不太一样,但是只要是SerDes的协议属性基本上都是一样的,只不过由于legacy的原因,大家一直维持了这么复杂的有的长达30多年的体系,因此历史的包袱是非常沉重的。

UB开发者的软件porting难吗?
廖博士表示,目前看到的实际案例没有困难。
“为什么?因为无论是内存语义,或者是DMA的大块数据的搬运,其语义或者RPC远程函数、过程调用的语义,在历史上都有。一个处理器天生就是用来访问,一条指令就可以直接访问内存,只不过做很薄的适配层,把内存的资源做一定的管理呈现给处理器。DMA的通信方式和现有的方式虽然做了一些改进,但也基本具有血脉延续的关系。所以,简单来说就是软件适配并没有特别巨大的困难。”他指出。

华为UB:能否用一个协议重写整个AI互连体系?
UB能否成为未来系统架构的核心协议?
从技术角度来看,UB确实具备这一潜力:统一通信语义、减少协议层、支持系统级优化。但从产业现实看,其挑战同样明显:生态是否能建立(是否支持第三方芯片/是否具备软件支持)。
其长期成败,关键不在技术能力,而在生态开放程度与产业adoption,毕竟廖博士也提到,毕竟昇腾现在出货量还没起来。现实产业结构中,PCIe、NVLink、RoCE等分别处于不同层级,并形成了成熟生态,因此UB短期内或许更可能是在特定体系中实现替代与重构。
