ECN · CNP · RoCEv2

DCQCN: RDMA용 양자화 혼잡 제어

DCQCN(Data Center Quantized Congestion Notification)은 무손실 RoCEv2 패브릭이 PFC 일시 정지에 의존하지 않고 동작하도록 하는 엔드투엔드 혼잡 제어입니다. 스위치가 ECN을 조기에 마킹하고, 수신 측이 CNP를 되돌려 보내며, 송신 측이 전송률을 양자화하여 조정하므로, 큐가 넘치기 전에 송신 측이 속도를 줄입니다.

폐루프ECN 마킹, CNP, 전송률 감소
PFC보다 먼저일시 정지에 앞선 ECN 마킹

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: 혼잡 알림 패킷 송신 NIC반응 지점(Reaction Point)α 업데이트 · 감소 · 회복 OcNOS-DC 스위치WRED ECN 마커K-min · K-max · P-max 수신 NIC알림 지점(Notification Point)50 µs마다 CNP DCQCN · WRED 마킹 · CNP 피드백 · 양자화 속도 제한 · 무손실 RoCEv2

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

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

잘 구성하면 패브릭 운영 대부분을 DCQCN 피드백만으로 수행하고 PFC는 안전 백스톱 역할을 하게 됩니다. 잘못 구성하면 ECN 임계값이 PFC headroom과 어긋나 DCQCN을 구성했더라도 pause 폭주가 발생합니다.

반응 지점(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는 최후의 방어선으로 예비해 두는 것입니다.

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

OcNOS-DC의 ECN 마킹

WRED 곡선

K-min, K-max, P-max

구성 가능한 K-min 및 K-max 임계값과 P-max 마킹 확률을 갖춘 우선순위 큐별 WRED ECN 마킹.

우선순위별

PFC 독립적

ECN 마킹은 PFC 일시 정지 임계값과 독립적으로 구성됩니다.

VXLAN 지원

VXLAN 상의 ECN

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

적용 범위

라이선스 티어

PFC와 ECN은 OcNOS-DC IPBASE 및 PLUS SKU에 포함됩니다. Dynamic ECN, PFC 교착 상태 감지 및 복구, VXLAN 기반 PFC 및 ECN은 PLUS SKU에 포함됩니다.

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

ECN 임계값 불일치에는 정반대로 보이는 두 극단이 있지만, 둘 다 패브릭을 잘못 튜닝된 상태로 만듭니다.

  • ECN이 구성되었지만 전혀 마킹되지 않는 경우(K-min이 너무 높음): PFC가 혼잡 제어 부담 전체를 떠안습니다.
  • ECN이 너무 공격적으로 마킹하는 경우(K-min이 너무 낮음): 실제 혼잡이 발생하기 전에 송신 측이 전송률을 낮춥니다.

DCQCN, 자주 묻는 질문

DCQCN이란 무엇입니까?
DCQCN(Data Center Quantized Congestion Notification)은 Ethernet 기반 AI 및 스토리지 fabric 에서 RoCEv2 RDMA 트래픽을 위한 혼잡 제어 알고리즘입니다. 큐가 오버플로되기 전에 송신 측을 억제하므로, GPU 및 스토리지 플로우는 PFC 일시 정지 상태에 머무는 시간이 줄고 정체를 방지할 수 있습니다.
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 레이아웃으로 시작하실 수도 있습니다.