← 最新论文
🤖 AI

The Abstention Protocol: RCA for Clos Fabrics

本文介绍了 CoreSec,这是一个针对大规模 Clos 网络架构的生产级根因分析系统,它通过使用确定性的 PAM 式弃权代数取代了不稳定的基于评分的融合机制,从而在嘈杂的遥测环境中实现了稳定、可解释且具有单调性的故障归因。

原作者: Madhava Gaikwad, Deepak Pandey

发布于 2026-08-25
📖 1 分钟阅读☕ 轻松阅读

原作者: Madhava Gaikwad, Deepak Pandey

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

在现代云计算那庞大且嗡鸣不断的架构中,数据并非流经单一的管道,而是通过一个庞大、多层级的连接网络进行传输。想象一座城市,每栋建筑都连接到一个本地社区交换机,而这些交换机又连接到区域枢纽,最后连接到中央骨干网。这种被称为 Clos 结构的织物(fabric)设计,使得数百万台服务器能够以惊人的速度和冗余度进行通信。如果一条路径被阻塞,流量只需寻找另一条路径即可。得益于这种设计,系统具有极强的韧性;它每天可以吸收成千上计微小的、随机的故障——比如一根松动的线缆、一盏闪烁的灯或一次短暂的软件波动——而普通用户甚至察觉不到。然而,这种持续存在的背景噪声为维持系统运行的工程师们带来了深刻的问题。当某个特定服务对客户失效时,整个系统会亮起数百个警告信号。挑战不在于寻找损坏的部分,而在于弄清楚究竟是这些众多损坏部件中的哪一个真正导致了特定的故障。

多年来,解决这一谜题的标准方法是为每一个警告信号分配一个分数。如果一根线缆的错误计数很高,它就会得到高分;如果一个交换机重启了,它也会得到一个分数。系统会将这些分数累加,并将总分最高的实体归咎于故障。这种方法在网络安静时运作良好,但在超大规模环境下却经常失效。由于始终存在背景噪声,即使实际上并没有发生真正的故障,系统也经常会找出一个“罪魁祸首”,或者因为分数过于接近而指责错误的设备。工程师们发现,试图通过微调这些分数来修复某一类错误,会无意中破坏系统捕捉另一类错误的能力。结果是一个充满不确定性的循环:自动化修复有时会被虚假警报触发,从而使情况变得更糟而非更好。

为了解决这个问题,微软的一个团队开发了一个名为 CoreSec 的新系统,它改变了这些决策的基本逻辑。该系统不再是通过累加分数,而是将调查过程视为一系列严格的、独立的检查,类似于安全系统如何验证人员身份。在一座高安全性大楼里,保安可能会要求密码、指纹和门禁卡。如果缺少密码,保安不会进行猜测,而是直接拒绝进入并停止流程。CoreSec 将这种“弃权”逻辑应用于网络故障。它为不同类型的数据分配了特定的角色。有些信号是强制性的:如果关键证据缺失或过时,系统会拒绝做出决策。其他信号本身就具有充分性:如果发现了某个特定且无可争议的错误,系统会停止进一步查找并立即指出原因。

该系统并行运行五种不同的调查,每种调查都关注网络的不同层级,从连接服务器的单个线缆到支撑整个织物的巨大骨干交换机。每项调查都使用自己的规则集来决定是否有足够的证据为特定原因投票。如果证据明确,它就投票;如果证据缺失或存在矛盾,它就弃权。这是一个至关重要的转变。在旧系统中,计算机被迫在不知道答案的情况下也要选出一个赢家。而在新系统中,承认无知是一个有效且有用的结果。当系统弃权时,它会告诉人类工程师:“我目前无法确定”,并将案例连同关于缺失数据的清晰摘要一起移交给他们。这防止了系统做出自信但错误的猜测,从而避免触发不必要且可能有害的自动化修复。

一旦五项并行调查完成,第二层逻辑便会介入以整合它们的结果。这种逻辑理解网络的物理形态。它知道,如果单个交换机失效,可能会影响几台服务器;但如果更高层级的枢纽失效,则会产生连锁反应,导致许多下级交换机同时表现出异常。系统使用简单的、硬编码的规则来判定究竟是哪一层级真正负责。例如,如果怀疑某个高层级交换机出现问题,系统会检查与其连接的较小交换机中是否至少有三分之二也显示出问题。如果是,系统就会得出结论,认为该高层级交换机是根本原因,并忽略其下方的单个交换机。这防止了系统被症状所干扰,从而误判网络层级。

将该系统部署到 Azure 云的六十多个区域后的结果是显著的。在三年的时间里,该系统处理了超过 70 万起事件。虚假警报率(即系统指责健康设备的比例)从接近 20% 下降到了不到 1%。与此同时,系统在无需人工干预的情况下正确识别问题的次数显著增加。或许最重要的一点是,该系统消除了每起事件都需要三名全职工程师手动审查和协调冲突数据的需求。曾经需要花费数小时来理清这些乱麻的工程师们,现在收到的则是一份结构清晰的报告,告知他们系统发现了什么、无法确定什么,以及下一步应该去哪里查看。

CoreSec 的成功在于它拒绝猜测。通过将不同数据源的融合视为一个组合问题而非评分游戏,该系统实现了一种此前无法实现的稳定性。它并不依赖复杂的机器学习模型(这些模型可能会随着网络演进而改变行为),而是使用一套固定的逻辑规则,这些规则已被证明可以在不同的硬件、不同的流量模式以及不同的数据中心设计下有效运行,且无需重新调优。该系统表明,在一个充满噪声、信息不完整的世界里,最强大的工具往往是能够说出“我不知道”,并等待更好证据的能力。这种方法将根因分析从一场概率游戏转变为一个可靠、可解释的过程,使得云端即使在规模和复杂性不断增长的情况下也能保持稳定。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →