ECN · CNP · RoCEv2

DCQCN: Quantized Congestion Control for RDMA

DCQCN è il modo in cui un fabric RoCEv2 resta lossless senza vivere in pausa PFC. Lo switch marca l'ECN in anticipo, il ricevitore restituisce un CNP e il mittente quantizza la propria velocità, così i mittenti rallentano prima che le code trabocchino. OcNOS-DC include valori predefiniti pre-ottimizzati per i carichi di lavoro collettivi xCCL (NCCL, RCCL, oneCCL) ed espone ogni soglia per i fabric che devono discostarsene.

Closed loopMarcatura ECN, CNP, riduzione della velocità
Before PFCL'ECN marca prima della pausa
xCCLvalori predefiniti OcNOS-DC pre-ottimizzati
DC-PLUSLivello di licenza OcNOS-DC
Il meccanismo

Il loop chiuso DCQCN

NIC mittente, switch congestionato, NIC ricevitore. Il marker ECN WRED dello switch scatta prima che la coda raggiunga la soglia di pausa PFC. Il ricevitore genera un Congestion Notification Packet (CNP); il punto di reazione del mittente riduce la velocità, poi la ripristina gradualmente. Lossless, nessuna pressione PFC, convergenza rapida.

Controllo della congestione closed-loop DCQCN Tre box da sinistra a destra: NIC del mittente (punto di reazione), switch congestionato con marcatore WRED ECN, NIC del ricevitore (punto di notifica). La freccia in avanti mostra un pacchetto che scorre da sinistra a destra e viene marcato dallo switch. La freccia inversa mostra il CNP che viaggia da destra a sinistra di ritorno verso il mittente. Le etichette indicano le soglie ECN K-min, K-max e il percorso di feedback CNP. dati + ECN-capable ECN = CE (marcato) CNP: Congestion Notification Packet NIC mittenteReaction Pointα-update · cut · ramp Switch OcNOS-DCMarker WRED ECNK-min · K-max · P-max NIC riceventePunto di notificaCNP every 50 µs DCQCN · WRED MARKING · CNP FEEDBACK · QUANTIZED RATE LIMIT · LOSSLESS RoCEv2
Cosa fa

Il compito che DCQCN svolge in un fabric AI

RoCEv2 ha due modi per gestire la congestione: la pausa PFC, che è una back-pressure che si propaga hop per hop, e DCQCN, un loop di controllo della velocità end-to-end. La sola PFC funziona, ma spinge la congestione a monte e rischia pause storm e head-of-line blocking. DCQCN agisce prima della PFC, marcando i pacchetti con ECN prima che la coda raggiunga la soglia di pausa, così il mittente rallenta prima che lo switch debba mai imporre la pausa.

Fatto bene, trascorrerà la maggior parte della vita del Suo fabric basandosi solo sul feedback DCQCN, con il PFC come rete di sicurezza. Fatto male, le soglie ECN sono disallineate rispetto all'headroom PFC e si ottengono pause storm anche con il DCQCN configurato. La messa a punto delle soglie è tutto, e OcNOS-DC pubblica valori predefiniti ottimizzati per il traffico collettivo xCCL, esponendo al contempo ogni parametro per fabric con pattern di traffico specifici.

Reaction Point

La NIC mittente quantizza la propria velocità

Riceve i CNP ed esegue il DCQCN α-update, decremento moltiplicativo, incremento additivo per quantizzare la propria velocità di invio.

Punto di congestione

Lo switch marca l'ECN in anticipo

Contrassegna i pacchetti ECN-capable per CE utilizzando una curva WRED quando la profondità della coda supera K-min, con la probabilità di marcatura che sale linearmente fino a P-max a K-max.

Punto di notifica

Il ricevitore restituisce un CNP

Genera un CNP verso il mittente su ogni flusso marcato, con rate limit di circa uno ogni 50 µs per flusso.

Due modi per gestire la congestione

Pausa PFC e DCQCN, a confronto

Entrambi mantengono RoCEv2 lossless, ma agiscono in punti diversi. L'obiettivo del tuning è far vivere il fabric sul feedback DCQCN e tenere la PFC di riserva come backstop.

Axis Pausa PFCbackstop DCQCNcontrollo primario
MechanismBack-pressure hop-by-hop che si propaga a monte.Loop di controllo della velocità end-to-end dal mittente al ricevitore.
Punto di attivazioneScatta quando la coda raggiunge la soglia di pausa.Marca l'ECN prima che la coda raggiunga la soglia di pausa.
Modalità di guastoRischia pause storm e head-of-line blocking.Il mittente rallenta prima che lo switch debba mai imporre la pausa.
Ruolo nel fabricSolo backstop di sicurezza, per quando i buffer si riempiono comunque.Controllo primario per la maggior parte della vita del fabric.
ScopeA livello di link, un hop alla volta.End-to-end, dal mittente fino al ricevitore.
In OcNOS-DC

L'implementazione DCQCN di OcNOS

Valori predefiniti di classe xCCL pronti all'uso, con ogni soglia esposta come percorso modellato in YANG, validata rispetto all'headroom PFC prima di essere applicata e restituita come telemetria durante il bring-up.

Curva WRED

K-min, K-max, P-max

Marking WRED ECN per coda di priorità con soglie K-min e K-max configurabili e probabilità di marking P-max. Valori predefiniti di classe xCCL pronti all'uso; esposti come percorsi YANG per la regolazione.

Per-Priority

Indipendente da PFC

