groundy
infrastructure & runtime

Noisy Neighbors at the Fabric: Why Shared GPU Clusters Throttle Your Jobs

A new NCCL shim recovers 13-38% bandwidth on shared GPU clusters by tuning collective patterns. Test for cross-tenant interference before buying more fabric.

12 min···4 sources ↓

Your training throughput on shared or rented GPUs may have collapsed because of what a neighbor’s job is doing to the collective layer, not because of anything in your own configuration. A September 2026 preprint, Tuning Collective Patterns to Alleviate Congestion in Shared AI Clusters, reports that a shim layered over NCCL recovered 13-38%1 of communication bandwidth on a congested shared cluster with no scheduler changes, no switch support, and no coordination between tenants. The numbers are author-reported and single-lab; the diagnostic framing is worth adopting regardless.

Why is my allreduce slow when my GPUs look idle?

The signature of cross-tenant interference at the collective layer is a specific one: per-GPU utilization drops, step time stretches, but your own profile shows nothing wrong. Kernels are fast, data loading is fine, and nvidia-smi shows cards waiting. What they are waiting on is the allreduce.

Collectives are the synchronized part of distributed training. Every data-parallel step ends with an allreduce that cannot complete until the slowest participating flow completes. That property, which makes collectives easy to reason about in a dedicated cluster, makes them an amplifier in a shared one. A single congested link on the fabric delays every rank in your job, and the congestion may have nothing to do with your traffic. Another tenant’s checkpoint write, parameter sync, or storage burst crosses the same switches your ring or tree traverses.

The standard practitioner response to this has been per-job NCCL tuning: environment variables for algorithm selection, channel counts, buffer sizes. The preprint argues that layer is structurally insufficient on its own, because the variable you actually need to control is other people’s traffic, and no environment variable in your job touches that. If your slowdown is a noisy-neighbor problem, retuning your own NCCL knobs is adjusting your umbrella while someone else sprays the hose.

This matters more now than it did two years ago because of who runs shared clusters. The renter population has grown well beyond academic HPC centers into GPU clouds, reserved-capacity pools, and fractional clusters, all environments where you do not control the fabric and frequently cannot even see who shares it. The question “why is allreduce slow on rented GPUs” increasingly has an answer that starts outside your job.

What does REACT actually do inside NCCL?

REACT is a shim over NCCL that detects network congestion at runtime from readily available flow statistics and retunes which collective patterns the job runs, all without infrastructure support or cross-job coordination, according to the preprint.

Two deployment properties do the conceptual work here. First, the shim sits at the communication library layer, meaning it deploys the way a library upgrade deploys: inside your container, under your control. Second, it is unilateral. The paper positions this explicitly against two incumbent assumptions in congestion-evasion research: that you either need global control over the entire workload (coordinating the schedules of every job on the cluster) or infrastructural support in the switches (adaptive routing and similar features). A tenant in a shared cloud has neither. A shim needs neither.

The mechanism, at the level the abstract supports, is pattern selection under observed congestion rather than static pattern choice. NCCL already chooses among collective algorithms and topologies; REACT’s contribution is making that choice reactive to live congestion signals from flow stats rather than fixed at job start or derived from an offline model of a quiet network. The details of which patterns it prefers under which conditions live in the paper itself, which at this point is a preprint: author-reported, not peer-reviewed, not independently replicated.

How much bandwidth does it recover, measured versus simulated?

Measured on a real shared cluster, REACT improved communication performance (algorithm bandwidth) by 13-38%1 under congestion; the headline “up to 75%”1 figure exists only in simulation, per the preprint.

That split deserves to be stated flatly because preprint coverage tends to merge the two numbers into whichever is larger. The 13-38%1 range is what the authors observed on hardware with real cross-tenant traffic. That is a substantial recovery for a change that requires no infrastructure work, but it is also a range, and the spread across that range presumably tracks congestion severity and job mix in ways a single-cluster evaluation cannot fully characterize.

The 75%1 figure comes from simulations across a range of congestion scenarios. Simulation is the right tool for exploring conditions a single testbed cannot produce, and the wrong tool for setting expectations. Simulated congestion is congestion the simulator’s author chose to model; the fat-tail interactions of a production multi-tenant fabric, where storage traffic, inference serving, and half a dozen training frameworks share switches, may or may not resemble the scenarios in the paper. If you quote one number from this work to your team, quote 13-38%1 and attach the word “measured” to it.

There is also a selection subtlety worth naming. The evaluation demonstrates recovery under congestion. It does not demonstrate that congestion of the kind REACT fixes is the dominant cause of your slowdown. That is a diagnostic question, and the article returns to it below, because getting the attribution wrong means paying for the wrong fix.

Why do existing congestion tools break in shared clouds?

The paper’s argument is that existing congestion-evasion approaches assume either global control over all jobs or support from the network infrastructure, and shared cloud tenants have access to neither, per the preprint.

The global-control assumption underpins scheduler-level approaches: if you can decide when every job communicates, you can stagger collective phases so they never collide. This is real and it works, provided you own every job. An HPC center running a batch queue over its own cluster can plausibly do this. A tenant renting eight nodes in someone else’s cluster cannot; the other tenants’ jobs are not in your scheduler, and the provider’s scheduler is not optimizing for your allreduce.

The infrastructure assumption underpins fabric-level approaches: adaptive routing in switches, in-network reduction, quality-of-service lanes. These live in the switch silicon and the subnet manager. A renter cannot enable them, tune them, or in most cases even confirm whether they are enabled. The paper’s contribution is to define the remaining cell in that matrix: per-job, application-layer, unilateral. Whatever you think of the specific numbers, the cell is real and was underserved.

The competitive landscape reinforces the gap. Vendor material from NVIDIA and the InfiniBand Trade Association describes fabric-side capabilities without publishing multi-tenant interference numbers. Practitioner NCCL tuning guides stay inside per-job environment variables. Neither camp frames congestion as a cross-tenant coordination problem that a single tenant can attack alone.

What does the fabric already do about congestion?

Production InfiniBand fabrics already ship substantial congestion machinery: NVIDIA Quantum switch systems include SHARP in-network reduction, self-healing network features, quality of service, and enhanced virtual lane mapping, per NVIDIA’s InfiniBand product material.

This is the counterweight the preprint’s framing has to carry. InfiniBand is a switched-fabric interconnect with RDMA for low CPU overhead, and it is not a dumb pipe. SHARP performs reduction operations in the switch itself, which changes the traffic profile of collectives rather than merely tolerating congestion. QoS and virtual lane mapping isolate traffic classes. Self-healing features reroute around failures. If your provider’s fabric runs all of this and runs it well, some fraction of what REACT recovers may already be recovered for you, and a per-job shim could add little.

The honest complication is that nobody publishes the number that would settle this. Vendor pages describe capabilities; they do not publish multi-tenant congestion measurements under realistic tenant mixes. The InfiniBand Trade Association notes deployment across thousands of data centers and HPC and AI clusters scaling to thousands of nodes, with 63 of the top 100 systems4 on the June 2023 TOP500 list connected by InfiniBand, but penetration is not a congestion measurement. The vendor claims are the incumbent baseline a shim has to beat, not independent validation of anything.

There is a structural point here too. Since NVIDIA’s 2019 acquisition of Mellanox, the last independent InfiniBand supplier, fabric-side congestion features are vendor-controlled, per the InfiniBand history. A tenant’s ability to affect the fabric layer runs entirely through one vendor’s roadmap and one provider’s configuration choices. An application-layer shim is, among other things, an insurance policy against that dependency.

When does a per-job shim beat fabric spend, and when is it redundant?

The decision turns on three axes: what layer you can deploy at, whether your fabric already handles congestion, and how much of your slowdown is actually congestion versus configuration.

ApproachDeployment layerCoordination neededEvidence in this briefBest fit
REACT-style shimApplication (over NCCL)None; unilateral per-tenant13-38% measured, up to 75% simulated (preprint)Renters and tenants with no fabric access
Scheduler-level staggeringCluster schedulerGlobal control of all jobsNone here; assumed incumbent in the paper’s framingSingle-owner HPC centers
Fabric features (SHARP, QoS, adaptive routing)Switch infrastructureProvider/vendor configurationCapabilities documented, no multi-tenant numbers (NVIDIA)Clusters where the provider has already enabled them
More fabric (higher bandwidth, lower oversubscription)Infrastructure procurementBudgetNone needed; it is the default expensive answerWhen diagnostics show raw oversubscription, not pattern collision

The rows compress into a rule. If you do not control the fabric, the shim row is the only one you can execute unilaterally, which makes it the rational first move even at modest expected gain. If you do control the fabric, the shim competes with features you may already own, and the marginal value drops. And if the underlying problem is a 4:1 oversubscribed fabric carrying more traffic than its topology admits, no row in the table fixes it except the last one, which is a procurement conversation rather than an engineering one.

The evidence asymmetry in the table is deliberate and should bother you. The shim’s benefits come with measured numbers from one lab; the fabric features’ benefits come with capability lists from the vendor selling them. Neither is independent validation. The difference is that you can test the shim yourself this week for the cost of a container rebuild, while testing whether your provider’s QoS configuration actually isolates your traffic is closer to an audit.

How do you test for collective-layer interference on your own cluster?

The diagnostic goal is to separate three hypotheses that all present as “training got slow”: per-job misconfiguration, cross-tenant congestion at the collective layer, and fabric-level oversubscription.

Start with a baseline you control. Run a standard NCCL allreduce benchmark (the all_reduce_perf test from the NCCL tests suite is the conventional choice) at a time when the cluster is quiet, and record algorithm bandwidth across message sizes. Repeat the same benchmark when your production jobs are slowing down. A large gap between quiet and busy bandwidth, in a benchmark that uses no storage and no data pipeline, isolates the network from every other subsystem. That gap is your cross-tenant interference signal, or at least the upper bound of it.

