PFC Deadlock Detection & Recovery
PFC pause는 RoCEv2를 무손실로 만들어 주는 요소이지만, 드물게 발생하는 토폴로지 및 라우팅 조건에서는 모든 스위치가 순환 구조 내에서 다음 스위치를 기다리며 멈추는 순환 종속성이 생겨 트래픽이 무기한 중단될 수 있습니다. OcNOS-DC는 이 순환을 밀리초 단위로 감지하고 학습 작업이 멈추기 전에 영향을 받는 큐를 자동으로 비워 주는 watchdog을 제공합니다.
3개 스위치 Pause 사이클
순환 종속 관계에 있는 세 대의 스위치. 각 스위치는 무손실 우선순위 큐에서 일시 정지된 채 다음 스위치가 큐를 비우기를 기다립니다. 개입이 없으면 이 순환은 영원히 지속됩니다. OcNOS watchdog이 설정된 타임아웃 후에 작동하여 switch-A의 queue-3을 비우면 순환이 무너집니다.
PFC가 데드락을 유발하는 방식
PFC는 홉 단위 일시 중지(pause)입니다: switch-A는 무손실 인그레스 큐가 임계값을 넘어 채워지면 상위(upstream)에 pause를 발생시키고, 상위는 전송을 중단합니다. 이는 트래픽 흐름의 방향이 하나뿐인 트리 토폴로지에서는 문제없이 동작합니다. 다중 경로를 가진 leaf-spine 패브릭에서는 링크 장애를 우회하는 ECMP 재라우팅이 특정 조건에서 모든 스위치가 다음 스위치를 기다리며 일시 중지되는 순환 경로를 만들 수 있습니다.
일단 사이클이 형성되면 안정적으로 유지됩니다: pause된 프레임을 담을 메모리가 충분하고, 라우팅 프로토콜은 모든 것이 정상이라고 판단하며, PFC는 모든 스위치에서 계속 재발동됩니다. 개입이 없으면 영향받은 lossless 우선순위는 무한정 멈춰 있게 됩니다. RoCEv2 트래픽이 중단되고, xCCL (NCCL / RCCL / oneCCL) 집합 통신이 타임아웃되며, 학습 작업이 정지합니다.
OcNOS-DC 워치독
포트별, 우선순위별 타이머
ingress 포트별, lossless priority별로 타이머가 동작합니다. 설정된 시간(일반적으로 100~400 ms) 동안 priority가 지속적으로 pause되면 watchdog가 작동합니다.
자동 큐 드레인
이상 발생 시 해당 ingress 큐가 드레인되며: 사이클을 차단하기 위해 프레임이 일시적으로 드롭됩니다. 드롭된 프레임은 xCCL 집합 통신 재전송을 유발하지만, 대안은 무기한 행(hang) 상태입니다.
복구 후 자동 복원
구성된 복구 간격이 지나면 해당 priority에서 정상적인 PFC 동작이 재개됩니다. 운영자 개입이 필요 없으며, 패브릭은 수 초 내에 lossless 상태로 복구됩니다.
gNMI 카운터
Watchdog 발동 이벤트, drain duration, priority별 pause 카운터가 gNMI로 스트리밍되어 폐루프 fabric 모니터링을 지원합니다. SRE는 deadlock 이벤트를 소리 없는 학습 중단이 아니라 알림으로 확인합니다.
운영자가 구성 가능한 타이머
Detection timeout, drain duration, restore interval은 포트별, priority별로 CLI에서 구성할 수 있습니다. 기본값은 대부분의 fabric에 적합하며, 운영자는 중요도가 높은 클러스터에서 타이머를 단축할 수 있습니다.
DC-PLUS 라이선스 등급
나머지 무손실 RoCEv2 스택과 함께 OcNOS-DC PLUS SKU의 일부입니다. Broadcom Tomahawk 4 및 Tomahawk 5 플랫폼에서 검증되었습니다.
이 동작이 트리거되는 시점
적절한 토폴로지와 라우팅으로 잘 설계된 패브릭에서는 PFC deadlock이 드뭅니다. 대부분의 운영자는 수년간 운영하면서도 한 번도 겪지 않습니다. 그럼에도 watchdog가 중요한 이유는 "드물다"가 "전혀 없다"를 의미하지는 않습니다: 라우팅 컨버전스 윈도우 중의 링크 장애, 단일 포트에서의 PFC 우선순위 오구성, 비정상적인 트래픽 패턴에서의 일시적 혼잡 이벤트 등이 모두 그 조건을 만들 수 있습니다. watchdog이 없으면 실제로 문제가 발생했을 때 AI 클러스터가 멈추고 운영팀은 수 시간의 디버깅을 떠안게 됩니다. watchdog이 있으면 짧은 재전송 버스트와 함께 이벤트가 로깅되는 정도로 끝납니다.
The bottom line
- 무손실 안전망. watchdog은 "상용 AI 패브릭에서 PFC는 이론적으로 위험하다"와 "PFC는 대규모로 안전하게 도입할 수 있다"를 가르는 핵심 요소입니다.
- 1초 미만 복구. 감지 + 드레인 + 복구는 일반적으로 1초 이내에 완료됩니다. xCCL이 RDMA 트래픽의 작은 윈도우를 재전송하고, 작업은 계속됩니다.
- 표준 구성. 이 watchdog은 OcNOS-DC의 무손실 템플릿에서 기본적으로 켜져 있습니다. 켜는 것을 따로 기억할 필요가 없습니다.
- Observable. 모든 fire는 gNMI를 통해 기록되고 집계되며 스트리밍됩니다. 기존 관측 가능성 스택과 연동되는 closed-loop 모니터링입니다.
- 중요도에 맞춰 조정 가능. 중요한 학습 클러스터에서는 타이머를 낮추십시오. 일반 DC 패브릭에는 기본값으로 충분합니다.