2024 年,Meta 一年之内新增了 8 种数据中心网络类型;全年每周有 800 到 2000 次网络变更在流水线上滚动。在此之前,这类工作的主流做法是资深工程师手写操作流程(Method of Procedures),再配上一些只有作者自己看得懂的脚本。缺口就藏在中间:一张网络设计图,究竟怎么变成几千台交换机上真实运行的配置?工业界的研究集中在拓扑与硬件部署,从 Google 的 Jupiter 到 Meta 的 F16,讲的都是网络长什么样、怎么装;学术界的研究集中在网络上线之后的配置校验,Batfish 一系是代表。从设计图到交换机配置的落地环节,长期没有人把它当成一个系统问题来解。
Meta 发表在 NSDI '26 的 Matryoshka 补上了这一层。它在 Meta 内部运行六年,40 万行代码,经历四次大版本重构,交付了五代数据中心网络,支撑近 900 套网络、18 种类型;今天 Meta 的数据中心网络已全部经由它设计落地,最新作品是承载 LLaMA 训练的十万卡超集群。论文自称是「第一个进入学术界的生产级数据中心网络设计实现系统」。这篇文章拆开它的运行方式:一台网络编译器如何把网络交付变成软件工程。
一、问题:网络交付从一次性工程变成持续交付
Matryoshka 的存在理由,写在 Meta 的三组生产数据里。
第一组是规模。Meta 的网络分布在 70 多个区域,单栋机房有几千台交换机,最大的 F16 fabric 包含 5664 台。2025 年近 900 套网络的构成里,新一代前端网络 dcP FE 占 47.3%,fabric 聚合层 FA 占 18.5%,RoCE 训练网占 12.2%,后端 dcP BE 占 11.8%,试验性的 DSF 占 5.0%,另有其他类型 5.2%。
第二组是迭代速度。2020 到 2025 年,网络类型从 2 种涨到 18 种,部署实例从 18 套涨到近 900 套,两条曲线都在 2023 年之后加速。后端 AI 网络已经积累 109 个集群版本、26 种设备角色。变更最集中的其实是前端网络,业务迁移和动态调整都压在那里;后端网络结构相对稳定,版本却在快速分化。
第三组是异构。自研 FBOSS 白盒交换机与第三方设备并存,NVIDIA GPU 与自研 MTIA 加速器对网络的要求不同,不同厂商的配置语法互不相通。
三组数字指向同一个结构变化:网络不再是建成即稳定的静态设施,而是按周迭代的持续交付产物。变更频率乘上网络多样性,就是交付工具链必须承受的负载——AI 让这两项同时暴涨,专家加脚本的模式在这个负载下已经撑不住了。
二、系统全貌:一台网络编译器
论文的定位原文说得很直白:软件系统扮演编译器(a software system acts as a compiler),把高层网络设计意图翻译成可运行的交换机配置。整条流水线分七步(图 1)。

