← 返回首页
硬件架构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 的定位是让中小企业用几台风冷服务器,也能组出「超节点」的用法。
先解释三个贯穿全文的名词:
- 灵衢(UnifiedBus,简称 UB):华为的超节点互联总线。它最大的特点是内存语义访问——一块 NPU 可以对另一块 NPU 的显存直接 load/store,像访问自己的内存一样,而不是走「发消息—等回复」的报文模式;
- 超节点(SuperPoD):多台机器共享同一个 UB 域,全局统一内存编址,调度器眼里它们就是一台机器。典型特征是
npu-smi 能读到 spod-id(SuperPoD 编号);
- FM8 / FM16:工程师俗称,FM = Full-Mesh。FM8 指一台 650E 机内 8 卡全互联;FM16 指两台 FM8 用灵衢光口背靠背再全互联成 16 卡。官方白皮书的说法是「光纤背靠背 Full-Mesh 双机互联,16 个 NPU 免交换」。
机器买回来只是第一步。几台 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
图为拓扑示意:实际走线在机箱背板上,图中「每卡一条竖线」代表该卡接入背板的全互联网络
这个机内设计有两个直接后果:
- 内存语义访问:NPU 0 想读 NPU 5 显存里的一个 tensor,直接 load 就行——这是灵衢 UB 和「发 RDMA 报文」最本质的区别;
- 单机即域:一台 650E 的 8 卡天然就是一个完整的 UB 域,后面的三种组网,讨论的都是「机与机之间怎么连」。
顺带一提:上一代 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 把 RDMA 语义跑在以太网帧里。它不是灵衢 UB——没有跨机的统一内存编址,A 机的 NPU 不能对 B 机的显存直接 load/store。
- 判定特征:不存在全局统一内存编址,
npu-smi 读不到 spod-id;
- MoE 推理建议:跨机通信开销大,不推荐开启
enable_shared_expert_dp,优先用 EP / DP 把跨机流量压到最少。
❌ 组网① 判定:非超节点 —— RoCE RDMA 报文模型,无灵衢 UB,机间各自独立
组网② UBoE:UB 报文坐以太网(非超节点)
UBoE(UB over Ethernet)是个折中形态:机内仍然是原生灵衢 UB 域(FM8 背板),机间则把 UB 报文封装进以太网帧,交给 UBoE 以太交换机转发。它比 RoCE 多保留了 UB 的报文语义,但两台机器依然是两个独立的 UB 域——跨机没有统一内存编址。
图 4:组网② UBoE——机内各自 UB 域,机间 UB 报文封装以太帧经交换机转发
注意图里每台机箱内部多了一个绿色虚线框——那是各自的机内 UB 域。UB 域 A 和 UB 域 B 之间隔着封装/解封装,跨机的内存语义访问在这里断掉了,这正是它成不了超节点的原因。
- 判定特征:跨独立 UB 域,无全局统一内存编址,
npu-smi 读不到 spod-id;
- MoE 推理建议:可以跑 shared expert DP,但跨机要经过封装转发,时延显著高于 FM16 小超,收益打折。
❌ 组网② 判定:非超节点 —— 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
| 维度 | RoCE | UBoE |
| 谁的体系 | 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 域
图里那 4 条交叉线就是「背靠背」的含义:A 机多个光口分别连到 B 机多个光口,形成机间多路径直连。链路跑的是原生灵衢 UB 协议(不封装以太网帧),所以内存语义访问跨机依然成立——B 机 NPU 8 的显存,在 A 机 NPU 0 眼里就是「同域远端内存」。
- 判定特征:16 卡同一个 UB 域,
npu-smi 能读到合法的 spod-id——这是它和另外两种组网最硬的区别;
- MoE 推理建议:跨 NPU 原生内存语义访问,带宽高、时延低,
enable_shared_expert_dp 收益最大;
- 扩容路径:华为把它定位为「中小企业级小型超节点」——两台起步像一台运行,后续平滑扩容,本地就能跑万亿参数模型。
✅ 组网③ 判定:小超节点 —— 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 推理质量、想用超节点 |
六、怎么选
- 机房里只有普通以太交换机、机器当算力池用 → 组网① RoCE,按普通集群管,简单成熟;
- 已经采购了 UBoE 交换机、规划多台以上规模 → 组网② UBoE,保留 UB 语义的报文转发,为将来向更大规模灵衢集群演进留路;
- 两台 650E、跑 MoE 推理、想要「两台像一台」 → 组网③ FM16 灵衢直连,加几根光纤就有一个小超节点,这是 650E 区别于上一代的核心卖点。
最后回到那个判定命令:三种组网在外观上几乎看不出差别——同样的风冷机箱、同样的 8 卡。差别全藏在机间那一段链路里:是 RDMA 报文、原生 UB 直连、还是封装后的 UB over Ethernet。spod-id 有没有,就是这一段链路留给运维的唯一指纹。