CodingBox Documentation

InfiniBand fabric essentials

An InfiniBand fabric behaves differently from an Ethernet network in ways that matter when you diagnose a link. This page covers the concepts an optics engineer meets: the subnet manager, lossless flow control, topologies and how a bad link shows up.

The subnet manager

Every IB subnet has one active Subnet Manager (SM). It discovers all ports and switches, assigns local identifiers (LIDs), computes forwarding tables and programs them into every switch. When a link flaps, the SM re-sweeps the fabric — so a marginal optic does not just lose one link, it triggers fabric-wide re-routing events that everyone notices.

Lossless by credits

IB links never drop packets in normal operation: a sender transmits only when the receiver has advertised buffer credits. Congestion therefore back-pressures rather than discards, and a degraded link (rising symbol errors, FEC corrections) slows the whole job that depends on it — the "one slow link" problem in collective operations.

Topologies

  • Fat-tree (Clos) — the standard: leaf switches connect hosts, spine switches

connect leaves, with enough uplinks to be non-blocking. Most links are leaf–spine optics.

  • Dragonfly+ and torus variants appear in the largest systems to save switches and

cables.

  • Rail-optimised designs for AI place each GPU's NIC on a separate "rail" of the

fabric so GPUs with the same rank across servers are one hop apart — see GPU fabric topologies.

RDMA and GPUDirect

Applications use RDMA verbs to move data between node memories without CPU copies; GPUDirect RDMA extends this to GPU memory. The result is that a fabric fault is visible to applications as a stall or a timeout in a collective, often long before an operator sees a down port.

Symptom in the fabricPhysical-layer cause to check
Rising symbol errors / FEC corrected blocks on one portdirty MPO, marginal Rx power, degrading lane
Link stuck at a lower width or speedFEC mismatch, module not advertising the expected rate
Port "Not supported", no linkunrecognised module identity — vendor lock
Repeated SM sweepsa flapping link somewhere — find it by per-port error counters

Follow the usual diagnostic ladder: levels → clean → swap → cable.

In CodingBox

Read a suspect IB module on the bench: per-lane Rx/Tx and bias on the DDM screen show whether one lane of an SR4/DR4 module is dying, and the identity fields show whether the fabric will accept a replacement.