DCQCN: Quantized Congestion Control for RDMA

DCQCN은 RoCEv2 AI 패브릭이 PFC pause에 빠지거나 패킷 손실에 이르지 않도록 유지하는 폐루프 혼잡 제어입니다: 스위치가 ECN을 조기에 표시하고, 수신측이 CNP를 회신하며, 송신측이 전송률을 단계적으로 조정합니다. OcNOS-DC는 xCCL(NCCL / RCCL / oneCCL) collective 워크로드에 맞춰 사전 튜닝된 기본값을 제공하며, 다르게 설정해야 하는 패브릭을 위해 모든 임계값을 노출합니다.

DCQCN 폐쇄 루프

송신 NIC, 혼잡 스위치, 수신 NIC. 스위치의 WRED ECN 마커가 동작합니다 before queue가 PFC pause 임계값에 도달합니다. 수신측은 Congestion Notification Packet(CNP)을 생성하고, 송신측의 reaction point는 전송률을 낮춘 뒤 다시 올립니다. 무손실, PFC 압력 없음, 빠른 수렴.

DCQCN 폐루프 혼잡 제어 좌측에서 우측으로 세 개의 박스: Sender NIC(반응 지점), WRED ECN 표시기를 갖춘 혼잡 스위치, Receiver NIC(통지 지점). 정방향 화살표는 패킷이 좌측에서 우측으로 흐르며 스위치에 의해 표시되는 것을 나타냅니다. 역방향 화살표는 CNP가 우측에서 좌측으로 송신측에 되돌아가는 것을 나타냅니다. 레이블은 ECN K-min, K-max 임계값과 CNP 피드백 경로를 표시합니다. 데이터 + ECN 지원 ECN = CE (마킹됨) CNP: Congestion Notification Packet 송신 NICReaction Pointα-업데이트 · cut · ramp OcNOS-DC 스위치WRED ECN 마커K-min · K-max · P-max 수신 NIC알림 지점(Notification Point)50µs마다 CNP DCQCN · WRED MARKING · CNP FEEDBACK · QUANTIZED RATE LIMIT · LOSSLESS RoCEv2

AI 패브릭에서 DCQCN이 수행하는 역할

RoCEv2는 혼잡을 처리하는 두 가지 방식을 갖추고 있습니다: PFC 일시 정지(홉 단위로 전파되는 백프레셔)와 DCQCN(종단 간 속도 제어 루프)입니다. PFC만으로도 동작하지만, 혼잡을 상류로 밀어내어 일시 정지 폭주와 HOL(head-of-line) 차단의 위험이 있습니다. DCQCN은 PFC보다 앞서 작동하며 ECN으로 패킷을 표시합니다 before 큐가 pause 임계치에 도달하므로, 스위치가 pause를 어서트하기 전에 송신 측이 속도를 늦춥니다.

잘 구성하면 패브릭 운영 대부분을 DCQCN 피드백만으로 수행하고 PFC는 안전 백스톱 역할을 하게 됩니다. 잘못 구성하면 ECN 임계값이 PFC headroom과 어긋나 DCQCN을 구성했더라도 pause 폭주가 발생합니다. 임계값 튜닝이 모든 것을 좌우합니다, OcNOS-DC는 xCCL 컬렉티브 트래픽에 맞춰 튜닝된 기본값을 제공하면서, 고유한 트래픽 패턴의 패브릭을 위해 모든 파라미터를 노출합니다.

세 가지 주체

  • Reaction Point (송신 NIC). CNP를 수신하고 DCQCN α-update / multiplicative-decrease / additive-increase 루프를 실행하여 송신 속도를 양자화합니다.
  • Congestion Point (스위치). ECN-capable 패킷에 다음으로 마킹합니다 CE 큐 깊이가 K-min을 넘으면 WRED 곡선을 사용하며, 마킹 확률은 K-max에서 P-max까지 선형으로 증가합니다.
  • 알림 지점 (수신 NIC). 표시된 각 플로우에 대해 송신 측으로 CNP를 생성하며, 속도 제한이 적용됩니다(일반적으로 플로우당 50µs마다 하나).

OcNOS DCQCN 구현

WRED 곡선

K-min, K-max, P-max

프라이오리티 큐별 WRED ECN 마킹, K-min/K-max 임계값과 P-max 마킹 확률 구성 가능. xCCL 등급 기본값을 기본 제공, YANG 경로로 노출하여 튜닝 가능.

Per-Priority

PFC 독립적

ECN 마킹은 PFC pause 임계값과 독립적으로 구성됩니다. 이 둘의 불일치는 가장 흔한 DCQCN 구성 오류입니다. OcNOS는 적용 전에 K-max, headroom, pause assert 간의 관계를 검증합니다.

VXLAN 지원

VXLAN 상의 ECN

VXLAN encap/decap 과정에서 ECN 비트가 보존되므로 DCQCN이 underlay뿐 아니라 EVPN-VXLAN 오버레이 전반에서 엔드투엔드로 동작합니다.

텔레메트리

큐별 ECN 카운터

egress 큐별 ECN 마킹 패킷, 큐 깊이 분포, CNP 트리거 비율에 대한 gNMI 스트리밍 카운터. 클러스터 브링업 중 폐루프 튜닝을 지원합니다.

Diagnostics

도입 전에 검증하십시오

K-min / K-max / PFC headroom이 lossless priority에 할당된 buffer 공간과 수학적으로 일관되는지 CLI로 점검합니다. 잘못된 구성은 즉시 실패 처리합니다.

Scope

DC-PLUS 라이선스 등급

OcNOS-DC PLUS SKU의 일부입니다. 동일한 이미지, 동일한 지원이 제공되며, 무손실 RDMA 스택을 활성화하는 데 기능별 추가 옵션이 필요하지 않습니다.

이것이 들리는 것보다 더 중요한 이유

"RoCEv2가 제대로 동작하지 않는다"는 지원 사례 대부분은 DCQCN 임계값 불일치로 귀결됩니다. ECN이 구성되어 있으나 마킹이 전혀 되지 않아(K-min이 너무 높음) PFC가 혼잡 제어 부담을 모두 떠안거나, ECN 마킹이 지나치게 공격적이어서(K-min이 너무 낮음) 실제 혼잡이 발생하기 전에 송신측이 전송률을 낮춥니다. OcNOS-DC는 대부분의 TH4 / TH5 패브릭에서 동작하는 기본값을 제공하며, 이를 벗어나야 하는 패브릭의 경우 모든 파라미터가 YANG 모델로 정의되어 검증 가능합니다.

실제 워크로드에 맞춰 DCQCN을 튜닝하십니까? 트레이스를 가져오십시오.

기술 데모 요청하기 →