Part II · The future chip · Chapter 16 of 18

Calibration at scale

Thousands of units sharing one calibration controller: availability, start-up time and logic-heat storms, from Part I's loop scaled up.

A fleet of units sharing one calibration controllerpatentillustrative
Calibration fleet animation (loads when scrolled into view)
Each square is a unit. Failure rates are the simulator’s (experiment 15: Part I’s control loop with its tracking shared ⌈U/P⌉ ways, plus drift from logic heat); storms arrive at the logic’s busy/idle changes and knock out 0.0625 of the units each. Your browser runs the fleet as an event simulation with the simulator’s rules; its long-run average is tested against the simulator’s queueing result.
A1=11+λ TrecA_1 = \frac{1}{1 + \lambda\,T_{\text{rec}}}
pn+1=pn (U−n) λmin⁡(n+1,P) / Trec,in service=1−∑nn pnUp_{n+1} = p_n\,\frac{(U - n)\,\lambda}{\min(n + 1, P)\,/\,T_{\text{rec}}},\qquad \text{in service} = 1 - \frac{\sum_n n\,p_n}{U}

What this stage does

Every unit drifts like the module of chapter 6: its heaters wander, pilot tracking holds them, and when tracking loses a unit it stops and recalibrates. With thousands of units the question is whether one calibration controller can keep up. It can serve 4 illustrative units at a time by default; this chapter sweeps that parallelism P, the units U and the drift.

How it’s modelled

Two things change at scale. Tracking is shared: the controller dithers and reads pilots for P units at a time, so each unit gets P/U of the pilot updates it would get alone, which is Part I’s loop with its pilot period stretched ⌈U/P⌉ times. Logic heat adds 0.005 rad/√s illustrative of drift per heater. Running that loop gives each unit’s recalibration rate λ. Recalibrations queue: a failed unit waits for a free channel, then is out of service for 1 s (MEMS 0.75 s, non-volatile 50.5 s). The fleet is a machine-repair queue, solved exactly; a SimPy model adds fixed recalibration times and logic-heat storms.

It reduces to Part I. At U = 1 without logic heat, the queue model gives 0.6483 in service, and running the loop of chapter 6 directly at the same settings (0.1 rad/√s, 100,000 frames between pilots) gives an availability of 0.6483: the same number, as it must be.

What we found

Calibration scales if the controller does. With P = 4 the fleet keeps at least nine in ten units in service at every swept U up to 16,384 at the default drift (0.01 rad/√s illustrative), but falls below that from 4,096 units at three times the drift and from 1,024 at ten times. The collapse is sharp: once shared tracking is too thin, units fail faster than the controller can recalibrate them, and almost none are left in service. Raising P moves the cliff (from 256 units with P = 1 to 16,384 with the widest swept controller, P = 64, at the fastest drift).

Start-up takes time. Calibrating every unit once takes 4,096 s for 16,384 units with P = 4. Storms cost a tenth of the fleet. With hot logic, every busy/idle change (0.1 /s) knocks out a share of the units at once; at U = 64 and P = 1 the in-service fraction falls from 0.9821 to 0.8831.

Units in service vs U (drift 0.1 rad/√s)illustrativepatent
1101001,00010⁴10⁵00.20.40.60.81units Ufraction in servicecalibration-limited
Below the dashed line calibration, not compute, limits throughput.
Data table
Units in service vs U (drift 0.1 rad/√s)
units UP = 1P = 4P = 16P = 64
11111
41111
161111
640.975111
2560.0062840.987811
1,0240.00076110.0062840.98991
4,0960.00019980.00076110.0062840.99
16,3844.757 × 10⁻⁵0.00019980.00076110.006284
Units in service vs U (drift 0.03 rad/√s)illustrativepatent
1101001,00010⁴10⁵00.20.40.60.81units Ufraction in servicecalibration-limited
Data table
Units in service vs U (drift 0.03 rad/√s)
units UP = 1P = 4P = 16P = 64
11111
41111
161111
641111
2561111
1,0240.02566111
4,0960.0028730.0256611
16,3840.00051120.0028730.025661
Effective units U × in-service (drift 0.1)illustrative
1101001,00010⁴10⁵0.11101001,00010⁴units Uunits in service
Units actually doing work: past the cliff, adding units adds almost nothing.
Data table
Effective units U × in-service (drift 0.1)
units UP = 1P = 4P = 16P = 64
11111
44444
1616161616
6462.4646464
2561.609252.9256256
1,0240.77946.4351,0141,024
4,0960.81823.11825.744,055
16,3840.77943.27312.47103
Start-up calibration timeillustrative
1101001,00010⁴10⁵1101001,00010⁴10⁵units Utime (s)
Data table
Start-up calibration time
units UP = 1P = 4P = 16P = 64
11111
44111
1616411
64641641
25625664164
1,0241,0242566416
4,0964,0961,02425664
16,38416,3804,0961,024256

What would need measured data

The drift rates, recalibration time and logic-heat figures are Part I’s illustrative values or extensions of them; the failure rates come from a finite run of the loop (zero where none were seen). What would pin the cliff down: measured drift of many units on one die, under a real workload’s heat, how a real controller shares its dither and pilot measurements, and whether recalibrating one unit disturbs its neighbours (the model assumes not).