← Últimos artículos
🤖 AI

The Abstention Protocol: RCA for Clos Fabrics

Este artículo presenta CoreSec, un sistema de análisis de causa raíz para producción destinado a arquitecturas Clos de gran escala que reemplaza la inestable fusión basada en puntuaciones por un álgebra de abstención determinista de estilo PAM para lograr una atribución de fallos estable, explicable y monotónica en entornos de telemetría con ruido.

Autores originales: Madhava Gaikwad, Deepak Pandey

Publicado 2026-08-25
📖 6 min de lectura🧠 Análisis profundo

Autores originales: Madhava Gaikwad, Deepak Pandey

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

En la vasta y zumbante arquitectura de la computación en la nube moderna, los datos no fluyen a través de una sola tubería, sino a través de una red de conexiones de múltiples capas y en expansión. Imagine una ciudad donde cada edificio está conectado a un conmutador de vecindario local, que a su vez se conecta a un concentrador de distrito, que finalmente se enlaza con una columna vertebral central. Esta estructura, conocida como tejido Clos, permite que millones de servidores se comuniquen entre sí con una velocidad y redundancia increíbles. Si un camino está bloqueado, el tráfico simplemente encuentra otro. Debido a este diseño, el sistema es increíblemente resiliente; puede absorber miles de pequeños fallos aleatorios cada día —como un cable suelto, una luz parpadeante o un breve hipo de software— sin que el usuario promedio lo note jamás. Sin embargo, este ruido constante de fondo crea un problema profundo para los ingenieros que mantienen el sistema en funcionamiento. Cuando un servicio específico falla para un cliente, el sistema se ilumina con cientos de advertencias. El desafío no es encontrar las partes rotas, sino determinar cuál de esas muchas partes rotas causó realmente la interrupción específica.

Durante años, la forma estándar de resolver este rompecabezas era asignar una puntuación a cada señal de advertencia. Si un cable tenía un alto recuento de errores, recibía una puntuación alta. Si un conmutador se reiniciaba, recibía una puntuación. El sistema sumaba estas puntuaciones y la entidad con el total más alto era la culpable de los problemas. Este enfoque funcionaba lo suficientemente bien cuando la red estaba tranquila, pero en un entorno de hiperescala, a menudo fallaba. Debido a que siempre hay algo de ruido de fondo, el sistema frecuentemente encontraba un "culpable" incluso cuando nada estaba realmente mal, o culpaba al dispositivo equivocado porque las puntuaciones eran demasiado cercanas para decidir. Los ingenieros descubrieron que intentar ajustar estas puntuaciones para corregir un tipo de error afectaba accidentalmente la capacidad del sistema para detectar otro. El resultado era un ciclo de incertidumbre, donde las correcciones automatizadas a veces eran activadas por falsas alarmas, empeorando la situación en lugar de mejorarla.

Para resolver esto, un equipo de Microsoft desarrolló un nuevo sistema llamado CoreSec, que cambia la lógica fundamental de cómo se toman estas decisiones. En lugar de sumar puntuaciones, el nuevo sistema trata la investigación como una serie de comprobaciones estrictas e independientes, similar a cómo un sistema de seguridad podría verificar la identidad de una persona. En un edificio de alta seguridad, un guardia podría requerir una contraseña, una huella dactilar y una tarjeta de acceso. Si falta la contraseña, el guardia no adivina; simplemente deniega la entrada y detiene el proceso. CoreSec aplica esta misma lógica de "abstención" a los fallos de red. Asigna roles específicos a diferentes tipos de datos. Algunas señales son obligatorias: si una pieza crítica de evidencia falta o está desactualizada, el sistema se niega a tomar una decisión. Otras señales son suficientes por sí mismas: si se encuentra un error específico e innegable, el sistema deja de buscar y nombra la causa de inmediato.

El sistema ejecuta cinco investigaciones diferentes en paralelo, cada una mirando una capa diferente de la red, desde los cables individuales que conectan los servidores hasta los enormes conmutadores de la columna vertebral que sostienen todo el tejido. Cada investigación utiliza su propio conjunto de reglas para decidir si tiene pruebas suficientes para votar por una causa específica. Si la evidencia es clara, vota. Si la evidencia es insuficiente o contradictoria, se abstiene. Este es un cambio crucial. En el sistema anterior, la computadora se veía obligada a elegir un ganador incluso cuando no sabía la respuesta. En el nuevo sistema, admitir la ignorancia es un resultado válido y útil. Cuando el sistema se abstiene, le dice a los ingenieros humanos: "Aún no puedo estar seguro", y les entrega el caso con un resumen claro de qué datos faltaban. Esto evita que el sistema tome decisiones erróneas pero seguras que podrían activar reparaciones automatizadas innecesarias y potencialmente dañinas.

Una vez que las cinco investigaciones paralelas han terminado, una segunda capa de lógica interviene para combinar sus resultados. Esta lógica comprende la forma física de la red. Sabe que si un solo conmutador falla, puede afectar a unos pocos servidores, pero si un concentrador de nivel superior falla, causará un efecto dominó que hará que muchos conmutadores parezcan enfermos al mismo tiempo. El sistema utiliza reglas simples y predefinidas para decidir qué capa es la realmente responsable. Por ejemplo, si se sospecha de un conmutador de alto nivel, el sistema verifica si al menos dos tercios de los conmutadores más pequeños conectados a él también muestran problemas. Si es así, el sistema concluye que el conmutador de alto nivel es la causa raíz e ignora los conmutadores individuales debajo de él. Esto evita que el sistema se distraiga con los síntomas y culpe al nivel equivocado de la red.

Los resultados de implementar este sistema en más de sesenta regiones de la nube Azure han sido sorprendentes. A lo largo de tres años, el sistema procesó más de 700,000 incidentes. La tasa de falsas alarmas, donde el sistema culpaba a un dispositivo sano, cayó de casi un veinte por ciento a menos del uno por ciento. Al mismo tiempo, el número de veces que el sistema identificó correctamente el problema sin necesidad de ayuda humana aumentó significamente. Quizás lo más importante es que el sistema eliminó la necesidad de tres ingenieros a tiempo completo para revisar y reconciliar manualmente los datos conflictivos en cada incidente. Los ingenieros que solían pasar horas desenredando estos nudos ahora reciben un informe claro y estructurado que les dice exactamente qué encontró el sistema, sobre qué no pudo decidir y hacia dónde deben mirar después.

El éxito de CoreSec reside en su negativa a adivinar. Al tratar la fusión de diferentes fuentes de datos como un problema de composición en lugar de un juego de puntuación, el sistema logra un nivel de estabilidad que antes era imposible. No depende de modelos complejos de aprendizaje automático que podrían cambiar su comportamiento a medida que la red evoluciona. En su lugar, utiliza un conjunto fijo de reglas lógicas que han demostrado funcionar en diferentes hardware, diferentes patrones de tráfico y diferentes diseños de centros de datos sin necesidad de ser reajustadas. El sistema ha demostrado que, en un mundo de información ruidosa e incompleta, la herramienta más poderosa es a menudo la capacidad de decir: "No lo sé", y esperar por una mejor evidencia. Este enfoque ha transformado el análisis de la causa raíz de un juego de probabilidad en un proceso confiable y explicable, permitiendo que la nube permanezca estable incluso mientras continúa creciendo en tamaño y complejidad.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →