PFC Deadlock Detection & Recovery
La pause PFC est ce qui rend RoCEv2 sans perte, mais dans de rares conditions de topologie et de routage elle peut créer une dépendance circulaire où chaque switch est en pause à attendre le suivant dans un cycle, et le trafic s'arrête indéfiniment. OcNOS-DC intègre un watchdog qui détecte le cycle en quelques millisecondes et vide automatiquement la file affectée, avant que les tâches d'entraînement ne se figent.
Un cycle de pause à 3 switchs
Trois switches en dépendance circulaire. Chacun est mis en pause sur sa file prioritaire sans perte, en attente que le switch suivant se vide. Sans intervention, le cycle est stable indéfiniment. Le watchdog d'OcNOS se déclenche après le délai configuré, vide la queue-3 sur le switch-A, et le cycle s'effondre.
Comment PFC crée un blocage
Le PFC est une pause hop-by-hop : le switch-A déclenche une pause vers son équipement amont lorsque sa file d'attente d'ingress sans perte se remplit au-delà du seuil, et l'amont cesse d'émettre. Cela fonctionne très bien sur une topologie en arbre où il existe une seule direction de flux de trafic. Sur une fabric leaf-spine à chemins multiples, le réacheminement ECMP autour d'une défaillance de liaison peut, dans des conditions spécifiques, créer un chemin circulaire où chaque switch est en pause dans l'attente du suivant.
Une fois le cycle formé, il est stable : il y a assez de mémoire pour contenir les trames en pause, le protocole de routage estime que tout va bien, et PFC continue de se réaffirmer sur chaque switch. Sans intervention, la priorité lossless affectée reste bloquée indéfiniment. Le trafic RoCEv2 s'arrête, les opérations collectives xCCL (NCCL / RCCL / oneCCL) expirent, la tâche d'entraînement se bloque.
Le watchdog OcNOS-DC
Temporisateur par port et par priorité
Un timer s'exécute par port d'entrée et par priorité lossless. Si la priorité est mise en pause en continu pendant l'intervalle configuré (généralement 100 à 400 ms), le watchdog se déclenche.
Vidage automatique des files d'attente
Lors d'un déclenchement, la file d'entrée concernée est drainée : des trames sont brièvement abandonnées pour rompre le cycle. Les trames perdues déclenchent une retransmission par les opérations collectives xCCL, mais l'alternative est un blocage indéfini.
Restauration automatique après rétablissement
Après l'intervalle de restauration configuré, le fonctionnement PFC normal reprend sur la priorité concernée. Aucune intervention d'opérateur requise ; le fabric redevient lossless en quelques secondes.
compteurs gNMI
Les événements de déclenchement du watchdog, les durées de drain et les compteurs de pause par priorité sont diffusés via gNMI pour une supervision en boucle fermée de la fabric. Les SRE voient les événements de deadlock comme des alertes, et non comme des blocages silencieux de l'entraînement.
Temporisateurs configurables par l'opérateur
Le délai de détection, la durée de drain et l'intervalle de restauration sont configurables en CLI par port et par priorité. Les valeurs par défaut conviennent à la plupart des fabrics ; l'opérateur peut raccourcir les minuteries sur les clusters à fort enjeu.
Niveau de licence DC-PLUS
Fait partie de la SKU OcNOS-DC PLUS aux côtés du reste de la pile RoCEv2 sans perte. Confirmé sur les plateformes Broadcom Tomahawk 4 et Tomahawk 5.
Quand vous verrez ce déclenchement
Dans un fabric bien conçu avec une topologie et un routage appropriés, les deadlocks PFC sont rares. La plupart des opérateurs n'en voient jamais en des années d'exploitation. Le watchdog importe parce que « rare » ne veut pas dire « jamais »: une défaillance de lien pendant une fenêtre de convergence du routage, une erreur de configuration des priorités PFC sur un seul port, ou un événement de congestion transitoire sur un schéma de trafic inhabituel peuvent tous créer les conditions propices. Sans le watchdog, lorsqu'il se déclenche effectivement, le cluster IA s'arrête et l'équipe d'exploitation a des heures de débogage devant elle. Avec le watchdog, vous obtenez une brève rafale de retransmissions et un événement journalisé.
L'essentiel
- Filet de sécurité sans perte. Le watchdog fait toute la différence entre « PFC est théoriquement risqué sur les fabrics IA de production » et « PFC peut être déployé en toute sécurité à grande échelle ».
- Reprise en moins d'une seconde. Détection + drain + restauration s'achèvent généralement en moins d'une seconde. xCCL retransmet une petite fenêtre de trafic RDMA ; la tâche se poursuit.
- Configuration standard. Le watchdog est activé par défaut dans le modèle lossless d'OcNOS-DC. Vous n'avez pas besoin de penser à l'activer.
- Observable. Chaque incident est journalisé, comptabilisé et diffusé via gNMI. Une surveillance en boucle fermée avec votre stack d'observabilité existant.
- Ajustable selon les enjeux. Abaissez les timers sur les clusters d'entraînement critiques ; les valeurs par défaut conviennent à une fabric DC générale.