La marcatura ECN viene configurata indipendentemente dalle soglie di pausa PFC. Il disallineamento è l'errore di configurazione DCQCN più comune. OcNOS convalida la relazione tra K-max, headroom e gli assert di pausa prima di applicarli.

VXLAN Aware

ECN su VXLAN

I bit ECN vengono preservati attraverso encap e decap VXLAN, così DCQCN funziona end-to-end su un overlay EVPN-VXLAN, non solo sull'underlay.

Telemetria

Contatori ECN per coda

Contatori in streaming gNMI per i pacchetti marcati ECN per coda di egress, distribuzione della profondità di coda e tassi di trigger CNP. Tuning closed-loop durante il bring-up del cluster.

Diagnostics

Verifichi prima di impegnarsi

Controllo di coerenza da CLI che K-min, K-max e headroom PFC siano matematicamente coerenti con lo spazio di buffer allocato alla priorità lossless. Fallimento immediato in caso di configurazione errata.

Scope

Tier di licenza DC-PLUS

Parte della SKU OcNOS-DC PLUS. Stessa immagine, stesso supporto; nessun add-on per-feature necessario per attivare lo stack RDMA lossless.

La modalità di guasto

Perché questo conta più di quanto sembri

La maggior parte dei casi di supporto "RoCEv2 non funziona bene" si riconduce a un disallineamento delle soglie DCQCN. I due estremi dell'errore sembrano opposti, ma entrambi lasciano il fabric mal calibrato.

  • ECN configurato ma che non marca mai (K-min troppo alto): la PFC si fa carico dell'intero controllo della congestione.
  • ECN che marca in modo troppo aggressivo (K-min troppo basso): i mittenti riducono la velocità prima che ci sia una vera congestione.
  • OcNOS-DC include valori predefiniti che funzionano sulla maggior parte dei fabric TH4 e TH5; dove un fabric deve discostarsene, ogni parametro è modellato in YANG e verificabile.

Per dimensionare i livelli leaf-spine su cui girano quei valori predefiniti, provate l' Strumento di dimensionamento AI Fabric, oppure consultate i Topologie AI fabric per cui i valori predefiniti sono ottimizzati.

La visione di IP Infusion

DCQCN porta il carico, la PFC resta il backstop

Un fabric RoCEv2 sano gira sul feedback ECN e tocca appena la PFC. OcNOS-DC fornisce questo equilibrio come impostazione predefinita e mantiene ogni soglia a portata di mano quando un carico di lavoro ne richiede una diversa.

DCQCN porta il carico

La marcatura ECN e il feedback CNP rallentano i mittenti in anticipo, così un fabric sano trascorre la maggior parte della sua vita su DCQCN e raggiunge raramente la pausa PFC.

Ottimizzato per xCCL pronto all'uso

OcNOS-DC include valori predefiniti pre-ottimizzati per il traffico collettivo xCCL, così la maggior parte dei fabric funziona bene su TH4 e TH5 senza toccare una soglia.

Ogni parametro è modellato

K-min, K-max e P-max sono modellati in YANG e verificabili, così i fabric con pattern di traffico specifici possono discostarsene in sicurezza.

FAQ

DCQCN, le risposte

Che cos'è DCQCN?
Il DCQCN (Data Center Quantized Congestion Notification) è l'algoritmo di controllo della congestione che mantiene lossless il traffico RoCEv2 RDMA sulle fabric AI e di storage su Ethernet. Frena i mittenti prima che le code vadano in overflow, così i flussi GPU e di storage evitano perdite di pacchetti e stalli.
Come funziona DCQCN?
DCQCN opera in un anello chiuso: uno switch marca i pacchetti con ECN quando una coda supera la propria soglia, il ricevitore restituisce al mittente un Congestion Notification Packet (CNP) e il mittente riduce la propria velocità di invio, per poi ripristinarla gradualmente man mano che la congestione si dissolve.
Come funzionano insieme DCQCN e PFC?
DCQCN è il controllo primario e PFC funge da ultima difesa. La marcatura ECN e il feedback CNP rallentano tempestivamente i mittenti, così che i flussi raramente raggiungano la pausa. PFC interviene solo se i buffer si riempiono comunque, prevenendo le perdite. L'ottimizzazione mira a mantenere la fabric sotto controllo ECN e lontana da una pausa PFC prolungata.
Quali sono le soglie ECN K-min e K-max in DCQCN?
K-min e K-max sono le soglie di profondità della coda che governano la marcatura ECN. Al di sotto di K-min nessun pacchetto viene marcato; al di sopra di K-max vengono marcati tutti. Tra i due, la probabilità di marcatura sale verso un massimo prestabilito, così la segnalazione di congestione scala con l'accumulo della coda anziché attivarsi bruscamente.
DCQCN richiede RoCEv2?
Sì, DCQCN è progettato per il traffico RDMA RoCEv2 e si basa su endpoint RoCEv2 che generano il feedback CNP e agiscono di conseguenza. Abbina l'ECN nella rete al controllo di velocità presso i trasmettitori RoCEv2, per cui rappresenta la scelta standard di controllo della congestione per le fabric RoCEv2.

State ottimizzando DCQCN per un carico di lavoro reale? Portateci le vostre tracce

Inviateci i vostri contatori ECN e le tracce delle code e un ingegnere IP Infusion allineerà i vostri K-min, K-max e headroom PFC, oppure iniziate con un primo layout leaf-spine nell'AI Fabric Design Suite.