R2CC: Reliable and Resilient Collective Communication for Distributed Learning
Organizations: University of Maryland, College Park
Abstract
Modern ML training and inference now span hundreds to tens of thousands of GPUs, where failures can waste 10-15% of GPU hours due to slow recovery. Common network errors and link fluctuations can cause up to 50% of job interruptions, triggering timeouts that often terminate entire jobs, forcing expensive checkpoint rollback during training and request reprocessing during inference. We present R2CC, a fault-tolerant communication library that provides lossless, low-overhead failover by exploiting multi-NIC hardware. R2CC performs rapid connection migration, bandwidth-aware load redistribution, and resilient collective algorithms to maintain progress under failures. We evaluate R2CC on four 8-GPU H100 InfiniBand servers and via large-scale ML simulators modeling up to 1024 GPUs with diverse failure patterns. Experiments show that R2CC is highly robust to inter-node network failures, incurring less than 1.1% training and 3% inference overhead under active failure scenarios. Compared to existing fault-tolerant approaches, R2CC reduces failure-induced overhead by up to 92% for training and 98% for inference. R2CC is open-sourced at https://github.com/r2cc-project/R2CC.
Figures & tables
Appendix figures & tables10 assets
Supplementary material from the paper’s appendix.
Appendix
| 4 | |||
|---|---|---|---|
| 16 | |||
| 64 |
| Failure Type | Support | When Supported (Boundary) |
| In-flight inter-node communication failures (R2CC’s primary scope) | ||
| NIC hardware / port failure (incl. NIC–ToR) | Yes | Node/process stays alive, and the node still has at least one remaining healthy inter-node NIC/path. |
| Inter-node link / cable / ToR port down (single rail/link) | Yes | An alternate inter-node path exists (e.g., another rail/NIC); not a full network partition. |
| RDMA transport / QP-level failure (error CQE, QP error, WQE flush) | Yes | Failure is confined to a subset of connections while endpoints remain alive and an alternate NIC/path exists. |
| Link flapping (up down up) | Partial | Only when flapping causes an in-flight transport failure (e.g. timeout) visible to the collective; pure throughput jitter is not handled. |
| Multi-hop fabric fault (Inter-switch link / spine switch failure) | Partial | Usually masked by fabric rerouting; if it surfaces as a transport error, handled via backup connections. |
| Condition | Test PPL | Max. paired |
|---|---|---|
| NCCL 2.23.4, no failure | 76.085 | – |
| R2CC, no failure | 76.085 | |
| R2CC-Balance, failure | 76.085 | |
| R2CC-AllReduce, failure | 76.086 |
| Time | Re-capture | |
|---|---|---|
| Replayed graph (4 GiB AllReduce) | / iter | overhead ∗ |
| Pre-failure graph, healthy | 2.03 s | – |
| Pre-failure graph, HotRepair | 4.07 s | – |
| Re-captured as R2CC-Balance | 3.04 s | 1.7 ms |
| Re-captured as R2CC-AllReduce | 2.79 s | 0.33 s |
Fault-Tolerant Distributed Training
Fault-tolerant distributed training keeps machine-learning jobs accurate and productive despite failed, delayed, corrupted, or unreliable workers and networks.
See all 23 papers