第一步,工程师用 Thrift(Meta 的接口定义语言)写 Network Spec,声明想要什么而非怎么配。规格由几组结构组成:设备实体按角色归类交换机,用带取值区间的命名模板生成设备名;硬件档案登记机箱型号、线卡型号与操作系统,落入 FBNet 数据库后直接生成采购物料清单(BOM);供应状态标记每台设备在生命周期中的位置,设备引导与质检阶段处于 PROVISIONING,具备承载生产流量的条件后转为 IN_USE;其余是拓扑模式与数量、端口映射模板、IP 大段、BGP 模板。
两类内容刻意不进规格:QoS 这类少变的静态配置直接以模板形式进入生成环节,端口起落、设备排水复水这类实时状态也不在其中,意图与现状彻底分离。规格的工程管理与代码同级:版本化保存、历史可回溯,每次修改先过自动健全性检查再过人工评审,公司统一工具链对每笔变更执行集成、回归与校验,失败即阻断合并,例外放行须正式审批。
第二步拓扑综合,第三步端口映射。拓扑先以抽象形式生成:顶点是真实设备名,边用逻辑接口名,供早期规划与采购物料使用;再套端口模板落到物理端口名,变成直接指导机房布线的具体拓扑。端口模板经历了一轮收敛:初版按具体网络定制,模板里写死交换机名,几百套生产网络各持一套,数量很快失控。重构后以通用设备标识替代具体设备名,同一模板跨网络复用,模板数量大幅下降。
第四步 IP 分层分配。两类前缀分开管理:基础设施前缀承载路由控制流量,含环回地址与设备互联地址;业务前缀承载实际数据流量,含集群动态地址、虚拟 IP 与每任务一址(IP-per-task)。从大网段逐层切到单设备单端口,网络改造时尽量保持地址稳定。
第五步路由生成。OpenR 负责域内路由,BGP 负责域间与策略路由;BGP 邻居组按设备角色对(如 spine 到 aggregate)套预定义模板,路由模板按前缀类别程序化分配地址段,每条模板带面向特定交换机的网络域配置,以此控制路由分发的范围。路由策略可以作为外部输入注入。
第六步生成平台无关的通用交换机配置 GSC;第七步由各厂商后端把 GSC 翻译成原生配置,经校验门禁后写入权威网络数据库 FBNet,再分发到交换机。
这套结构像芯片设计流程:Network Spec 相当于 RTL,拓扑综合与端口映射对应逻辑综合与布局布线,GSC 是中间表示(IR),厂商翻译是后端代码生成,校验门禁相当于流片前的检查。需要说明,编译器是论文自己的说法,EDA 这层类比是本文的扩展。
系统的名字取自俄罗斯套娃,论文给出两层含义:其一,Clos 是可复制、可改制的模块化构建块,像套娃逐层嵌套出超大规模网络;其二,配置生成沿同一节奏推进,从设计意图到物理端口逐层具体化。名字同时也是承诺:规模再大,交付也只是一层套一层地做同样的事。
三、四个关键设计
四种图元拼出所有拓扑。 Matryoshka 把任意数据中心网络拆成四种标准连接模式的组合:完全二分图(Complete Bipartite)、环(Ring)、全连接 Mesh、循环二分图(Circulant Bipartite)。传统 Clos(多级交换网络)是分层二分图的堆叠;AI 集群为满足带宽密度加入了 full-mesh。组合方式是自上而下的分解:先把层间与层内的连接切成一个个重复块,再把每块匹配到预定义图元上。这个设计的价值在组件隔离:引入新拓扑只动拓扑和端口模块,IP 分配、BGP 模板、设备建模全部复用。
Meta 正在试验的两个新方向都是这样接进来的。一个是 rail 拓扑,把多台机器上相同序号的 GPU 接到同一台叶子交换机,让 all-reduce 集合通信在第一跳就完成本 rail 内的交换;参与同一连接方式的 AI 机架与对应叶子交换机构成一个扩展单元(Scaling Unit),单元之上的 spine 层把各 rail 互联、并把多个单元连成整网。另一个是 DSF(分布式调度 fabric),叶子交换机把数据包拆成信元、喷洒到 fabric 上行链路实现负载均衡,接收端重新组装,全程用虚输出队列加信用流控调度。DSF 的路由邻居建在叶子之间而不经过 spine,fabric 节点上还要关闭 IP 分配——这些差异各自落在对应模块里,互不牵连(图 2)。

确定性无状态,每次都从头编译。 同样的输入永远产出同样的配置,每次运行都完整重编译,不依赖上一次的输出,所有运行状态都放在 FBNet 里。这个性质带来一个反直觉的好处:改造一张在运行的网络,等同于部署一张新网络。编译结果与 FBNet 中的现状做差异比对,没被触及的交换机可以证明配置一字未动,在线升级因此有了安全边界(图 3)。反面教材发生在 2020 年:一次在线迁移中,代码缺陷删光了跨 fabric 的全部 IPv6 前缀,险些误配整个区域的 fabric 交换机。这次事故之后,Meta 大幅投资编译期校验,后文的成绩单由此而来。

GSC:平台无关的中间表示。 无论自研 FBOSS 还是第三方设备,所有交换机先编译成同一套 Thrift 定义的平台无关配置,再由厂商专属后端翻译成原生格式。校验拆成两段:设计意图与 GSC 之间、GSC 与原生配置之间,各自独立进行。新增一种硬件只需要增加一个翻译后端,上层逻辑不动。这就是异构被控制住的原因。
校验的具体做法分两层。数据库层核对网络拓扑统计量,交换机数、链路数、IP 前缀数逐一对照规格;配置层检查生成结果的完整性与一致性,路由配置把外部策略定义与生成的邻居信息交叉核对,路由仿真系统再按无环路、无黑洞的判据验证整网行为。这些校验都做成模块化接口,协作团队可以接入自己的检查项。发布同样分两步:整网 GSC 先暂存分布式仓库,通过校验后移入生产目录。网络操作员择时触发部署事件,翻译器把 GSC 转成原生配置写入交换机。一旦监测到不良影响,全量发布立即中止:仓库侧移除或替换问题配置,设备侧回滚到上一个已验证版本,或以热修复覆盖。
按差异更新,且只动写入层。 全量重编译最痛的地方是数据库写入:早期版本更新 FBNet 采用删光重建,一次大型 fabric 扩容的数据库事务要 34.6 分钟。真正推动改造的是一次事故:外部维护工具在长事务执行中途读到不一致的中间状态,误判为设备故障,触发告警关停了设备。2022 年 4 月上线的新算法改成按差异更新。编译器在进程内保留全量数据库行实体的本地副本,新旧两版网络模型在内存中比对,据此生成只与变更范围成比例的事务,分六步执行:比对、解除外键、删除、更新静态字段(Update-static)、新建、重建外键。fabric 扩容事务从 34.6 分钟降到 46 秒,网格搬迁从 34.84 分钟降到 13.19 秒。注意编译语义没有变,依然是无状态全量重编译,变的只是写入数据库的那一层。绿场新建仍走全量写入,所以监控曲线上尖峰大幅减少但并未归零:上线前事务耗时频繁冲破 2000 秒,剩下的尖峰正是绿场的全量写入。
还有一条贯穿全程的取舍值得单独记录:模型的通用性有边界。拓扑与规模已经收进通用输入模型,IP 分配逻辑仍由编译器内按网络类型分写的专用代码承担。论文的判断标准是复用前景:未来网络大概率复用的能力进通用模型,一次性特例进专用代码段,40 万行代码由此在 18 种网络类型下保持可维护。通用模型从不追求全有或全无,它是随设计演进持续分摊的工程决策。
四、战例:十万卡超集群的交付
这台编译器目前最大的作品,是 2024 年间建成、超过十万 GPU 的 AI 超集群,LLaMA 的最新训练就跑在上面。
网络分前后两张。每个训练机架同时接入:前端网络负责数据摄入、checkpoint 保存和日志;后端网络是 RoCEv2(基于以太网的 RDMA 协议)训练专网。后端网的基础单元是 AI Zone:机架训练交换机连接本机架 GPU 并上行到集群训练交换机,Zone 内部无阻塞;当前超集群采用 AI 机架与机架训练交换机一一对应的布线,机架内全部 GPU 上行到同一台交换机;不同 Zone 之间由聚合训练交换机按 full-mesh 互联,带宽做了有意的超额订阅,以最大化端口利用率支撑 GPU 连接密度(图 4)。论文用 scale-up、scale-out 分别指机架内与跨机架的网络连接层级,与 NVLink 那类片间互联域不是一回事,阅读时需分清。

十万卡的交付是在线改造与新建并举。三栋原本跑通用业务的 dcT 机房,每栋原有四个 RoCE 存储集群;改造中原有的 RoCE 集群扩为八个 AI Zone,存储业务迁往独立机房,跨楼流量大增,承接 fabric 间流量的 FA 聚合层同步升级了带宽。改造期间前端业务全程未中断——无状态确定性编译在这里兑现价值:系统逐台验证未受影响的交换机配置保持原样,只更新需要变更的部分。另外两栋新建机房走全新路径:后端网虽是训练专网,交换机角色与前端网一一对应,机架、集群、聚合三层训练交换机分别镜像前端网的 rack、fabric、spine;Clos 与 full-mesh 都是既有图元,复用规格模板、只补 AI 专属配置即可。
整个区域级超集群作为单一网络实体建模,以支撑跨机房的大规模训练作业;布线同时容纳机架内电缆直连与列末端(End-of-Row)两种方案,后者把机架训练交换机集中到独立机架、通过光模块与单模光纤连接 GPU。
五、成绩单与天花板
生产数字分两面看(图 5)。

