ECN · CNP · RoCEv2

DCQCN: Quantized Congestion Control for RDMA

DCQCN은 RoCEv2 패브릭이 PFC 일시 정지에 의존하지 않고 무손실을 유지하는 방식입니다. 스위치가 ECN을 조기에 마킹하고, 수신 측이 CNP를 되돌려 보내며, 송신 측이 전송률을 양자화하므로 큐가 넘치기 전에 송신 측이 속도를 낮춥니다. OcNOS-DC는 xCCL collective 워크로드(NCCL, RCCL, oneCCL)에 맞춰 사전 튜닝된 기본값을 제공하며, 편차가 필요한 패브릭을 위해 모든 임계값을 노출합니다.

Closed loopECN 마킹, CNP, 전송률 감소
Before PFC일시 정지에 앞선 ECN 마킹
xCCL사전 튜닝된 OcNOS-DC 기본값
DC-PLUSOcNOS-DC 라이선스 등급
동작 원리

DCQCN 폐루프

송신 NIC, 혼잡한 스위치, 수신 NIC. 스위치의 WRED ECN 마커는 큐가 PFC 일시 정지 임계값에 도달하기 전에 작동합니다. 수신 측은 Congestion Notification Packet(CNP)을 생성하고, 송신 측의 반응 지점이 전송률을 낮춘 뒤 다시 올립니다. 무손실, PFC 부하 없음, 빠른 수렴입니다.

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

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

RoCEv2에는 혼잡을 처리하는 두 가지 방식이 있습니다. 홉 단위로 전파되는 백프레셔인 PFC 일시 정지, 그리고 종단 간 전송률 제어 루프인 DCQCN입니다. PFC만으로도 동작하지만, 혼잡을 상류로 밀어내어 일시 정지 폭주와 head-of-line 블로킹의 위험이 있습니다. DCQCN은 PFC보다 앞서 동작하여 큐가 일시 정지 임계값에 도달하기 전에 ECN으로 패킷을 마킹하므로, 스위치가 일시 정지를 발동해야 하기 전에 송신 측이 속도를 낮춥니다.

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

Reaction Point

송신 NIC이 전송률을 양자화

CNP를 수신하고 DCQCN을 실행하여 α-업데이트, 곱셈적 감소, 가산적 증가 루프를 실행하여 전송률을 양자화합니다.

혼잡 지점(Congestion Point)

스위치가 ECN을 조기에 마킹

ECN-capable 패킷에 다음으로 마킹합니다 CE 큐 깊이가 K-min을 넘으면 WRED 곡선을 사용하며, 마킹 확률은 K-max에서 P-max까지 선형으로 증가합니다.

알림 지점(Notification Point)

수신 측이 CNP를 반향

마킹된 각 플로우에 대해 송신 측으로 CNP를 생성하며, 전송률은 대략 다음으로 제한됩니다 플로우당 50 µs에 하나.

혼잡을 처리하는 두 가지 방식

PFC 일시 정지와 DCQCN, 나란히 비교

둘 다 RoCEv2를 무손실로 유지하지만, 서로 다른 지점에서 작동합니다. 튜닝의 목표는 패브릭이 대부분의 시간을 DCQCN 피드백에 의존하도록 하고 PFC는 최후의 방어선으로 예비해 두는 것입니다.

Axis PFC pausebackstop DCQCN주 제어
Mechanism상류로 전파되는 홉 단위 백프레셔.송신 측에서 수신 측까지의 종단 간 전송률 제어 루프.
발동 지점큐가 일시 정지 임계값에 도달하면 작동합니다.큐가 일시 정지 임계값에 도달하기 전에 ECN을 마킹합니다.
장애 모드일시 정지 폭주와 head-of-line 블로킹의 위험이 있습니다.스위치가 일시 정지를 발동해야 하기 전에 송신 측이 속도를 낮춥니다.
패브릭에서의 역할버퍼가 그래도 채워질 때를 위한 안전 최후 방어선 전용.패브릭 수명의 대부분에 걸친 주 제어.
적용 범위링크 수준, 한 번에 한 홉씩.종단 간, 송신 측에서 수신 측까지.
In OcNOS-DC

OcNOS DCQCN 구현

즉시 사용 가능한 xCCL급 기본값을 제공하며, 모든 임계값은 YANG으로 모델링된 경로로 노출되고, 적용 전에 PFC 헤드룸과 대비해 검증되며, 브링업 중 텔레메트리로 다시 스트리밍됩니다.

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

ECN 비트는 VXLAN 인캡슐화 및 디캡슐화를 거치는 동안 보존되므로, DCQCN은 언더레이뿐 아니라 EVPN-VXLAN 오버레이 전반에서 종단 간으로 동작합니다.

텔레메트리

큐별 ECN 카운터

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

Diagnostics

도입 전에 검증하십시오

K-min, K-max, PFC 헤드룸이 무손실 우선순위에 할당된 버퍼 공간과 수학적으로 일관되는지 확인하는 CLI 정합성 검사입니다. 잘못된 구성 시 즉시 실패합니다.

적용 범위

DC-PLUS 라이선스 등급

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

장애 모드

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

