ECN · CNP · RoCEv2

DCQCN: Quantized Congestion Control for RDMA

DCQCN sorgt dafür, dass eine RoCEv2-Fabric verlustfrei bleibt, ohne dauerhaft in PFC-Pause zu verharren. Der Switch markiert ECN frühzeitig, der Empfänger antwortet mit einem CNP, und der Sender quantisiert seine Rate, sodass Sender abbremsen, bevor Queues überlaufen. OcNOS-DC liefert Voreinstellungen, die für xCCL-Collective-Workloads (NCCL, RCCL, oneCCL) vorabgestimmt sind, und macht jeden Schwellenwert zugänglich für Fabrics, die davon abweichen müssen.

Closed loopECN-Markierung, CNP, Ratenreduzierung
Before PFCECN markiert vor der Pause
xCCLvorabgestimmte OcNOS-DC-Voreinstellungen
DC-PLUSOcNOS-DC-Lizenzstufe
Der Mechanismus

Der geschlossene DCQCN-Regelkreis

Sender-NIC, überlasteter Switch, Empfänger-NIC. Der WRED-ECN-Marker des Switches löst aus, bevor die Queue den PFC-Pause-Schwellenwert erreicht. Der Empfänger erzeugt ein Congestion Notification Packet (CNP); der Reaktionspunkt des Senders reduziert die Rate und fährt sie anschließend wieder hoch. Verlustfrei, kein PFC-Druck, schnelle Konvergenz.

DCQCN Closed-Loop-Congestion-Control Drei Boxen von links nach rechts: Sender-NIC (Reaction Point), überlasteter Switch mit WRED-ECN-Marker, Empfänger-NIC (Notification Point). Der Vorwärtspfeil zeigt ein Paket, das von links nach rechts fließt und vom Switch markiert wird. Der Rückwärtspfeil zeigt das CNP, das von rechts nach links zurück zum Sender wandert. Die Beschriftungen kennzeichnen die Schwellenwerte ECN K-min und K-max sowie den CNP-Feedback-Pfad. Daten + ECN-fähig ECN = CE (markiert) CNP: Congestion Notification Packet Sender-NICReaction Pointα-update · cut · ramp OcNOS-DC-SwitchWRED-ECN-MarkerK-min · K-max · P-max Empfänger-NICBenachrichtigungspunktCNP every 50 µs DCQCN · WRED MARKING · CNP FEEDBACK · QUANTIZED RATE LIMIT · LOSSLESS RoCEv2
Was es bewirkt

Die Aufgabe von DCQCN in einer AI-Fabric

RoCEv2 kennt zwei Wege, mit Überlastung umzugehen: PFC-Pause, ein Gegendruck, der sich Hop für Hop ausbreitet, und DCQCN, ein Ende-zu-Ende-Regelkreis für die Rate. PFC allein funktioniert, verlagert die Überlastung jedoch stromaufwärts und birgt das Risiko von Pause-Stürmen und Head-of-Line-Blocking. DCQCN wirkt vor PFC, indem es Pakete mit ECN markiert, bevor die Queue den Pause-Schwellenwert erreicht, sodass der Sender abbremst, bevor der Switch überhaupt eine Pause auslösen muss.

Gut umgesetzt, verbringen Sie den Großteil der Lebensdauer Ihrer Fabric allein mit DCQCN-Feedback, wobei PFC als Sicherheitsnetz dient. Schlecht umgesetzt, sind die ECN-Schwellenwerte nicht auf den PFC-Headroom abgestimmt, und Sie erhalten Pause-Stürme selbst bei konfiguriertem DCQCN. Das Tuning der Thresholds ist entscheidend, und OcNOS-DC veröffentlicht Default-Werte, die auf xCCL-Kollektivtraffic abgestimmt sind, und stellt zugleich jeden Parameter für Fabrics mit spezifischen Traffic-Mustern offen.

Reaction Point

Sender-NIC quantisiert seine Rate

Empfängt CNPs und durchläuft den DCQCN- α-Update, multiplikative Verringerung, additive Erhöhung -Regelkreis, um seine Senderate zu quantisieren.

Congestion Point

Switch markiert ECN frühzeitig

Markiert ECN-fähige Pakete an CE mithilfe einer WRED-Kurve, sobald die Queue-Tiefe K-min überschreitet, wobei die Markierungswahrscheinlichkeit linear bis P-max bei K-max ansteigt.

Benachrichtigungspunkt

Empfänger antwortet mit einem CNP

Erzeugt für jeden markierten Flow ein CNP zurück an den Sender, ratenbegrenzt auf etwa eines pro 50 µs pro Flow.

Zwei Wege, mit Überlastung umzugehen

PFC-Pause und DCQCN im Vergleich

Beide halten RoCEv2 verlustfrei, wirken jedoch an unterschiedlichen Punkten. Das Tuning-Ziel ist, die Fabric im Betrieb überwiegend über DCQCN-Feedback zu steuern und PFC als Rückfallebene in Reserve zu halten.

Axis PFC-Pausebackstop DCQCNprimäre Steuerung
MechanismHop-für-Hop-Gegendruck, der sich stromaufwärts ausbreitet.Ende-zu-Ende-Regelkreis für die Rate vom Sender zum Empfänger.
AuslösepunktLöst aus, wenn die Queue den Pause-Schwellenwert erreicht.Markiert ECN, bevor die Queue den Pause-Schwellenwert erreicht.
FehlermodusBirgt das Risiko von Pause-Stürmen und Head-of-Line-Blocking.Der Sender bremst ab, bevor der Switch überhaupt eine Pause auslösen muss.
Rolle in der FabricNur Sicherheits-Rückfallebene, für den Fall, dass sich Puffer dennoch füllen.Primäre Steuerung während des überwiegenden Betriebs der Fabric.
EinsatzbereichAuf Link-Ebene, jeweils ein Hop.Ende-zu-Ende, vom Sender bis zum Empfänger.
In OcNOS-DC

Die DCQCN-Implementierung von OcNOS

xCCL-taugliche Voreinstellungen ab Werk, wobei jeder Schwellenwert als YANG-modellierter Pfad zugänglich ist, vor der Anwendung gegen den PFC-Headroom validiert und während des Bring-ups als Telemetrie zurückgestreamt wird.

WRED-Kurve

K-min, K-max, P-max

WRED ECN Marking pro Prioritätswarteschlange mit konfigurierbaren K-min- und K-max-Schwellenwerten sowie P-max-Markierungswahrscheinlichkeit. xCCL-Klasse-Cefaults sofort einsatzbereit; als YANG-Pfade für das Tuning verfügbar.

Per-Priority

Unabhängig von PFC

Das ECN-Marking wird unabhängig von den PFC-Pause-Schwellenwerten konfiguriert. Eine Fehlausrichtung ist der häufigste DCQCN-Konfigurationsfehler. OcNOS validiert das Verhältnis zwischen K-max, Headroom und den Pause-Asserts, bevor es angewendet wird.

VXLAN-Aware

ECN über VXLAN

ECN-Bits bleiben durch VXLAN-Encap und -Decap erhalten, sodass DCQCN Ende-zu-Ende über ein EVPN-VXLAN-Overlay funktioniert, nicht nur auf dem Underlay.

Telemetrie

ECN-Zähler pro Queue

gNMI-gestreamte Zähler für ECN-markierte Pakete pro Egress-Queue, Queue-Depth-Verteilung und CNP-Trigger-Raten. Closed-Loop-Tuning während des Cluster-Bring-up.

Diagnostics

Prüfen, bevor Sie sich festlegen

CLI-Plausibilitätsprüfung, dass K-min, K-max und PFC-Headroom mathematisch mit dem Pufferspeicher übereinstimmen, der der verlustfreien Priorität zugewiesen ist. Schnelles Fehlschlagen bei einer Fehlkonfiguration.

Einsatzbereich

DC-PLUS-Lizenzstufe

Teil des OcNOS-DC-PLUS-SKU. Dasselbe Image, derselbe Support, kein Add-on pro Feature erforderlich, um den verlustfreien RDMA-Stack zu aktivieren.

Der Fehlermodus

Warum das wichtiger ist, als es klingt

Die meisten Support-Fälle nach dem Motto "RoCEv2 verhält sich nicht richtig" gehen auf eine falsche Abstimmung der DCQCN-Schwellenwerte zurück. Die beiden Enden des Fehlers wirken gegensätzlich, doch beide führen zu einer fehlerhaft abgestimmten Fabric.

  • ECN konfiguriert, markiert aber nie (K-min zu hoch): PFC trägt die gesamte Last der Überlastungssteuerung.
  • ECN markiert zu aggressiv (K-min zu niedrig): Sender reduzieren die Rate, bevor überhaupt eine reale Überlastung vorliegt.
  • OcNOS-DC liefert Voreinstellungen, die auf den meisten TH4- und TH5-Fabrics funktionieren; wo eine Fabric abweichen muss, ist jeder Parameter YANG-modelliert und überprüfbar.

