← 返回首页
硬件架构2026-10-15 发布 · Atlas 650E(昇腾 950DT,代号 A5)组网笔记

昇腾 A5 组网形态详解:Atlas 650E 的三种拓扑对比

同样一台 8 卡风冷服务器,机间用 RoCE、灵衢直连还是 UBoE,决定了它是普通集群还是「小型超节点」——现场一条命令就能判定

一句话结论:Atlas 650E 单机 8 颗昇腾 950DT,机内靠灵衢 UB 背板 Full-Mesh 连成一台整机。三台以上规模怎么连,有三种主流形态:RoCE 以太组网(最通用,非超节点)、UBoE 组网(UB 报文走以太交换机,非超节点)、FM16 双机灵衢直连(16 卡免交换互联,小超节点 ✅)。是不是超节点,用 npu-smi info -t spod-info 看 spod-id 一验便知。

一、背景:650E 是什么,组网为什么重要

Atlas 650E 是华为在 2026 年 9 月全联接大会灵衢发布中推出的企业级风冷 AI 服务器:单机搭载 8 颗昇腾 950DT(内部代号 A5),整机能提供 12.4 PFLOPS @mxFP4 算力和 4.0 TB/s 的访存带宽,风冷设计可以直接进普通机房。与它同台的还有面向数据中心液冷场景的 Atlas 950 SuperPoD 超节点(单柜 64 卡、最大 8192 卡互联),而 650E 的定位是让中小企业用几台风冷服务器,也能组出「超节点」的用法。

先解释三个贯穿全文的名词:

机器买回来只是第一步。几台 650E 之间怎么连,决定了三件事:它是不是一个超节点、有没有全局统一内存编址、MoE 推理的并行策略该怎么配。下面先看机内,再看三种机间组网。

二、先看机内:一台 650E 的 8 张卡

一台 650E 的底子是 8 颗昇腾 950DT。真正把「8 颗芯片」变成「一台机器」的是灵衢 UB 背板:8 颗 NPU 两两直连、全部互联——8 选 2 共 C(8,2) = 28 条链路,任意两颗卡之间都是背板上的专线,不需要经过任何交换。这就是「FM8」(Full-Mesh 8 卡)这个名字的由来。

图 1:一台 Atlas 650E 的机内结构——8 颗昇腾 950DT + 灵衢 UB 背板 Full-Mesh
Atlas 650E 机箱(风冷 · 企业级) 单机 8 × 昇腾 950DT(代号 A5) NPU 0 昇腾 950DT NPU 1 昇腾 950DT NPU 2 昇腾 950DT NPU 3 昇腾 950DT NPU 4 昇腾 950DT NPU 5 昇腾 950DT NPU 6 昇腾 950DT NPU 7 昇腾 950DT 灵衢 UnifiedBus 背板 · Full-Mesh 全互联:任两卡直连,共 C(8,2) = 28 条链路 每颗 NPU 与其余 7 颗都有背板专线 · 一台 650E 的 8 卡自成一个小型 UB 域(俗称 FM8)
图为拓扑示意:实际走线在机箱背板上,图中「每卡一条竖线」代表该卡接入背板的全互联网络

这个机内设计有两个直接后果:

顺带一提:上一代 Atlas 650(不带 E)机内互联还是 PCIe,没有灵衢 UB 背板——这也是 650 与 650E 在机内的核心差别。下面的组网①里,两种机器都常见。

三、三种组网形态总览

同样的 650E,机间连法不同,就是三种完全不同的部署形态:

