华为Fellow廖恒博士Hot Chips 2025演讲:UB-Mesh超节点互联架构详解(视频+演讲实录)
茶思编辑部华为:UB-Mesh 超节点互联架构
面向AI 训练集群大规模、高带宽、低成本、高可靠性诉求,华为推出UB-Mesh超节点互联架构。当地时间 8 月 26 日,在Hot Chips 2025大会上,华为Fellow、2012实验室首席科学家廖恒博士通过视频形式,为大家深入解读了UB-Mesh架构的技术构想。
UB-Mesh 是一种全新的AI 超节点架构。它基于Unified Bus (UB)统一互联技术,通过层次化的多维Full-mesh 直连拓扑,最大化短距电互联的使用,并且实现灵活的多维聚合。相比传统的无收敛Clos架构,UB-Mesh 可以极大节省集群组网成本,提升集群可靠性和互联性能。
点击阅览演讲视频
以下为视频文字实录:
廖博:很荣幸能在6年后回到Hot Chips会议上。鉴于时事,今天我要谈谈一个设计理念——大规模AI超级节点背后的互连网络,而不是谈论实际产品的工程细节。
如你所知,超级节点正在成为常态大型人工智能数据中心,许多公司正在计划千兆瓦的人工智能数据中心。需要说明的是,一个超级节点不仅仅是松散连接的计算机集群,相反,超级节点通过紧密连接大量设备,形成一个单一的大型计算系统,其涉及的芯片数量跨度极大:从类似于具有8个GPU的典型AI服务器成长为数十万个处理器、甚至高达一百万个处理器的规模。
同时我们也观察到,随着处理器数量的增加,在超级节点中每个芯片带宽也在增加,从每秒100千兆或400千兆,提升至每个节点高达每秒10Tbps。目前由于计算设备紧密耦合并需要协作操作,对每跳延迟的要求也大幅降低,从几微秒到约150纳米秒。物理层面上,超级节点的规模已经超越单一机架,甚至扩展到整个数据中心的范围。
超级节点技术还有一个重要趋势:除了异步跨流程节点的DMA数据复制外,行业对同步操作的需求也在增长,尤其是加载存储内存直接访问操作。另一个要注意的是:超级节点内连接的设备类型在不断丰富。从只是连接GPU,到快速扩展到更多种类的设备,例如CPU GPU、MPU内存池,用于存储的SSD,以及各种智能网卡设备,这些设备用于连接到存储和其他数据中心网络。
此外,交换机仍然是超节点内部的一个重要元素。因此我们主张统一公共总线和网络协议,来连接各种各样的设备。传统模式下,大量协议在不同类型的场景中不断发展连接性,所以可以看到“字母汤”在这里。当然这绝不是完整的列表,那些协议存在当然是有原因的,但我们在这里主张,有必要统一连接所有类型设备的协议。
大家可能会问为什么?第一个好处是延迟更低。因为当你有一个与目的无关的协议时,可以连接任何设备的任何端口,并且还可以转发数据包,且无需承担协议转换开销。
第二个优势,众所周知,在任何给定的SoC中,IO通道都是关键资源。因此,通过删除协议特定的控制器后,Soc的任何通道都可以用于多种目的,而不是单一目的。此外,我们特别需要一个简化的模式——处理器直接Load/Store 内存访问模式,用于全局共享内存访问与远程内存访问。除了更传统的RDMA之外,还需要一个统一的远程调用函数的远程过程调用。最后需要说明的是,我们仍然尊重以太网等主流协议,所以当我们设计统一总线时,统一总线可以原生运行于以太网之上,没有进一步协议转换。
因此,当我们尝试使用单一协议时,连接本地外围设备(如SSD等)和本地内存池时,若尝试扩展这种本地总线技术,迈向数据中心规模,我们还需要克服一系列挑战。
首先,每个节点需要提供更高的带宽,以达到用于不同场景连接所需的数据速率;其次,物理链路需要支持更长的传输距离。因为网络覆盖的物理空间可以覆盖整个数据中心楼层,甚至可能是整个园区的数据中心。这绝对超过了电缆的传输范围,所以物理链路必须能支持光学传输,尤其是对于长距离链路。
我们都知道当前光链路技术的误码率远高于电链路,大约高出2到3个数量级。因此要在误码率更高的链路上运行协议,就需要更复杂的错误恢复方案。例如链路级别重试等方案。
第三个挑战是Load/Store模式。需要增强SoC的设计,使其能够恢复链路侧误差,防止处理器流水线因Load/Store的确认信息丢失而陷入死锁。
最后我认为,由于超级节点系统规模更大,我们需要花很多心思考虑系统的弹性设计,以应对各种故障,包括链路级别、节点级别和机架级别。所以当我们谈论高带宽时覆盖大规模的低延迟网络,也能观察到一个趋势:每个节点的带宽正从每秒百千兆位扩展到每秒10甚至更多TB,这代表了网络带宽大约增加100倍。这就引出了一个问题:如何实现物理网络在增加100倍总带宽时,而不会导致其成本增加百倍?
要解决这个成本问题,还需要深入思考并采取针对性方案。我们相信这需要一种新的物理拓扑,也许是传统拓扑和其他组合在一起的新型拓扑混合体,以在满足特定工作负载所需带宽的同时,也维持合理水平的互连成本。
因此在这张图中,我展示了三种可能的拓扑组件:第一类是传统级拓扑,通用且值得信赖,它还具有叶节之间完全对称的特性。我们相信这类拓扑仍然适用于顶层网络,比如可能跨越100万节点的网络,但需要以较低的带宽运行,因为构建全交叉网络的成本过高。
第二类拓扑我会在后面的幻灯片中进一步展开,即N维网格拓扑。它具有显著的性质:高本地带宽、远程连接的带宽按需收敛到更低带宽,所以我们相信NDmesh(N维全相联拓扑)非常适合单个机架,几十个节点,甚至大到几百到几千个节点的大规模场景。
最后我们还看到N维稀疏部分相联拓扑的应用越来越广泛。它实际上是第二种拓扑的修改版本,这种稀疏化,适合于大规模的本地部署,如大概几百个节点的场景,因为它是无交换机拓扑,能提供非常高的本地带宽且长程带宽可控。同时,它还保持了非常低的跳数,对应低延迟,因此这适合较小范围的本地部署。
那么为什么我们相信具有局部性、且带宽分层的拓扑是一个合理的设计目标呢?传统的Clos拓扑,选择忽略了流量模式的局部性的假设。右边的表格显示在典型的人工智能训练系统和推理系统中,采用的并行方案各不相同。
我们实际上可以将更高带宽的并行域限制在本地物理区域,而当并行级别对应的带宽降低时,这些并行域可以部署在更高的物理拓扑层次,衰减带宽。所以也可以看到每一层的带宽需求都有1-2个数量级的减少。这意味着,我们有充分的空间在更长距离的物理拓扑域中降低带宽,而N维全相联拓扑(此处指全网格拓扑),这是一个概念图,稍后我将向您展示实际部署。
这种拓扑有一些变体,但从概念上讲,可以将其视化为一维、二维、三维和多维。在我们拥有的每个维度内,任何节点到其他节点均为完全连接,但是从1维到2维时,我们会新增另一个全网格连接,但只有在对应位置的节点间进行配对连接。所以同样的想法可以从2维进一步扩展到3维,甚至可能4维。所以即使我正在显示的每个维度的链接都是相同的颜色,但实际上,不同维度的链路带宽可不同,尤其是更高维度的链路,带宽可根据该层级所需带宽相应调整。
例如,第一个维度应对应于本地域的最高带宽域,即同一个电路板上的节点;第二维度的带宽,也许可选择是否降低,如机架级带宽。但第三个维度,当从机架扩展到大部分或整个房间这层的数据中心时,这一层的链路带宽完全可以降低到前两个维度的带宽的几分之一。
现在让我们想象一下成本效益,这种优势主要来自两方面:一是构建拓扑时使用的交换机更少(甚至无需交换机),二是随着从一个维度到另一个维度的提升,带宽降低,带宽的降低也意味着构建物理网络所需的光模块数量也随之减少。当然这里的系统成本是基于一些假设的对比值进行比较,但所有成本都已归一化为计算组件的成本。
所以随着网络规模的扩大,可以看到网络成本也增加,但这种增长并非线性,而是一个超线性的增长。因此对于带宽为每秒10 TB的节点,可以看出互连成本可以超过计算组件的成本,这个临界点大约在几百个节点,可能少于500个节点时出现,此后互连成本可能超过计算芯片的成本,且随着网络规模进一步扩大,差距会越来越大。现在如果采用这种UB-Mesh拓扑,那每个维度的带宽减少4倍。可以看到互连成本曲线更加平缓,例如在4000节点规模级别下,成本比对称级联拓扑降低了5倍。
下面是我们产品的实际案例,在机架级别,我们采用二维全互联拓扑:电路板内为全网格,同时跨8个电路板构建另一维度的全互联,形成含64个节点的系统。此外,我们还设计了一些其他复杂方案,以提升整个机架的可靠性和弹性,所以如果以机架为基本单元,我们可以通过增加机架数量,来扩大超级Pod或超级节点的规模,最多可使用一层连接128个机架的交叉拓扑,机架与这种单层交叉网络配合,可实现从单个机架(64个节点),扩展到最多8192个节点(含8192个芯片)的超级节点系统。
接下来,我想简要谈谈如何使协议在光链路上具备弹性,如你所知,光链路闪烁或中断是一种概率较高的事件。事实上在含500个节点、12 个机架的超级节点中,我们每天都会观察到几乎 3-5 次闪烁。因此,如果这些处理器采用Load/Store 模式,加载指令的响应一旦丢失,就会导致处理器的流水线死锁进而导致节点复位故障,因此我们必须要通过多种方法来避免节点死锁的发生。
首先,我们需要增加光链路的弹性。这里我们介绍两种简单有效的优化方案。第一种是链路级重试,假设一个数据包通过含4个光通道的光模块传输到另一个芯片,若该数据包因光模块闪烁或简单的比特错误受损,数据包将被标记为错误包或者无法被接收端接收。此时,错误恢复方案需要MAC层重试该受损数据包的传输,但如果MAC层通过同一链路重传数据包,而该链路仍在闪烁,闪烁可能持续数十毫秒,重传自然会再次失败。因此,若将重试数据包路由到有问题的链路,效果会很差。一个很好的优化方案是:将失败的数据包通过同一光模块的备用链路重试,由于备用链路未受闪烁影响,重试大概率会成功。这是实际数据中心中常见的闪烁问题的解决方案。
第二个方案可应对光模块更严重的故障,如果我们配对两个MAC和两个光模块在一起,并以交叉方式连接链路,正如图中蓝色和红色线条所代表的那样,若光学模块1发生任何故障,数据包的重传将被路由到2号光模块。因此,即使光模块完全失效,我们仍然可以保证UB网络实现零丢包,这可使平均无故障时间(MTBF)提升约100倍。
但只是有光链路级别的保护不够充分,因为现在我们谈论的是含数十万个处理器的大规模系统。在过去人们通过部署备用节点来维护这类系统,即把备用节点接入网络,而且在切换备用节点的情况下,故障修理的时间很紧,所以我们会看到故障需要在短短1小时内修复,以确保第二次故障不会破坏整个系统。
那么随着超级节点规模扩大,这种问题会变得更加严重,如何才能处理大规模的系统的弹性需求呢?我们提倡采用分层方案,正如之前提到的,我们设计的机架含64个工作节点加1个备用节点,这个额外的芯片为机架级提供了弹性。
下面我来谈谈这将如何运作。这张图展示了一个正常工作的机架:64个绿色芯片均为正常节点,正在运行实际工作负载。还有另外加1个黄色芯片(抱歉之前说的是蓝色,实际是黄色)作为机架级的备用节点。
当然在系统层面,我们还有备用机架,如图中黄色方框所示,假设一开始绿色机架正常运行服务,无任何故障。一段时间后,某个机架内的一个芯片遭受芯片故障,系统检测到后,会将该机架标记为故障机架。由于网络拓扑的局限性,高带宽域的备份需要以整体备份,所以我们会将服务切换到备用机架,此时服务恢复正常,故障机架则离线自动恢复。关键在于,下线的故障机架之所以可自动修复,是因为机架内有备用芯片可替换故障芯片。
在自动修复过程中,系统可以重新配置备用机架,并使用备用芯片替代故障芯片的功能。之后,这个带有曾含有故障芯片的机架可以重新上线,作为新的备用机架,或作为运行不太重要服务的活动节点。尽管这个机架曾出现故障,但它修复后仍然功能和性能齐全。唯一的区别是换了备用芯片的机架,不再具备修复第二个芯片故障的能力。这几乎就像车里的备胎——即使某个轮胎坏了,换上备胎仍能正常行驶。
这种分层备份方案的优势在于:可以将100万芯片超级节点系统的故障修复窗口从1小时延长到1个月,即平均无故障时间(MTBF)提升超 100 倍。
总而言之,我们探讨了统一协议的原因以及统一总线协议背后的设计理念,也介绍了新颖实用的适用于大型超级节点系统的拓扑设计。我们还谈论了协议设计和光模块设计的改进,以及系统级容错方案——这些技术已能支持超级节点从数十个节点的机架规模,扩展到实际部署中,介于3.2万和100万之间芯片系统的规模。
如今,超大规模超级节点已成为现实,这也应终结关于“超级芯片与超级节点孰优孰劣”的争论。我们认为的答案是“超级芯片+超级节点”:一方面,在工艺技术限制下尽可能提升单芯片性能;另一方面,扩大AI超级节点的规模,两者结合,将在未来几年内推动千兆瓦级AI数据中心的建成。更多细节可参考Arxiv.org网站上发表的论文,其中包含更丰富的工程细节。谢谢大家!
点击“阅读原文”,了解黄大年茶思屋科技网站更多精彩内容。
扫码进入茶思屋科技网站
加入茶思屋产学研思想碰撞
转载请联系本公众号获得授权
投稿:hdncsw@huawei.com