Um die Leaf-Spine-Ebenen zu dimensionieren, auf denen diese Voreinstellungen laufen, nutzen Sie die AI-Fabric-Dimensionierungstool, oder sehen Sie sich die AI-Fabric-Topologien an, für die die Voreinstellungen abgestimmt sind.

Die Sichtweise von IP Infusion

DCQCN trägt die Last, PFC bleibt die Rückfallebene

Eine gesunde RoCEv2-Fabric läuft über ECN-Feedback und greift kaum auf PFC zurück. OcNOS-DC liefert diese Balance als Standard und hält jeden Schwellenwert griffbereit, wenn ein Workload einen anderen benötigt.

DCQCN trägt die Last

ECN-Markierung und CNP-Feedback bremsen Sender frühzeitig, sodass eine gesunde Fabric überwiegend über DCQCN läuft und selten die PFC-Pause erreicht.

Ab Werk für xCCL abgestimmt

OcNOS-DC liefert für xCCL-Collective-Traffic vorabgestimmte Voreinstellungen, sodass die meisten Fabrics auf TH4 und TH5 gut laufen, ohne dass ein Schwellenwert angepasst werden muss.

Jeder Parameter ist modelliert

K-min, K-max und P-max sind YANG-modelliert und überprüfbar, sodass Fabrics mit spezifischen Verkehrsmustern gefahrlos abweichen können.

FAQ

DCQCN, beantwortet

Was ist DCQCN?
DCQCN (Data Center Quantized Congestion Notification) ist der Algorithmus zur Überlaststeuerung, der RoCEv2-RDMA-Datenverkehr auf Ethernet-basierten AI- und Storage-Fabrics verlustfrei hält. Er drosselt die Sender, bevor die Queues überlaufen, sodass GPU- und Storage-Flows Paketverluste und Stalls vermeiden.
Wie funktioniert DCQCN?
DCQCN arbeitet in einer geschlossenen Regelschleife: Ein Switch markiert Pakete mit ECN, sobald eine Queue ihren Schwellenwert überschreitet, der Empfänger sendet ein Congestion Notification Packet (CNP) an den Sender zurück, und der Sender senkt seine Senderate und erhöht sie anschließend allmählich wieder, sobald die Überlast abklingt.
Wie arbeiten DCQCN und PFC zusammen?
DCQCN ist die primäre Steuerung, PFC dient als letzte Absicherung. ECN-Markierung und CNP-Feedback bremsen die Sender frühzeitig, sodass Flows nur selten eine Pause auslösen. PFC greift erst, wenn sich die Puffer dennoch füllen, und verhindert so Verluste. Das Tuning zielt darauf ab, die Fabric unter ECN-Kontrolle und fern von anhaltenden PFC-Pausen zu halten.
Was sind die ECN-Schwellenwerte K-min und K-max in DCQCN?
K-min und K-max sind die Warteschlangen-Schwellenwerte, die das ECN-Marking steuern. Unterhalb von K-min werden keine Pakete markiert, oberhalb von K-max werden alle markiert. Dazwischen steigt die Markierungswahrscheinlichkeit auf ein festgelegtes Maximum, sodass die Congestion-Signalisierung mit dem Anwachsen der Warteschlange skaliert, statt abrupt einzusetzen.
Erfordert DCQCN RoCEv2?
Ja, DCQCN ist für RoCEv2-RDMA-Verkehr konzipiert und setzt voraus, dass RoCEv2-Endpunkte CNP-Feedback erzeugen und entsprechend darauf reagieren. Es kombiniert ECN im Netzwerk mit der Ratensteuerung an den RoCEv2-Sendern und ist damit die Standardwahl für die Congestion Control in RoCEv2-Fabrics.

DCQCN für einen realen Workload abstimmen? Bringen Sie uns Ihre Traces

Senden Sie uns Ihre ECN-Zähler und Queue-Traces, und ein IP Infusion-Ingenieur stimmt Ihre Werte für K-min, K-max und PFC-Headroom ab, oder starten Sie mit einem ersten Leaf-Spine-Entwurf in der AI Fabric Design Suite.