Next, correlate with your training jobs. If production step time degrades at the same wall-clock times the benchmark bandwidth drops, and your own job’s compute profile is unchanged, the congestion hypothesis survives and the misconfiguration hypothesis weakens. If the benchmark is flat while training degrades, look at your own data loading and checkpointing before blaming neighbors.

Then test the pattern-tuning hypothesis directly. The preprint’s shim is the principled version, but even a coarse version is informative: force different NCCL algorithms across identical runs during a congestion window and measure the spread. If pattern choice moves your measured bandwidth by a double-digit percentage under load but not at quiet times, you have reproduced the shape of the paper’s result on your own fabric, and the shim class of solution is worth real evaluation. If pattern choice moves nothing under load, your bottleneck sits elsewhere in the stack, likely the fabric topology itself.

Finally, ask the provider the two questions they will dodge: the oversubscription ratio of the fabric your nodes sit on, and whether SHARP, QoS, and adaptive routing features are enabled on your partition. The answers bound how much headroom any application-layer fix can have.

Should you measure before buying more fabric?

Yes. The practical verdict from this evidence base: treat collective-layer congestion as a testable hypothesis before treating it as a procurement justification, because the test costs days and the fabric costs budget.

The preprint demonstrates that a unilateral, application-layer change can recover 13-38%1 of algorithm bandwidth under congestion on a real shared cluster, per the authors’ evaluation. Even if you discount that range for single-lab optimism, a recovery at the low end, achieved with a shim and no infrastructure change, beats paying for bandwidth you may not be using efficiently. The diagnostic sequence above converts “the cluster feels slow” into one of three actionable findings, and two of them do not require new hardware.

The counterweight stands, and it is not a footnote. Production fabrics with SHARP, self-healing, QoS, and adaptive routing may already capture much of the gain a shim offers, in which case the shim adds complexity for little return. Worse for the paper’s generality, commercial GPU clouds differ from an academic cluster in exactly the variables that matter: oversubscription ratios, tenant density, and how aggressively the provider has tuned the incumbent fabric features. A result measured on one shared academic cluster describes that cluster.

Which is the strongest limitation of the work and the honest note to end on. Every quantitative claim here is author-reported from a single lab on a single testbed, not peer-reviewed, not independently replicated, with the largest number in the paper being simulation-only. What survives replication risk is the framing, not the figures: on a shared cluster, congestion is a coordination problem, the coordination can happen inside your own job, and “buy more fabric” is a conclusion you should arrive at after measurement rather than before it. The renters who adopt that ordering will occasionally discover the fabric was fine and their own checkpoint schedule was the neighbor they were blaming.

Frequently Asked Questions

Does REACT work on Ethernet fabrics like RoCE, or is it InfiniBand-only?

The preprint evaluates REACT specifically on a shared academic cluster using InfiniBand, leveraging its flow statistics for congestion detection. While the shim operates at the NCCL layer, which is transport-agnostic, the paper does not provide measured results for RoCE or other Ethernet-based fabrics. Practitioners on Ethernet clusters should treat the 13-38% recovery figures as unverified for their specific hardware, as congestion signals and switch behaviors differ significantly between InfiniBand and RoCE implementations.

How does REACT’s unilateral deployment differ from NCCL’s built-in adaptive algorithms?

NCCL’s standard adaptive algorithms typically rely on static topology assumptions or simple heuristics that do not account for cross-tenant interference. REACT distinguishes itself by using live flow statistics to detect congestion in real-time and dynamically retuning collective patterns without requiring global scheduler coordination. This allows a single tenant to mitigate noisy-neighbor effects unilaterally, whereas standard NCCL tuning often requires cluster-wide configuration changes or assumes a dedicated, uncontended network environment.

What is the primary risk of deploying REACT on a fabric with aggressive oversubscription?

If the underlying fabric has a high oversubscription ratio, such as 4:1, REACT’s pattern tuning may yield negligible gains because the bottleneck is raw bandwidth capacity rather than pattern collision. In such cases, the shim adds complexity without resolving the fundamental throughput ceiling. Operators should verify the oversubscription ratio before deploying REACT, as the tool is designed to alleviate congestion caused by pattern interference, not to overcome physical bandwidth deficits inherent to oversubscribed topologies.

Can REACT be used to diagnose whether a slowdown is due to cross-tenant interference or local misconfiguration?

Yes, by comparing algorithm bandwidth during quiet periods versus congested windows, operators can isolate network interference from local issues. If REACT recovers significant bandwidth during congestion but not during quiet times, the slowdown is likely due to cross-tenant interference. If performance remains flat regardless of REACT’s tuning, the issue is likely local misconfiguration or fabric-level oversubscription. This diagnostic capability allows teams to attribute performance drops accurately before investing in infrastructure upgrades.

sources · 4 cited

  1. InfiniBanden.wikipedia.orgcommunityaccessed 2026-09-07
  2. InfiniBand - A low-latency, high-bandwidth interconnectinfinibandta.orgvendoraccessed 2026-09-07