05 / 06 · Balance bandwidth and computation

Required Bandwidth

Once programmed, how much bandwidth keeps one array computing instead of waiting?

Start with demand. An N × N float32 MVM consumes 4N input bytes and produces 4N output bytes. Divide by MVM time to budget continuous execution:

Bseparate4NTMVMB_{\text{separate}} \geq \frac{4N}{T_{\text{MVM}}} in each direction.

Bshared8NTMVMB_{\text{shared}} \geq \frac{8N}{T_{\text{MVM}}} in total.

For 256 × 256 and 100 cycles, that is 10.24 B/cycle each way, or 20.48 B/cycle shared.

These graphs describe ideal steady-state operation: weights are already programmed, work is continuously available, and input transfer, execution and output transfer overlap perfectly. They exclude startup, request latency and scheduling delays.

1. Does the array stay busy?

Utilization is the share of time computing. A curve at 75% means 75 computing cycles per 100 elapsed cycles in the ideal model. The curve reaches 100% when bandwidth can supply inputs and remove outputs as fast as the array computes.

Uideal, separate=min(1,BTMVM4N)U_{\text{ideal, separate}} = \min\left(1,\frac{BT_{\text{MVM}}}{4N}\right)

Uideal, shared=min(1,BTMVM8N)U_{\text{ideal, shared}} = \min\left(1,\frac{BT_{\text{MVM}}}{8N}\right)

These are steady-state capacity bounds with continuous work and perfect overlap. Equal displayed B gives separate links twice the total capacity.

2. Does faster compute finish more work?

Throughput counts completed MVMs. Keep array size fixed, then compare execution times at the same bandwidth. High utilization alone is not the objective: a slower array can look busier and still complete less work.

The useful bandwidth is near each curve’s plateau. Beyond it, more link capacity adds little completed work.

Bandwidth for continuous computation

The maximum rate is 1/TMVM1/T_{\text{MVM}}. The table gives the exact bandwidth where each ideal curve reaches that rate, rather than rounding up to a sampled setting.

Choose execution latency and delivery bandwidth together. A faster analog operation matters only if its inputs can arrive and its results can leave.

Utilization across array sizes and bandwidths