대부분의 "RoCEv2가 동작하지 않는다"는 지원 사례는 DCQCN 임계값 불일치로 귀결됩니다. 실수의 양 끝단은 서로 반대로 보이지만, 둘 다 패브릭을 잘못 튜닝된 상태로 만듭니다.

  • ECN이 구성되었지만 전혀 마킹되지 않는 경우(K-min이 너무 높음): PFC가 혼잡 제어 부담 전체를 떠안습니다.
  • ECN이 너무 공격적으로 마킹하는 경우(K-min이 너무 낮음): 실제 혼잡이 발생하기 전에 송신 측이 전송률을 낮춥니다.
  • OcNOS-DC는 대부분의 TH4 및 TH5 패브릭에서 동작하는 기본값을 제공하며, 패브릭이 편차를 두어야 하는 경우 모든 파라미터는 YANG으로 모델링되어 검증 가능합니다.

이러한 기본값이 실행되는 leaf-spine 계층을 사이징하려면 다음을 사용해 보십시오 AI Fabric 사이징 도구, 또는 다음을 검토하십시오 AI fabric 토폴로지 이 기본값이 맞춰 튜닝된 대상입니다.

IP Infusion의 관점

DCQCN이 부하를 담당하고, PFC는 최후의 방어선으로 남습니다

정상적인 RoCEv2 패브릭은 ECN 피드백으로 동작하며 PFC는 거의 사용하지 않습니다. OcNOS-DC는 이러한 균형을 기본값으로 제공하고, 워크로드가 다른 값을 필요로 할 때 모든 임계값을 조정할 수 있게 유지합니다.

DCQCN이 부하를 담당합니다

ECN 마킹과 CNP 피드백이 송신 측을 조기에 감속시키므로, 정상적인 패브릭은 대부분의 시간을 DCQCN에 의존하며 PFC 일시 정지에는 거의 도달하지 않습니다.

즉시 사용 가능한 xCCL 튜닝

OcNOS-DC는 xCCL collective 트래픽에 맞춰 사전 튜닝된 기본값을 제공하므로, 대부분의 패브릭은 임계값을 건드리지 않고도 TH4 및 TH5에서 잘 동작합니다.

모든 조정 항목이 모델링됨

K-min, K-max, P-max는 YANG으로 모델링되어 검증 가능하므로, 특정 트래픽 패턴을 가진 패브릭은 안전하게 편차를 둘 수 있습니다.

자주 묻는 질문

DCQCN, 자주 묻는 질문

DCQCN이란 무엇입니까?
DCQCN(Data Center Quantized Congestion Notification)은 Ethernet 기반 AI 및 스토리지 fabric 에서 RoCEv2 RDMA 트래픽을 lossless 로 유지하는 혼잡 제어 알고리즘입니다. 큐가 오버플로되기 전에 송신 측을 억제하므로, GPU 및 스토리지 플로우는 패킷 손실과 정체를 방지할 수 있습니다.
DCQCN 은 어떻게 동작합니까?
DCQCN 은 폐루프 방식으로 동작합니다. 큐가 임계값을 초과하면 스위치가 패킷에 ECN 을 표시하고, 수신 측은 Congestion Notification Packet(CNP)을 송신 측으로 되돌려 보내며, 송신 측은 전송 속도를 낮춘 뒤 혼잡이 해소됨에 따라 점진적으로 회복합니다.
DCQCN과 PFC는 어떻게 함께 동작합니까?
DCQCN이 주된 제어 수단이며 PFC는 최후의 방어선입니다. ECN 마킹과 CNP 피드백이 송신 측을 조기에 감속시키므로 플로우가 일시정지에 이르는 경우는 드뭅니다. PFC는 그럼에도 버퍼가 가득 찰 때만 작동하여 손실을 방지합니다. 튜닝의 목표는 fabric을 ECN 제어 하에 유지하고 지속적인 PFC 일시정지를 피하는 것입니다.
DCQCN에서 ECN의 K-min 및 K-max 임계값은 무엇입니까?
K-min 과 K-max 는 ECN 마킹을 제어하는 큐 깊이 임계값입니다. K-min 미만에서는 어떤 패킷도 마킹되지 않으며, K-max 초과에서는 모두 마킹됩니다. 그 사이에서는 마킹 확률이 설정된 최대값을 향해 상승하므로, 혼잡 시그널링이 급격하게 작동하는 대신 큐의 증가에 따라 점진적으로 확장됩니다.
DCQCN 에는 RoCEv2 가 필요합니까?
예, DCQCN은 RoCEv2 RDMA 트래픽을 위해 설계되었으며, RoCEv2 엔드포인트가 CNP 피드백을 생성하고 그에 따라 동작하는 것을 전제로 합니다. 네트워크의 ECN과 RoCEv2 송신 측의 속도 제어를 결합하므로, RoCEv2 fabric을 위한 표준 혼잡 제어 방식입니다.

실제 워크로드에 맞춰 DCQCN을 튜닝하고 계신가요? 트레이스를 가져오십시오

ECN 카운터와 큐 트레이스를 보내주시면 IP Infusion 엔지니어가 K-min, K-max, PFC 헤드룸을 정렬해 드리며, AI Fabric Design Suite에서 1차 leaf-spine 레이아웃으로 시작하실 수도 있습니다.