Netflix, 자동 복구 시스템으로 GPU 가용성 99.95% 달성
핵심 내용
Netflix가 자동 복구 시스템으로 GPU 가용성을 99.95% 이상으로 끌어올렸다.
자세히 보기
Netflix가 대규모 학습 및 추론 작업을 지원하기 위해 GPU 인프라에 4단계 신뢰성 시스템을 도입해 **>99.95%**의 가용성을 달성했다. 단일 하드웨어 장애가 수 주간의 작업을 중단시키는 갱 스케줄링(gang-scheduled)의 취약점을 해결하기 위해, 실행 전후 결함을 감지하고 자동으로 복구하는 체계를 구축했다.
기본 점검의 한계
클라우드 제공자의 기본 상태 확인이나 GPU 드라이버 검증만으로는 분산 학습에 충분하지 않다. GPU가 정상으로 보이지만 부하 시에만 나타나는 온칩 메모리 결함이나 네트워크 대역폭 저하가 발생할 수 있다. 또한 진단 도구 자체가 멈추거나 조용히 실패해 잘못된 확신을 줄 수 있다. Netflix는 하드웨어와 검사 도구가 거짓말할 수 있다고 가정하고, 의존성이 없거나 응답이 없으면 실패하도록(fail closed) 설계했다.
4단계 신뢰성 모델
각 계층이 이전 계층이 놓친 부분을 잡아낸다:
- 노드 및 하드웨어 상태: NVIDIA DCGM과 Kubernetes node-problem-detector 기반 에이전트를 사용해 30초마다 점검한다. GPU 오류 코드, 인터커넥트 무결성, 열 상태, 네트워크 어댑터 링크 수를 확인한다. 커스텀 치명적 오류 맵을 통해 GPU 세대별 benign과 critical 코드를 구분한다.
- 스케줄러 및 플랫폼: 컨트롤러가 Kubernetes 노드 상태를 모니터링하여 머신을 taint하거나 drain한다. 일시적인 'problem' 조건(신규 작업 차단)과 지속되는 'failure' 조건(대피 및 교체)을 구분하는 단계적 복구 정책을 적용한다. Karpenter 노드 자동 복구는 일시적 오류에는 관대하되 치명적 오류에는 즉각 대응하도록 커스터마이징했다.
- 학습 루프: 체크포인트와 elastic workers를 통해 머신 손실에도 작업이 지속되도록 설계했다. 스케줄러는 플랫폼 원인 실패를 자동 재시도하지만, 버그 마스킹을 방지하기 위해 오류가 하드웨어 원인인지 사용자 코드 원인인지 귀속한 후에만 수행한다.
- 관측성: 가용성, 작업 시작 성공률, 작업 완료 성공률을 하드웨어, 드라이버, 스케줄러, 사용자 등 원인별로 세분화해 추적함으로써 시스템 약점을 파악한다.
성과 및 향후 개선
수동 개입에서 자동화된 계층적 점검으로 전환하며 플릿 활용률과 신뢰성이 크게 향상됐다. 주요 지표는 다음과 같다:
- GPU 노드 가용성 >99.95%
- 작업 성공률 **~98%**에서 99.5% 이상으로 증가
Netflix는 현재 부하 시 더 많은 실패 모드를 커버하도록 능동적 점검을 확장하고, **Kubernetes Dynamic Resource Allocation (DRA)**을 구현해 멀티 GPU 머신에서 전체 노드를 drain하는 대신 결함 있는 GPU만 격리하고 있다. 향후 작업에는 sched_ext를 사용해 collective 연산과 데이터 로딩을 우선시하는 커스텀 Linux 스케줄링을 적용해 대규모 클러스터의 GPU 유휴 시간을 줄이는 방안이 포함된다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.