Incident Library
Applied filters ComponentNCCLSymptomNCCL timeoutFactorUnreviewed defaultsClear allEvery case under the filters, with no sentence; newest first.
Suggested filters Search, and the values found in your words appear here.

Graph

  • Root cause
  • Component
  • Symptom
  • Contributing factor
  • Case

Cases2 cases

1 to 2 of 2

  1. Symptoms

    Seven hours into a distributed training run on Databricks AI, the job failed with an NCCL timeout.

    Trigger

    A single InfiniBand port used for RDMA NCCL collectives went down once and recovered.

    Root cause
    Component
    Contributing factor
    Detection

    The training job crashed with the NCCL timeout. The continuous health checks, which watched InfiniBand port flapping by count, had not flagged the single flap.

    Remediation
    • Tuned the NCCL_IB_TIMEOUT defaults to be more resilient to short port-down windows
    • Used the port-down signal to crash the job and restart it from a checkpoint instead of waiting for the watchdog
    • Fed the investigation into gpu-monitor, whose RDMA fabric port-down check is thresholded on cumulative downtime rather than flap count
    Action items
    • Tune the NCCL_IB_TIMEOUT defaults to be more resilient
    • Crash and restart the job from a checkpoint on the port-down signal instead of leaving GPUs idle until the watchdog fires
    • Threshold RDMA fabric port-down detection on cumulative downtime, not flap count, in gpu-monitor
    Lessons

    For training impact the signal that matters is cumulative port downtime, not the number of flaps: one long enough flap can crash a multi-day run. NCCL_IB_TIMEOUT, with an effective default of about seven seconds, decides the outcome long before the PyTorch watchdog timeout does. Health checks need to cover the whole node lifecycle: active checks before workloads start, passive checks for silent degradation under load, and periodic multi-node NCCL fabric checks in between.

  2. Symptoms

    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.

    Trigger

    Network interfaces went down for several seconds and came back up, dropping every packet in transit.

    Root cause
    Component
    Contributing factor
    Detection

    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.

    Remediation
    • set NCCL's timeout threshold explicitly to a larger value than the default
    • tuned NCCL's retransmit timer and retry count for fast recovery under link flapping
    • enabled the adap_retrans feature on the NICs
    • applied lower-level quality control to NIC signal strength, AOC cable quality and switch-side signal strength
    Lessons

    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.

Check your cluster for this

These 2 cases involve NCCL and InfiniBand fabric. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.

By root cause2