图 2:一台 Atlas 650E,三种机间连法
flowchart TD A["一台 Atlas 650E
8 × 昇腾 950DT · 机内灵衢 UB 背板 FM8"] A --> B["组网① RoCE 以太组网
经 RoCE 交换机 · 400G RDMA
非超节点"] A --> D["组网② UBoE 组网
UB 报文封装以太帧 · 经 UBoE 交换机
非超节点"] A --> C["组网③ FM16 灵衢双机直连
光口背靠背 Full-Mesh
免交换机 · ✅ 小超节点"] style A fill:#e6f3ff,color:#000000 style B fill:#e2e8f0,color:#000000 style C fill:#ccffcc,color:#000000,stroke:#059669,stroke-width:2px style D fill:#ffedd5,color:#000000

组网① RoCE:最通用的以太组网(非超节点)

这是最传统、也最普及的连法:每台服务器拿出一块以太网口,插到 RoCE 以太网交换机上,机间流量全部走 400G RoCE v2 RDMA 报文。它对机房没有任何特殊要求——只要有一台支持 RoCE 的以太交换机就行,所以 650 / 650E 混跑的存量集群大多长这样。

图 3:组网① RoCE——机间 400G RDMA 报文,经以太交换机转发
RoCE 以太网交换机 400G RoCE v2 · RDMA 650 / 650E 服务器 A NPU 0 NPU 1 NPU 2 NPU 3 NPU 4 NPU 5 NPU 6 NPU 7 机内:灵衢 UB 背板(650E)/ PCIe(650) 650 / 650E 服务器 B NPU 0 NPU 1 NPU 2 NPU 3 NPU 4 NPU 5 NPU 6 NPU 7 机内:灵衢 UB 背板(650E)/ PCIe(650) 400G RoCE v2 RDMA 报文(机间)

这条路上的机间通信,走的是「封装—转发」的报文模型:两边各有一张普通以太网卡,RoCE 把 RDMA 语义跑在以太网帧里。它不是灵衢 UB——没有跨机的统一内存编址,A 机的 NPU 不能对 B 机的显存直接 load/store。

❌ 组网① 判定:非超节点 —— RoCE RDMA 报文模型,无灵衢 UB,机间各自独立

组网② UBoE:UB 报文坐以太网(非超节点)

UBoE(UB over Ethernet)是个折中形态:机内仍然是原生灵衢 UB 域(FM8 背板),机间则把 UB 报文封装进以太网帧,交给 UBoE 以太交换机转发。它比 RoCE 多保留了 UB 的报文语义,但两台机器依然是两个独立的 UB 域——跨机没有统一内存编址。

图 4:组网② UBoE——机内各自 UB 域,机间 UB 报文封装以太帧经交换机转发
UBoE 以太网交换机 UB over Ethernet · UB 报文封装转发 650E FM8 服务器 A UB 域 A(机内) NPU 0 NPU 1 NPU 2 NPU 3 NPU 4 NPU 5 NPU 6 NPU 7 灵衢 UB 背板 Full-Mesh 650E FM8 服务器 B UB 域 B(机内) NPU 0 NPU 1 NPU 2 NPU 3 NPU 4 NPU 5 NPU 6 NPU 7 灵衢 UB 背板 Full-Mesh UB 报文封装以太网帧(跨独立 UB 域)

注意图里每台机箱内部多了一个绿色虚线框——那是各自的机内 UB 域。UB 域 A 和 UB 域 B 之间隔着封装/解封装,跨机的内存语义访问在这里断掉了,这正是它成不了超节点的原因。

❌ 组网② 判定:非超节点 —— UBoE 以太转发,跨独立 UB 域,无统一内存编址

RoCE 与 UBoE 的关系:同一个以太网,两种承载

一个常见误解先摆正:RoCE 和 UBoE 不是两种以太网——以太网自始至终是同一个:标准以太交换机、标准光纤、标准以太网帧。它们的共同点是,都把一种高性能语义封装进以太网帧里,复用以太网的全部基础设施;区别只有一个——封装进去的是什么。

把以太网想成一条谁都能上的高速公路:RoCE 和 UBoE 是两支不同的车队。大家都得守公路的交通规则(以太网帧格式),但两支车说的语言、拉的货完全不同——RoCE 车上讲 RDMA(行业通用的远程内存读写语义),UBoE 的货厢里装的是 UB 报文(灵衢语义)。货到对端,各按各的语言卸车:前者按 RDMA 规则用,后者解封装后继续当 UB 报文处理。

图 5:RoCE 与 UBoE——同一条以太网公路,两种车上语义
flowchart LR subgraph R["RoCE:以太网承载 RDMA(IBTA 行业标准)"] direction LR R1["NPU A"] --> R2["RoCE 网卡
RDMA 报文
UDP/IP 封装(端口 4791)"] R2 --> R3["标准以太网
交换机"] R3 --> R4["对端 RoCE 网卡"] R4 --> R5["NPU B
按 RDMA 语义处理"] end subgraph U["UBoE:以太网承载 UB(灵衢体系)"] direction LR U1["NPU A
UB 域 A"] --> U2["封装
UB 报文装进以太网帧"] U2 --> U3["标准以太网
交换机"] U3 --> U4["对端解封装"] U4 --> U5["NPU B
UB 域 B
继续按 UB 语义处理"] end style R fill:#e6f3ff,color:#000000 style U fill:#ffedd5,color:#000000 style R5 fill:#dbeafe,color:#000000 style U5 fill:#fed7aa,color:#000000
维度RoCEUBoE
谁的体系IBTA 行业标准(InfiniBand 系移植)华为灵衢体系
以太网里装的是什么RDMA 语义(远程内存读写,v2 走 UDP/IP)UB 报文原样封装
端点要求标准 RoCE 网卡,跨厂商通用昇腾 / 灵衢体系(端点要会说 UB)
跨机之后就是 RDMA,与 UB 无关回到 UB 语义,但仍是两个独立 UB 域
在 650E 部署里的角色机间普通集群的通用连法连接 UB 域与 UB 域,向更大规模灵衢集群演进的路

那为什么有了 RoCE 还要造一个 UBoE?关键在端点说什么语言。650E 机内说的是 UB:跨机互联要么整条链路换语言——走 RoCE,协议栈从 UB 换成 RDMA,集合通信全按 RDMA 路径走;要么带着母语上路——走 UBoE,UB 报文原样打包,过一段公路,到对端解包继续说 UB,域内协议连续。对昇腾软件栈来说后者改造小;对网络演进来说,后者是 UB 域规模化的通道——多个超节点拉成超大集群(如 Atlas 950 SuperCluster),走的就是这类「UB 域之间用封装以太网互联」的路子。

也正因为隔着「封装—转发—解封装」这一段,两者都够不到超节点的门槛:超节点的定义是同一个 UB 域 + 全局统一内存编址。RoCE 全程不说 UB,自然谈不上;UBoE 说了 UB,但封装两端的 UB 域各自独立,编址并不统一。只有不封装、原生 UB 光纤直连的组网③ FM16,才把 16 卡焊进同一个域——这就是三种组网里只有它是小超节点的根本原因。

组网③ FM16 双机灵衢直连:小超节点 ✅

这是 650E 最有想象空间的连法:两台 FM8 服务器之间,用灵衢光口背靠背直连——A 机的光口出光纤,直接插进 B 机的光口,中间没有任何交换机。机内 8 卡 Full-Mesh,机间再加一组直连光缆之后,16 颗 NPU 被拉进同一个 UB 域:全局统一内存编址,两台机器像一台一样运行。

图 6:组网③ FM16——两台 FM8 光口背靠背 Full-Mesh,16 卡同一 UB 域
同一个灵衢 UB 域:16 NPU 全局统一内存编址 · npu-smi 可读 spod-id 650E FM8 服务器 A NPU 0 NPU 1 NPU 2 NPU 3 NPU 4 NPU 5 NPU 6 NPU 7 灵衢 UB 背板 · 8 卡 Full-Mesh 650E FM8 服务器 B NPU 0 NPU 1 NPU 2 NPU 3 NPU 4 NPU 5 NPU 6 NPU 7 灵衢 UB 背板 · 8 卡 Full-Mesh 每台 4 个灵衢光口(示意) 灵衢光口 · 背靠背 Full-Mesh 直连(免交换机) ✅ 小超节点:两台机器像一台运行 · 支持平滑扩容

图里那 4 条交叉线就是「背靠背」的含义:A 机多个光口分别连到 B 机多个光口,形成机间多路径直连。链路跑的是原生灵衢 UB 协议(不封装以太网帧),所以内存语义访问跨机依然成立——B 机 NPU 8 的显存,在 A 机 NPU 0 眼里就是「同域远端内存」。

✅ 组网③ 判定:小超节点 —— 16 卡同一 UB 域,全局统一内存编址,spod-id 可读

四、现场怎么判定:一条命令

拿到一套已部署的环境,不用翻网络拓扑图,直接在任意一台机器上执行:

# 现场验证:是不是超节点
npu-smi info -t spod-info

# 输出里有合法 spod-id  → SuperPoD(超节点,组网③ FM16 灵衢直连)
# 无返回 / 读不到       → 普通集群(组网① RoCE 或 组网② UBoE)
图 7:超节点判定流程
flowchart TD A["现场拿到一套 650E / 650E 环境"] --> B["任意节点执行
npu-smi info -t spod-info"] B --> C["读到合法 spod-id"] B --> D["无返回 / 读不到 spod-id"] C --> E["✅ SuperPoD 超节点
16 卡同一 UB 域 · FM16 直连"] D --> F["❌ 普通集群
RoCE 或 UBoE 组网"] style A fill:#e6f3ff,color:#000000 style B fill:#e2e8f0,color:#000000 style C fill:#e2e8f0,color:#000000 style D fill:#e2e8f0,color:#000000 style E fill:#ccffcc,color:#000000,stroke:#059669,stroke-width:2px style F fill:#ffcccc,color:#000000,stroke:#cc0000

五、三种组网对比速查

对比维度① RoCE 组网② UBoE 组网③ FM16 灵衢直连
机内互联650:PCIe;650E:灵衢 UB 背板灵衢 UB 背板 FM8灵衢 UB 背板 FM8
机间链路400G RoCE v2,经以太交换机UBoE,经以太交换机灵衢光口背靠背 Full-Mesh,免交换机
UB 域无跨机 UB机内各自独立 UB 域16 卡同一个 UB 域
全局统一内存编址无无有
npu-smi spod-id读不到读不到可读
是否超节点❌ 否❌ 否✅ 是(小超节点)
MoE 推理建议不开 enable_shared_expert_dp,优先 EP / DP可开,但跨机时延显著高于 FM16开 enable_shared_expert_dp,收益最大
适用场景存量以太机房、通用集群已有 UBoE 交换机的折中组网两台起步、要 MoE 推理质量、想用超节点

六、怎么选

最后回到那个判定命令:三种组网在外观上几乎看不出差别——同样的风冷机箱、同样的 8 卡。差别全藏在机间那一段链路里:是 RDMA 报文、原生 UB 直连、还是封装后的 UB over Ethernet。spod-id 有没有,就是这一段链路留给运维的唯一指纹。

华杉的技术博客 · 苏ICP备2026063680号-1
首页