IL-0476 ByteDance · 2025-04-26 (게시일)ai-infranetworking
ByteDance의 128대 V100 학습 작업이 머신 한 대의 PCIe 저하로 40분 동안 크게 느려졌다
ByteDance의 운영 환경에서 128대 머신으로 돌던 분산 학습 작업이 PCIe 저하 때문에 40분 동안 심하게 느려졌다. PCIe는 그래픽 카드, NIC, SSD 같은 장치를 잇는 호스트 안의 고속 직렬 버스다. 고장 난 머신의 PCIe가 6.4Gbps에서 4Gbps로 떨어지자 그 머신의 NIC 버퍼가 가득 찼다. 머신 사이 통신에 병목이 생겨 PFC Tx 패킷이 급증했고, 혼잡 때문에 ECN 수신과 CNP 송신도 늘었다. 그 결과 모든 머신의 NIC 처리량이 6.5Gbps에서 4.9Gbps로 떨어졌고, 계산할 데이터가 줄어 GPU 텐서 코어 사용률이 내려가 학습 성능이 떨어졌다.
작업이 계속 돌았기 때문에 작업이 멈출 때만 울리는 알림은 오지 않았다. 담당 엔지니어와 네트워크, 스토리지, 하드웨어 팀이 각자 영역을 손으로 뒤졌고, 고장 난 머신을 찾기까지 모두 40분이 걸렸다. PFC 패킷 비율 같은 결정적인 모니터링 데이터는 로그에서 제때 확인되지 않았다. ByteDance는 이런 수동 진단을 대신할 Minder를 만들어 모든 분산 학습 작업에 배포했다. Minder는 머신마다 모니터링 지표를 비교해, 다른 머신과 다른 패턴이 한동안 이어지는 머신을 찾는다.
- 심각도
- –
- 영향 범위
- 128-machine training task on thousands of V100 GPUs slowed severely for 40 minutes; NIC throughput on all machines fell from 6.5Gbps to 4.9Gbps
- 영향 사용자
- –
- 지역
- –
- 감지까지
- 40m
- 복구까지
- –
증상
128대 머신으로 돌던 분산 학습 작업이 멈추지는 않고 40분 동안 심하게 느려졌다. 수천 개의 V100 GPU가 그동안 계산 자원을 다 쓰지 못한 채 느리게 돌았다.
모든 머신의 NIC 처리량이 6.5Gbps에서 4.9Gbps로 떨어졌고, GPU 텐서 코어 사용률도 내려갔다. 혼잡 지표인 ECN 수신과 CNP 송신이 함께 늘었다.
처음에는 모든 머신의 PFC Tx Packet Rate가 비슷했다. 그러다 고장 난 머신 한 대에서만 PFC Tx Packet Rate가 다른 머신보다 훨씬 높은 상태가 한동안 이어졌다.
작업이 멈추지 않았기 때문에 알림은 오지 않았다. 기존 방식은 작업이 완전히 멈춰야 엔지니어에게 알렸다. 그래서 작업을 멈추지는 않고 MFU만 떨어뜨리는 저하는 잡지 못했다. MFU는 모델 FLOPs 사용률이다.
고장 난 머신을 찾는 데 40분이 걸렸고 여러 팀이 매달렸다. 담당 엔지니어는 모델 정보, 병렬화 설정, 의존성, 환경 변수, Megatron-LM 같은 프레임워크 매개변수를 살폈다. 네트워크 팀은 호스트 안 처리량, RDMA 트래픽, 패킷 손실, 혼잡 지표, 드라이버, 라우팅을 봤다. 스토리지 팀과 하드웨어 팀은 HDFS와 SSD 사용량, GPU와 CPU 사용률, NIC 상태, 머신 스케줄링을 확인했다. 결정적인 단서인 PFC 패킷 비율을 로그에서 제때 확인하지 못해 고장 난 머신을 찾기 어려웠다.
증상 처리량 저하
원인
원인 하드웨어 고장
- 촉발
- 머신 한 대의 PCIe 링크가 6.4Gbps에서 4Gbps로 떨어졌다.
감지
작업이 멈추지 않아 알림이 오지 않았다. 여러 팀이 40분 동안 손으로 진단한 끝에 고장 난 머신을 찾았다.
조치
–
후속 조치
- 모니터링 지표로 고장 난 머신을 자동으로 찾는 Minder를 설계하고 구현해 모든 분산 학습 작업에 배포한다.
교훈
작업이 완전히 멈출 때만 알리는 방식으로는 학습을 느리게만 하는 고장을 잡지 못한다. 엔지니어가 경험에 기대 볼 로그를 고르면 일부 내용을 빠뜨린다. 게다가 로그에는 GPU 전력, 온도, NVLink 대역폭, PFC 패킷 비율 같은 모니터링 지표가 없다. 여러 팀이 함께하는 수동 진단은 시간이 오래 걸린다. 분산 학습에서는 머신마다 부하가 고르게 나뉘므로 모니터링 지표도 비슷하게 움직이고, 한 머신만 다른 패턴을 몇 분 넘게 보이면 그 머신이 고장 났을 가능성이 높다.
출처
- https://arxiv.org/abs/2411.01791 · paper · 보관본
관련 사례
IL-0238PCIe A100 1만 장 규모의 Fire-Flyer 2 학습 클러스터에서 GPU Xid 오류와 InfiniBand 링크의 순간 끊김으로 학습 작업이 끊기고 실패했다DeepSeek · 2024같은 원인 · 공통 InfiniBand 패브릭
내 클러스터에도 있는지 확인하기
AI 도구와 스크립트용
- 이 사례의 JSON: https://incidentlib-api.benchlet.com/cases/IL-0476
- 가장 비슷한 사례들: https://incidentlib-api.benchlet.com/cases/IL-0476/similar
- MCP 서버(Streamable HTTP, 키 없음):
https://incidentlib-mcp.benchlet.com/mcp
API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.