Topology sets hop count, path diversity and wiring cost. Revisit it when endpoint count, floorplan distance or traffic mix moves beyond the original assumptions.
Bisection bandwidth bounds cross-partition traffic, nothing more. Locality decides how often that bound binds.
When workload composition, endpoint count or floorplan distance shifts materially beyond the signoff assumptions. Otherwise the original hop and wiring tradeoffs still hold.
The maximum traffic the topology can carry across its narrowest cut before severe congestion. It is a ceiling for cross-partition flows, not a performance prediction.
Link and bisection bandwidth from stated parameters
formula: link_BW = width_bytes x frequency; bisection_BW = cut_links x link_BW
example: 256-bit link at 2 GHz, 4-link bisection cut
result: 32 x 2.0e9 = 64 GB/s per link; 4 x 64 = 256 GB/s across the cutRouting deadlock is a cyclic channel dependency. Virtual channels break such cycles by giving blocked traffic an escape path, and they isolate traffic classes that must progress independently.
Virtual channels do not fix protocol-level deadlock by themselves. Request and response classes still need separate message classes or guaranteed sinks, or responses can block behind requests forever.
Topology, routing algorithm, virtual-channel count and allocation, credit return health, and whether request and response classes share buffers. Those five separate routing cycles from protocol and QoS starvation.
They break cyclic channel dependency and isolate classes with incompatible progress needs. They stop at protocol level: request-response deadlock needs separate classes, since more channels of one class cannot drain a dependent class.
Queues grow while neighboring links stay underused, because credit return lags behind data movement. The fix is in the credit loop, not in link bandwidth.
When congestion signals are stale or noisy, traffic oscillates between paths and amplifies instability. Deterministic routing wins under unpredictable or bursty load.
Symptom | Likely cause | First probe |
|---|---|---|
Progress halts on a traffic ring | Routing cycle | Channel dependency and escape VC |
Queues grow, links idle | Credit starvation | Credit return latency |
Latencies oscillate under load | Stale adaptive signals | Freeze to deterministic and compare |
QoS exists so latency-critical traffic survives bulk DMA. Fair arbitration is not enough, because equal shares still let a bulk flow queue behind its own bursts.
Tail latency is the QoS KPI. Averages hide starvation, while high-percentile latency exposes the class that loses arbitration repeatedly.
To stop best-effort bulk traffic from starving latency-critical coherent flows. Without classes and guarantees, one DMA burst sets every deadline.
Measure per-class SLA compliance under adversarial mixed workloads with reads, writes and multiple tenants. Single-class synthetics prove nothing about interference.
Sustained high-priority bursts starve lower classes and feed backpressure loops across the system. A starvation watchdog adds a bounded liveness guarantee on top.
Credit cover for bandwidth-delay product
formula: bytes_in_flight = bandwidth x round_trip_latency
example: 64 GB/s link, 20 ns credit round trip, 128-byte credits
result: 64e9 x 20e-9 = 1280 bytes in flight; 1280 / 128 = 10 credits minimumPer-class maximum wait age and grant-age skew across routers. Averages across classes hide the starving one by construction.