{"id":"IL-0128","org":"ByteDance","date":"2024-02-23","docs":[],"title":{"en":"Network interfaces that dropped for a few seconds made NCCL time out and stalled or slowed LLM training on a cluster of more than 10,000 GPUs","ko":"1만 개 넘는 GPU 로 학습하는 클러스터에서 네트워크 인터페이스가 몇 초씩 끊겼다 붙는 플래핑이 NCCL 타임아웃을 일으켜 학습이 멈추거나 느려졌다."},"domain":["ai-infra","networking"],"impact":{"scope":"LLM training jobs on the MegaScale cluster of more than 10,000 GPUs","users":"unknown","region":"unknown"},"review":{"written_by":"session","reviewed_at":null,"reviewed_by":null},"lessons":{"en":"A default NCCL timeout can be shorter than the few seconds an interface needs to come back from a flap, so a brief link loss becomes a failed collective and a stalled job. A larger timeout and faster retransmission give the link time to return, but the flapping itself came from physical link quality between NIC, AOC cable and switch, and quality control at that level reduced it.","ko":"타임아웃 기준은 기본값에 맡기지 말고 명시적으로 크게 잡아야 한다. 기본값으로 두면 NCCL 은 네트워크 카드가 돌아오기 전에 타임아웃을 낸다. 플래핑의 근본 원인은 링크 품질이었다. 네트워크 카드, AOC 케이블, 스위치의 신호 품질을 하드웨어 수준에서 관리하고 나서야 빈도가 줄었다."},"related":[],"sources":[{"url":"https://arxiv.org/abs/2402.15627","kind":"paper","license":"unknown","archived":null}],"summary":{"en":"MegaScale is ByteDance's production system for training large language models on more than 10,000 GPUs. Its data center network is built from switches on Broadcom Tomahawk 4 chips in a three-layer CLOS-like topology. Each server has eight 200G NICs connected to eight different switches, and at the top-of-rack switches one 400G downlink port is split into two 200G ports with specific AOC cables. The paper lists frequent network interface flapping among the problems found and fixed in production training; it does not date individual events.\n\nWhen an interface flapped it went down and back up, usually within several seconds, and dropped all packets in transit while down. With NCCL's default timeout, the collective communication timed out and returned a completion error before the network card recovered, so training stalled or slowed. The first lesson the team drew was to set the timeout threshold explicitly to a larger value. The second was that the root cause was poor link quality between the network card, the AOC cable and the switch; lower-level quality control over NIC signal strength, AOC cable quality and switch-side signal strength brought the flapping frequency down to a satisfactory level.\n\nIn its network tuning section the paper adds that NCCL's retransmit timer and retry count were tuned for fast recovery under link flapping, and that the adap_retrans feature was enabled on the NICs so that short flaps recover sooner through retransmission at shorter intervals.","ko":"ByteDance 는 1만 개가 넘는 GPU 로 대규모 언어 모델을 학습하는 MegaScale 시스템을 논문으로 공개하면서, 운영 중에 진단하고 고친 문제 가운데 하나로 잦은 네트워크 인터페이스 플래핑을 소개했다. 날짜가 있는 장애 한 건이 아니라 되풀이해서 겪은 문제다.\n\n플래핑이 일어나면 인터페이스가 몇 초 동안 내려가 그 사이의 패킷이 모두 버려졌다. NCCL 타임아웃을 기본값으로 두면 링크가 돌아오기 전에 타임아웃이 나서 학습이 멈추거나 느려졌다. 근본 원인은 네트워크 카드, AOC 케이블, 스위치 사이의 링크 품질 불량이었다.\n\nByteDance 는 NCCL 의 재전송 타이머와 재시도 횟수를 조정하고, NIC 의 adap_retrans 기능을 켜 짧은 플래핑에서 전송이 빨리 회복되도록 했다. 타임아웃 기준은 명시적으로 더 크게 잡았다. 네트워크 카드 신호 세기, AOC 케이블 품질, 스위치 쪽 신호 세기를 하드웨어 수준에서 관리해 플래핑 빈도를 만족할 만한 수준까지 줄였다."},"trigger":{"en":"Network interfaces went down for several seconds and came back up, dropping every packet in transit.","ko":"네트워크 인터페이스가 몇 초 동안 내려갔다가 다시 올라오는 플래핑이 일어났다."},"severity":"unknown","symptoms":["link-flapping","nccl-timeout","throughput-degraded"],"timeline":{"detected_after":null,"resolved_after":null},"date_kind":"published","detection":{"en":"MegaScale's monitoring system uses second-level monitoring to track link flapping and other NIC issues. When the RDMA traffic metrics carried in the training daemons' heartbeats drop sharply or fluctuate abnormally, the driver raises an alert for manual investigation, and if the traffic stops entirely it starts the fault recovery procedure automatically.","ko":"MegaScale 은 초 단위 모니터링으로 링크 플래핑 같은 NIC 문제를 추적한다. 하트비트에 담긴 RDMA 트래픽 지표가 크게 떨어지거나 비정상적으로 흔들리면 드라이버가 사람이 조사하도록 알림을 보내고, 트래픽이 완전히 끊기면 자동으로 장애 복구 절차를 시작한다."},"components":["nccl","network-link"],"root_cause":"dns-network","remediation":[{"text":{"en":"set NCCL's timeout threshold explicitly to a larger value than the default","ko":"NCCL 의 타임아웃 기준을 기본값보다 큰 값으로 명시적으로 잡았다."}},{"text":{"en":"tuned NCCL's retransmit timer and retry count for fast recovery under link flapping","ko":"링크 플래핑에서 빨리 회복하도록 NCCL 의 재전송 타이머와 재시도 횟수를 조정했다."}},{"text":{"en":"enabled the adap_retrans feature on the NICs","ko":"NIC 의 adap_retrans 기능을 켰다."}},{"text":{"en":"applied lower-level quality control to NIC signal strength, AOC cable quality and switch-side signal strength","ko":"네트워크 카드 신호 세기, AOC 케이블 품질, 스위치 쪽 신호 세기를 하드웨어 수준에서 관리해 플래핑 빈도를 줄였다."}}],"action_items":[],"contributing":["default-config-unchanged"],"recurrence_of":null,"symptoms_text":{"en":"ByteDance's large language model training jobs on its MegaScale system, which runs on more than 10,000 GPUs, occasionally stalled or slowed down. The cause was network interfaces that flapped frequently.\n\nIn a flap the network interface went down and then came up again, usually several seconds later, and every packet in transit while it was down was dropped. With the default timeout, NCCL timed out quickly and returned a completion error before the network card was back up.","ko":"학습이 멈추거나 학습 속도가 떨어지는 일이 가끔 일어났다. 원인은 네트워크 인터페이스가 자주 끊겼다 다시 붙는 플래핑이었다.\n\n플래핑이 일어나면 네트워크 인터페이스가 먼저 내려갔다가 다시 올라왔고, 그 사이는 보통 몇 초였다. 인터페이스가 내려가 있는 동안 전송 중이던 패킷은 모두 버려졌다. NCCL 의 타임아웃을 기본값으로 두면 네트워크 카드가 다시 올라오기 전에 타임아웃이 나서 NCCL 이 completion error 를 냈다."},"updated_at":"2026-11-09T11:55:49.111797Z","url":"https://benchlet.com/incidentlib/app/cases/IL-0128","org_slug":"bytedance"}