门禁面:过去一年 12,689 次编译校验中 589 次被拦下,通过率 95.4%,被拦配置都会停在 Configuration Mover Service,不会触达生产设备,折算下来平均每周约 11 次拦截需要人工处理。每日端到端行为测试自 2024 年 10 月下旬起成功率 96.4%,46 次失败中 25 次属于非系统因素,剔除后按 568 次通过、21 次系统性失败计,568/(568+21) = 96.4%。速度面:按差异更新把大型扩容的数据库事务从分钟级压到秒级,论文记录的四组场景压缩幅度从 70% 到 99.4%;新网络产品引入周期从一年压缩到四周,13 倍;提速来自三件事:增强网络规格的适应能力、推行统一设计标准减少例外、跨网络类型共享算法,IP 地址分配就是共享的一例。
天花板同样清楚。其一,瓶颈没有消失,只是从手写配置转移到处理被拦下的编译,每周约 11 次的人工介入说明流水线远未无人化。其二,处理时间与交换机数量近似线性。论文把端到端耗时拆成三块:GSC 生成与上传逐台进行,耗时随交换机数严格成比例,占比最大。数据库查询与意图编译主要按网络整体计算,增长温和。约 90% 的 CPU 花在 GSC 的序列化与反序列化上——中间表示本身成了规模天花板,最大的 F16 fabric(5664 台)全流程耗时接近 200 分钟(取自论文图 9 的横轴量级),再往上一个数量级大概率要换中间表示或引入分片编译。其三,共享代码路径有代价:为 AI 后端网加端口映射支持时,曾弄坏传统前端的迁移逻辑,此后立起覆盖全部网络类型的端到端非回归测试标准。同类问题在路由策略上还有一个案例:一条为屏蔽特定前缀新增的 BGP 策略,经由共享代码路径在其他数据中心造成前缀误过滤。校验规则难以预先写死,因为前缀本身就是编译器生成的。解法是把规则抽象成不变量,按命名规范与前缀掩码长度的启发式检查,校验器与生成器由此解耦。
还有一刀必须补上:以上正确性数字都是系统自报,守备范围是生成管线;设备上的配置漂移、硬件自身缺陷、语法正确但意图错误的配置,都不在这套门禁的拦截范围内。
六、总结与判断
Matryoshka 值得读,不是因为它提出了新网络设计——论文在相关工作里明说,Matryoshka 与既有拓扑类工作正交——而是因为它把网络交付变成了软件工程:版本化的设计规格、每日回归的行为测试、确定性可重现的构建、门禁与回滚。一篇工具链论文能登上 NSDI,背景是变更频率与网络多样性同时暴涨的 AI 时代:工具链承受的负载等于两者的乘积,在 Meta 这个规模上,专家加脚本的模式已经到了极限。
三个判断。第一,确定性无状态编译、图元代数、平台无关中间表示,这三个设计不依赖 Meta 的特殊条件,有类似规模网络交付需求的团队都可以逐项对照。第二,「第一个进入学术界的生产级数据中心网络设计实现系统」这句话本身就是信号:部署前的配置生成环节正式进入研究视野,Google 的 Jupiter 系列只公开到拓扑与管理层,同行公开同层系统只是时间问题。第三,把 Matryoshka 与 Meta 已公开的 MetaRoCE(运行期传输)、RDMATracer(运行期可观测)放在一起,网络全生命周期的软件化拼图在 Meta 已经完整。
后续观察三点:rail 与 DSF 是否进入下一代生产集群;Google、Amazon、阿里是否公开同层系统;十万卡以上的后端网络全流程编译时间若逼近半天,中间表示的换代将被提上日程。
声明: 本文基于 USENIX NSDI '26 论文《Matryoshka: Realizing Hyperscale Data Center Network Design for the AI Era》(Yan Cai 等,Meta,2026 年 5 月)预出版全文撰写,辅以 USENIX 官方摘要交叉核对。不构成投资建议。本文写作于 2026 年 9 月 10 日,9 月 11 日增补论文实现细节后修订,文中数据以论文发表口径为准。
