A stylized illustration of an AI-focused system, featuring a human profile with circuit-like neural connections, surrounded by icons representing computation, optimization, and data-driven performance.

From Single Collective to Epoch-Aware Testing: Why Iteration Semantics Matter for AI Fabrics

Motivation

Standard nccl-tests and fabric acceptance tests measure a single collective from a clean state: empty switch buffers, no PFC pause credits consumed, no ECN history. This is not how production of AI training operates.

A training job runs thousands of collective iterations. Each iteration inherits the fabric state — queue occupancy, congestion marks, PFC credit state — left by the previous one. A fabric that achieves 90 GB/s on iteration 1 may deliver 60 GB/s by iteration 50 if congestion builds unchecked or may never converge if a load-balancing mechanism stops functioning under back-to-back load.

Iterated collective testing measures what matters for training: sustained, steady-state collective performance and stability of that performance across iterations.

Without this, networks can appear performant in benchmarks while underperforming in real training.

Why iterative testing beats single-run tests

The fundamental problem with single-run tests is not measuring noise, but a mismatch between test semantics and training semantics.

How to test with iterations

we moved from one‑off collectives to iteration‑ and epoch‑level execution. That means being explicit about parameters that shape steady‑state behavior, not just peak throughput:

This setup lets us reason for stability, variance, and convergence, not just best‑case numbers.

compute time per step

Mapping to Training Epochs

A training step corresponds to one collective iteration in distributed training.

Each step consists of the following phases:

training steps

Therefore:

1 iteration = 1 distributed training step = 1 collective instance

1 epoch = M steps = M collective iterations

where M = dataset_size / global_batch_size

At the end of each epoch, two additional events occur:

As a result, cold‑start / congestion initialization is re‑triggered at the beginning of each new epoch, leading to a temporary drop in bus bandwidth (busbw) before performance recovers.

Experimental Results from a Real Testbed

With this setup in place, we now examine results from a real testbed to understand how these effects manifest under realistic training conditions.

All parameters are fixed across experiments unless explicitly stated; values are chosen to reflect realistic training workloads rather than to optimize peak performance.

experiment table

This result shows how the new traffic pattern drives congestion, with burst accumulation leading to sustained buffering—clearly visible as an ECN‑CE build‑up.

This indicates persistent queue buildup rather than isolated transient congestion, which directly affects collective tail latency.

bus bandwidth over time

By examining 100 iterations within a single epoch, start‑to‑start gaps reveal oscillations, exposing long‑tail latency at the per‑collective level—showing that individual collectives do not maintain perfectly stable performance.

burst gap between collectives

Importantly, this oscillation is visible within a single epoch, showing that even when average busbw is stable, individual collectives experience long-tail delays.

Scope and non-goals

This work focuses on testing methodology, not algorithm comparison. Congestion control, topology, and message size are intentionally fixed to isolate iteration and epoch semantics. Comparative evaluations across different CC or LB designs are deferred as future work.

Wrapping Up

What this study makes clear is that real training behavior only emerges over time. Looking at a single collective can show peak capability, but it hides the dynamics that matter in practice. Once we move to iterated execution and full epoch emulation, a very different picture appears—steady‑state convergence, congestion accumulation, ECN build‑up, and long‑tail latency at the level of individual collectives.

Epoch boundaries add another layer to this story. Checkpoint bursts and long data‑loading gaps reset network state, triggering brief performance drops followed by re‑convergence. These effects are short‑lived, but they happen repeatedly during training and shape the overall efficiency seen by users.

The takeaway is simple: designing and validating AI networks requires an epoch‑aware view, not just isolated microbenchmarks. Stability, variance, and convergence behavior are just as important as peak throughput when it comes to real‑world distributed training.

Peak throughput alone is not a sufficient metric for AI network validation; iteration-aware and epoch-aware behavior must be treated as first-class signals.

limit
3