灵衢总线 (UB)
华为灵衢统一互联协议的协议栈设计、超节点架构及软件生态现状
核心要点:
- 华为面向超节点 (SuperPoD) 的统一互联协议,把网络与总线融合
- 协议栈七层 (物理 → 功能 + UMMU/UBFM),底层走网络分层、上层走 Load/Store
- LQC 提供跨芯片缓存一致性,是 UB 区别 NVLink/CXL 的关键差异
- MemFabric 全局统一编址 (128 TB CPU + 48 TB NPU 混合池已验证)
- UB Switch 两级交换 + 七平面全 mesh,单跳延迟 200 ns
- 软件栈全开源 (openEuler),UMDK 已对接 vLLM/SGLang/VeRL
- 唯一原生支持 >200m 光互联的 Scale-Up 协议
调研范围
核心问题:本文覆盖哪些内容、哪些属于其他知识域?
回答什么:
- 灵衢总线设计目标与产业定位
- 协议栈分层架构及各层职责
- 统一内存编址 (MemFabric / GVA / UMMU) 机制与实测性能
- LQC 缓存一致性协议定位与已知规格
- UB Switch 硬件拓扑与性能数据
- 与 NVLink / CXL / PCIe 的协议级对比
- 软件生态 (openEuler UBS Core / UMDK / ns-3-ub)
不回答:
- SuperPoD / Atlas 900 完整硬件拓扑与机柜设计(超出互联协议范围)
- 韬定律的定义与四层体系(属另一知识域)
- NVLink / CXL / PCIe 详细代际演进(已有独立文档,本文仅做对比引用)
- 集合通信算法在 UB 上的性能表现(属集合通信知识域)
本文新引入名词 (其他名词见 1.1 总览 Glossary):
- 灵衢总线 (UB):华为推出的统一互联协议与体系架构,面向超节点设计,把网络与总线融合为单一协议栈
- 超节点 (SuperPoD):华为 Scale-Up 架构单元,通过 UB 互联数百-数千 NPU 协同
- MemFabric: UB 内存池化系统,基于 GVA 实现跨节点跨介质统一编址与零拷贝
- GVA (Global Virtual Address): uint64 全局虚拟地址,所有进程起始一致
- UMMU (UB Memory Management Unit): UB 协议层地址翻译单元,GVA → NPA → SPA
- LQC (LingQu Cache-coherent):灵衢缓存一致性协议,"处理器内部总线向外延伸"
- UB Switch:灵衢专用交换芯片
- OBMM (On-Board Memory Management): openEuler 内核内存管理子系统,User-Home 模型
- UMDK (UnifiedBus Memory Development Kit):用户态 SDK,含 URMA/CAM/URPC/ULOCK/USOCK
- UBoE (UB over Ethernet): UB 在以太网物理层上的兼容承载模式
UB 解决什么问题?
消除传统数据中心"总线-网络"割裂带来的协议翻译开销。芯片内部走 AXI/CHI 等总线协议 (纳秒级),跨节点依赖 IB/RoCE 等网络协议 (微秒级),两层间的协议翻译带来延迟开销和软件复杂度。
华为在 2025 年 9 月全联接大会上由徐直军正式发布灵衢 2.0,核心定位"面向超节点的互联协议",目标是让万卡超节点如同一台计算机 — 所有 CPU / NPU / 内存 / 存储 / 交换机通过统一协议接入[1]。
版本时间线:
| 时间 | 里程碑 |
|---|---|
| 2019 | 研发启动 |
| 2025-03 | 灵衢 1.0 商用交付,Atlas 900 超节点部署超 300 套 |
| 2025-09-18 | 灵衢 2.0 正式发布,开放技术规范(基础规范 + 固件规范 + OS 参考设计) |
| 2026 H2 | 路线图目标:支持 8,192 卡超节点 |
| 2026-06-05 | 华为云发布 AICS 灵衢智算集群,支持 10 万卡规模,总算力 200 EFLOPS[2] |
@tbl-hw-lingqu-timeline UB 版本时间线
云侧集群服务 AICS(2026-06-05):华为云在 INSPIRE 创想者大会发布 AICS 灵衢智算集群,基于灵衢超大带宽网络,支持 10 万卡级集群规模(200 EFLOPS),千卡每秒吞吐 500 万 Tokens,Token 生成时延 <10 ms,在线服务可用性 99.95%[2]。注意与 Atlas 950/960 SuperCluster 的层次区别:AICS 是华为云侧的集群管理与调度服务,Atlas 950/960 是单超节点的硬件规格,两者面向不同维度。
六项核心设计特征[1]:
- 总线级互联:继承总线语义 (Load/Store),消除协议翻译
- 平等协同:CPU / NPU / MEM / DPU / SSU / Switch 六类资源对等接入
- 全量池化:所有资源可统一池化调度
- 协议归一:C2C / D2D / C2D / IO 四类通信同一总线域完成
- 大规模组网:从 64 卡线性扩展至万卡级
- 高可用性:光路百纳秒故障检测与保护切换
协议栈怎么分层?
双层基因:底层 (L1-L3) 继承计算机网络分层,上层 (L4-L6) 引入总线 Load/Store 语义[3][4],七层架构见 @tbl-hw-lingqu-stack。
| 层次 | 名称 | 核心职责 |
|---|---|---|
| L1 | 物理层 (Physical) | 信号传输、电气/光学特性,支持 SerDes 电互联 (~2m) 和光互联 (>200m) |
| L2 | 数据链路层 (Data Link) | 帧封装、CRC、链路级可靠传输,百纳秒级故障检测与保护切换 |
| L3 | 网络层 (Network) | 路由转发、UB Domain 间寻址、大规模组网支持 |
| L4 | 传输层 (Transport) | 端到端可靠通信、流控与拥塞控制 |
| L5 | 事务层 (Transaction) | 内存访问语义 (Load/Store)、消息传递、系统控制指令 |
| L6 | 功能层 (Functional) | 编程模型暴露、同步/异步访存指令发起、资源池化调度 |
| - | UMMU | 地址翻译 (GVA → NPA → SPA)、权限控制 |
| - | UBFM | Fabric 发现、拓扑构建、路由配置、全局地址映射管理 |
@tbl-hw-lingqu-stack UB 七层协议栈
关键设计决策:传统网络协议栈的事务层只提供 Send/Recv,UB 事务层直接支持 Load/Store — 远端 NPU 的 HBM 可像本地内存一样通过访存指令直接读写,无需构造消息包、无需 CPU 参与数据搬运。
ns-3-ub 开源仿真项目确认实现了功能层、事务层、传输层、网络层、数据链路层五层的协议框架。
MemFabric 怎么做统一内存编址?
GVA (uint64 全局虚拟地址) + 三级翻译 (GVA → NPA → SPA),应用无需关心数据位于哪个节点哪种介质。
GVA 机制[5]
- 所有进程看到相同的起始地址和线性排布
- 示例:两进程各贡献 16 GB NPU HBM + 128 GB CPU DRAM。GVA NPU 段
0x280000000000UL起 +32 GB,CPU 段紧随 +288 GB - 北向 API:
xcopy接口,类似memcpy的简洁语义 - 应用无需感知数据归属 — "拷贝到 GVA 地址 X"即可完成跨节点跨介质传输
地址翻译路径
GVA (Guest Virtual Address, 请求发起)
→ Local MMU 翻译
→ NPA (Network Physical Address, 经 Fabric 路由)
→ Remote MMU 翻译
→ SPA (System Physical Address, 目标介质物理地址)
内存池化实测 (Ascend A3, UB 1.0)
实测带宽见 @tbl-hw-lingqu-memfabric-bw。
| 指标 | 数值 |
|---|---|
| 最大池化容量 | 128 TB CPU 内存 + 48 TB NPU 显存 |
| 跨节点 RH2D (远程 DRAM → 本地 HBM) | ~102.6 GB/s |
| 跨节点 D2RH (本地 HBM → 远程 DRAM) | ~69.4 GB/s |
| 跨节点 RD2D (远程 HBM → 本地 HBM) | ~155.0 GB/s |
| 跨节点 D2RD (本地 HBM → 远程 HBM) | ~128.5 GB/s |
@tbl-hw-lingqu-memfabric-bw MemFabric 跨节点带宽实测 (1/2 GB transfer)
所有路径均为零拷贝 — 无中间转发和无控制面消息开销[5]。
南向插件矩阵
| 池化方向 | Host RDMA | Device RDMA | Device UB 1.0 |
|---|---|---|---|
| DRAM (跨节点) | [OK] | [OK] | [OK] |
| HBM (跨节点) | [FAIL] | [OK] | [OK] |
| HBM+DRAM 混合 | [FAIL] | [OK] | [OK] |
@tbl-hw-lingqu-memfabric-south MemFabric 南向插件支持矩阵
DMA 引擎:SDMA / MTE / UDMA / xDMA / LD/ST。xDMA 是 UB 原生 DMA 引擎,LD/ST 是 UB 总线语义的直接体现。
LQC 缓存一致性协议是什么?
"处理器内部总线向外延伸",使多芯片可共享内存"就像它们在一个芯片内部"[6]。
LQC 是 UB 区别于 NVLink (仅 GPU-GPU 互联无硬件一致性) 和 CXL (仅 CPU-xPU 一致性) 的关键技术差异点。
LQC Link 规格 (CloudMatrix 384)
| 连接 | LQC Link 规格 | 聚合带宽 |
|---|---|---|
| CPU → L1 Switch | 8×30G LQC | 240 Gbps |
| NPU → L1 Switch | 8×56G LQC | 448 Gbps |
| L1 Switch → Supernode Bus | 8×56G LQC | 448 Gbps |
| L2 设备互联 | 8×56G LQC | 448 Gbps |
@tbl-hw-lingqu-lqc-link LQC Link 规格
每个 NPU 在 7 个平面各分配 1 条 8×56G LQC Link,聚合 UB 单向带宽约 392 GB/s per NPU (7 平面 × 8×56G = 3,136 Gbps / 8 = 392 GB/s)[4]。
未公开细节
UB 2.0 基础规范 (541 页 PDF) 目前无法在公开渠道直接提取文本。LQC 的一致性协议实现细节 — 目录协议 (Directory) vs 侦听协议 (Snooping) 的选择、MESI/MOESI/自定义状态集合、状态转换消息格式、一致性域边界、缓存行粒度 — 均待后续获取规范全文后补充。
已知推断:"处理器内部总线向外延伸"暗示 LQC 可能继承 CPU 内部一致性协议的状态模型和消息格式,但扩展到跨芯片范围。
UB Switch 硬件与拓扑长什么样?
两级交换 + 七平面全 mesh,单跳延迟 200 ns[6]。
L1/L2 两级交换 (CloudMatrix 384)
| 层级 | 位置 | 设备 | 数量 |
|---|---|---|---|
| L1 | 计算节点内部 | 板载交换芯片 | 48 nodes × 7 平面 = 336 个 |
| L2 | 4 个互联机架 | LingQu 630 V1 交换机 | 56 台 (含 112 个交换芯片) |
@tbl-hw-lingqu-switch-layer UB Switch 两级架构
七平面全 mesh
- 7 个独立通信平面并行 → 7× 带宽聚合 + 冗余 + 负载均衡
- 全 mesh 单跳:每节点直接与所有其他节点通信,无多 hop 转发
- 单平面 16 个 L2 交换芯片
- 每 L1 交换芯片对应 1 个平面,分发 16 条链路到 16 个 L2 交换芯片
性能数据 (@tbl-hw-lingqu-perf)
| 指标 | 数值 | 来源 |
|---|---|---|
| 端到端时延 (灵衢 2.0) | 2.1 μs | 华为 keynote |
| 单跳通信时延 | 200 ns (vs 传统架构 2 μs) | 技术深度文章 |
| 带宽级别 | TB/s 级 | keynote + 百科 |
| 光互联距离 | >200m (传统电互联 2m 的 100×) | keynote |
| 光互联可靠性提升 | 100× | keynote |
| 故障检测与保护切换 | 百纳秒级 | keynote |
| 跨节点带宽衰减 | <3% (CloudMatrix 384) | 开源证券研报 |
| 跨节点延迟增加 | <1 μs | 开源证券研报 |
@tbl-hw-lingqu-perf UB Switch 性能指标
不同来源对单跳延迟有 150-200 ns 不同口径,可能对应不同测量条件 (芯片级 vs 节点级)。保守取 200 ns 作为公开可验证数值。
910C 芯片互联规格
| 指标 | 数值 |
|---|---|
| Die-to-Die 片上互联带宽 | 540 GB/s |
| HBM 总容量 | 128 GB (8 个 HBM 栈) |
| 总内存带宽 | 3.2 TB/s |
| UB 光收发器数 | 7 个/芯片 |
| 单 NPU UB 单向带宽 | 392 GB/s (双向 ~784 GB/s) |
| RDMA 平面带宽 | 3.2 Tbps/node (8 NPU) |
@tbl-hw-lingqu-910c 910C 芯片互联规格
规模扩展路线图
| 产品 | NPU 数量 | FP8 算力 | 内存 | 互联带宽 |
|---|---|---|---|---|
| CloudMatrix 384 | 384 | - | - | - |
| Atlas 950 SuperCluster | 8,192 | 8 EFlops | 1,152 TB | 16.3 PB/s |
| Atlas 960 SuperCluster | 15,488 | 950 翻番 | - | - |
@tbl-hw-lingqu-roadmap UB 超节点产品路线图
UBoE (UB over Ethernet)
UBoE 是 UB 协议在以太网物理层上的兼容承载模式,允许在非 UB 原生交换机的以太网基础设施上运行 UB 语义[3]。比 RoCE 更低的静态时延、更高可靠性,减少交换机/光模块数量,但性能相对原生 UB 有折损。
与 NVLink / CXL / PCIe 协议级有什么差异?
UB 在协议归一、链路距离、软件开放性三个维度独特,对比见 @tbl-hw-lingqu-vs-others。
| 维度 | UB (灵衢) | NVLink 5.0 | CXL 3.1 | PCIe 5.0/6.0 |
|---|---|---|---|---|
| 物理层 | 自研光电混合;链路 >200m | 专用 SerDes;芯片级近距离 | 基于 PCIe PHY | 标准 SerDes |
| 链路单跳延迟 | ~200 ns | ~100-300 ns (裸链路) | ~80-150 ns | ~100-150 ns |
| 端到端延迟 | 2.1 μs | ~1-2 μs | ~2-5 μs | ~500 ns-1 μs |
| 带宽 (每设备) | 392 GB/s per NPU (910C) | 1,800 GB/s (B200) | ~256 GB/s (x16) | 126 GB/s (5.0) / ~256 GB/s (6.0) |
| 协议归一 | C2C/D2D/C2D/IO 同一总线域 | 仅 GPU-GPU | CPU-xPU 一致性 | 通用 I/O |
| 缓存一致性 | LQC (软件维护 CPU;硬件 D2D) | 无硬件一致性 (NCCL 软件) | CXL.cache 硬件一致性 | 无 |
| 内存池化 | MemFabric 统一编址 + 多语义层 | GPU P2P 直接访问 | CXL.mem Type 3 扩展 | 无 |
| 通信兼容 | Socket/Verbs/RPC/SHM 多接口 | NCCL (私有) | RDMA over CXL | 标准 TCP/IP |
| 开源 | openEuler 全开源 (CC BY 4.0 / MIT 等) | NVIDIA 私有 | 标准开放 | PCIe-SIG 标准 |
| 可靠性 | N-1 节点 HA;光路百纳秒切换 | GPU ECC/故障隔离 | CXL.link CRC/重试 | 标准 PCIe AER |
@tbl-hw-lingqu-vs-others UB vs NVLink/CXL/PCIe 协议级对比
关键差异:
- 延迟:UB 200 ns 单跳比 NVLink 端到端 (~1-2 μs) 低约 5-10×。但 NVLink 端到端延迟包含协议栈和 PCIe 桥接开销,纯链路延迟更低。两者测量口径不同,不可直接等同
- 协议归一 vs 专一:UB 是唯一将 C2C/D2D/C2D/IO 四类通信纳入同一总线域的协议。NVIDIA 需要 NVLink + PCIe + IB/RoCE 三套并行
- 内存一致性路径不同:CXL 提供硬件 Cache Coherence (CXL.cache),UB 采用混合方案 — CPU 侧软件维护 (SHMEM),NPU 侧 LQC 硬件直驱 D2D。NVLink 无硬件一致性
- 链路距离:UB 原生支持 >200m 光互联,天然跨节点距离。NVLink 和 CXL 是机箱内近距离协议 (<1m)
- 软件栈开放性:UB Service Core 全开源至 openEuler,UMDK 公开在 GitHub,CAM 已对接 vLLM/SGLang/VeRL。NVLink 生态依赖闭源 NCCL
软件生态长什么样?
四层软件栈 + UBS Core 五大集群服务 + UMDK 五组件 SDK,全开源至 openEuler[7]。
四层软件栈
| 层级 | 定位 | 关键组件 |
|---|---|---|
| 硬件系统 | 超节点可定义计算基础 | UB / UB Firmware / BMC; UBFM |
| UB OS Component | 灵衢设备使能与统一抽象 | 设备管理 / OBMM 内存管理 / 通信 (UMS/URMA/URPC) / 虚拟化 (vfio-ub) |
| UB Service Core | 集群级系统服务 | Engine / Mem / Comm / IO / Virt 五大集群服务 |
| 应用适配 | 主流开源开箱即用 | 大数据适配 / 智算训推 / 云化 K8s |
@tbl-hw-lingqu-sw 软件栈四层
openEuler 24.03 LTS SP3 已原生集成 UB OS Component + UBS Core + GMem 三层,是首个生产级 UB 操作系统发行版。
UBS Core 五大集群服务
- UBS Engine:去中心化控制面,N-1 节点故障 HA,内存/DPU 池化动态调度
- UBS Mem: MemFabric 统一编址 / SHMEM / MemCache (KV Cache 弱一致性) / MemStore (强一致性存储)
- UBS Comm: HCOM 多协议通信 / Socket over UB (应用零修改 bypass TCP/IP) / HCAL 跨节点异构通信 / RoUB (RDMA Verbs 兼容)
- UBS IO:应用感知加速 / 多协议存储 / HBM Direct (bypass Memory 直通 SSD)
- UBS Virt:虚拟网络使能 / 跨节点超大规格虚拟机
UMDK SDK 五组件
| 组件 | 功能 |
|---|---|
| URMA | 核心组件,统一内存语义,远端单边/双边/原子操作 |
| CAM | SuperPOD 通信加速库,北向对接 vLLM/SGLang/VeRL,南向对接昇腾硬件 |
| URPC | 统一 RPC,主机间 + 设备间高性能通信 |
| ULOCK | 统一状态同步,分布式锁 |
| USOCK | Socket API 兼容层,TCP 应用零修改性能提升 |
@tbl-hw-lingqu-umdk UMDK 五组件
CAM 已对接主流推理框架,表明 UB 不是封闭的昇腾专属生态。
ns-3-ub 仿真框架
GitCode 仓库 (gitcode.com/open-usim/ns-3-ub) 存在但页面内容无法直接获取 (JS 动态渲染)。基于 ns-3 网络仿真器扩展 UB 协议仿真模块,已实现功能层到数据链路层的协议框架。具体模块结构和仿真参数需后续 clone 仓库分析。
调研结论
核心问题:灵衢总线相对 NVLink/CXL/PCIe 最核心的差异化竞争力是什么?
灵衢总线的核心竞争力在三个"唯一":
- 唯一将网络和总线融合的协议栈:七层架构 + UMMU/UBFM 附加组件,底层确保距离,上层消除翻译
- 唯一全栈开源的超节点互联生态:从内核驱动 (OBMM) 到集群服务 (UBS Core) 到应用 SDK (UMDK) 全开源,已对接主流推理框架
- 唯一原生支持 >200m 光互联的 Scale-Up 协议:不需要额外的网络层即可跨机柜组超节点
当前主要局限:每链路/每设备带宽数据未公开 (仅 910C 392 GB/s 来自券商研报推断),LQC 一致性协议细节无法验证,第三方独立基准测试缺失。
调研的局限
核心问题:当前调研在数据获取、基准测试、时效性上存在哪些局限?
- 数据局限:UB 2.0 基础规范 (541 页 PDF) 无法通过公开渠道提取文本,LQC 一致性协议机制 (目录/侦听选择、状态集合、消息格式) 未公开
- ns-3-ub 信息缺失:GitCode 仓库 JS 渲染无法直接读取
- 带宽数据局限:UB 每链路/每设备的官方带宽数据未公开,910C 的 392 GB/s 来自券商研报推断
- 基准测试缺失:无独立第三方对 UB 延迟/带宽的标准化测试报告
- 时间局限:灵衢 2.0 于 2025-09 发布,本文撰写于 2026-05,社区文档和开源项目尚在完善中
开放问题
核心问题:灵衢总线尚有哪七项关键技术细节因规范未公开而无法验证?
- UB 2.0 基础规范中 LQC 的完整一致性协议定义 (目录 vs 侦听?MESI/MOESI?消息格式?)
- 原生 UB 链路 (非 UBoE) 的每链路带宽规格的官方公开数据
- UB vs NVLink 5.0 在同等条件下的标准化延迟基准测试 (相同消息大小、相同拓扑规模)
- MemFabric 在万卡规模 (8,192+) 下的地址翻译效率和页表内存开销
- ns-3-ub 仿真框架的模块完整性和仿真精度评估
- UB 协议对 LLM 推理通信模式 (AllReduce/AllToAll/AllGather) 的针对性优化程度
- UBoE 模式下的性能折损量化 (相对原生 UB 的延迟和带宽比值)
Takeaway
| 知识点 | 核心结论 |
|---|---|
| 设计动机 | 消除"总线-网络"协议翻译,让万卡超节点如同一台计算机 |
| 协议栈 | 七层双层基因,事务层直接支持 Load/Store |
| MemFabric | GVA uint64 全局编址 + 三级翻译,128TB+48TB 池化已验证 |
| LQC | 跨芯片硬件缓存一致性,"处理器内部总线向外延伸" |
| UB Switch | 两级交换 + 七平面全 mesh,单跳 200 ns,端到端 2.1 μs |
| 协议归一 | C2C/D2D/C2D/IO 同一总线域,对比 NVLink+PCIe+IB 三套 |
| 软件开放 | 全开源至 openEuler,UMDK 已对接主流推理框架 |
| 唯一性 | 唯一支持 >200m 光互联的 Scale-Up 协议 |
参考资料
- 华为,以开创的超节点互联技术,引领AI基础设施新范式,华为全联接大会 2025-09-18. https://www.huawei.com/cn/news/2025/9/hc-xu-keynote-speech
- 华为云,AICS 灵衢智算集群发布——10 万卡 / 200 EFLOPS,华为云 INSPIRE 创想者大会 2026-06-05. https://finance.sina.com.cn/tech/discovery/2026-06-05/doc-iniaiyys8426291.shtml
- 电子工程专辑,从灵衢协议,看懂AI计算3.0. https://www.eet-china.com/mp/a476329.html
- 开源证券,超节点系列报告,2026-01-28. https://pdf.dfcfw.com/pdf/H3_AP202601291818526256_1.pdf
- 昇腾社区,昇腾超节点百TB级内存语义池化应用实践,2025-12. https://www.hiascend.com/developer/techArticles/20251203-5
- 博客园,Atlas 900 A3 SuperPoD 超节点网络架构. https://www.cnblogs.com/yangykaifa/p/19682882
- 华为/openEuler,灵衢系统高阶服务软件架构参考设计 v2.0,2025-09. https://www.openeuler.org/projects/ub-service-core/white-paper/UB-Service-Core-SW-Arch-RD-2.0-zh.pdf