Model
Universal Scalability Law
Coordination grows as N² and eventually reduces throughput.
- Relative throughput
- the throughput compared with one worker, when using N workers
- Contention
- waiting for shared resources (Amdahl's term)
- Coherency
- cost of keeping N participants consistent with each other
- Peak
- beyond it, each new worker reduces throughput
How it behaves
One input on the horizontal axis, the others held fixed.
β = 0 (Amdahl: a ceiling)β = 0.0001 (a peak, then a fall)
Data table
| Workers N | series | Throughput C(N) (× one worker) |
|---|---|---|
| 1 | β = 0 (Amdahl: a ceiling) | 1× |
| 5.99 | β = 0 (Amdahl: a ceiling) | 5.21× |
| 11 | β = 0 (Amdahl: a ceiling) | 8.45× |
| 16 | β = 0 (Amdahl: a ceiling) | 11× |
| 20.9 | β = 0 (Amdahl: a ceiling) | 13.1× |
| 25.9 | β = 0 (Amdahl: a ceiling) | 14.8× |
| 30.9 | β = 0 (Amdahl: a ceiling) | 16.3× |
| 35.9 | β = 0 (Amdahl: a ceiling) | 17.5× |
| 40.9 | β = 0 (Amdahl: a ceiling) | 18.6× |
| 45.9 | β = 0 (Amdahl: a ceiling) | 19.6× |
| 50.9 | β = 0 (Amdahl: a ceiling) | 20.4× |
| 55.9 | β = 0 (Amdahl: a ceiling) | 21.1× |
| 60.9 | β = 0 (Amdahl: a ceiling) | 21.8× |
| 65.8 | β = 0 (Amdahl: a ceiling) | 22.4× |
| 70.8 | β = 0 (Amdahl: a ceiling) | 22.9× |
| 75.8 | β = 0 (Amdahl: a ceiling) | 23.4× |
| 80.8 | β = 0 (Amdahl: a ceiling) | 23.8× |
| 85.8 | β = 0 (Amdahl: a ceiling) | 24.2× |
| 90.8 | β = 0 (Amdahl: a ceiling) | 24.6× |
| 95.8 | β = 0 (Amdahl: a ceiling) | 24.9× |
| 101 | β = 0 (Amdahl: a ceiling) | 25.2× |
| 106 | β = 0 (Amdahl: a ceiling) | 25.5× |
| 111 | β = 0 (Amdahl: a ceiling) | 25.8× |
| 116 | β = 0 (Amdahl: a ceiling) | 26.1× |
| 121 | β = 0 (Amdahl: a ceiling) | 26.3× |
| 126 | β = 0 (Amdahl: a ceiling) | 26.5× |
| 131 | β = 0 (Amdahl: a ceiling) | 26.7× |
| 136 | β = 0 (Amdahl: a ceiling) | 26.9× |
| 141 | β = 0 (Amdahl: a ceiling) | 27.1× |
| 146 | β = 0 (Amdahl: a ceiling) | 27.3× |
| 151 | β = 0 (Amdahl: a ceiling) | 27.4× |
| 156 | β = 0 (Amdahl: a ceiling) | 27.6× |
| 161 | β = 0 (Amdahl: a ceiling) | 27.7× |
| 166 | β = 0 (Amdahl: a ceiling) | 27.9× |
| 171 | β = 0 (Amdahl: a ceiling) | 28× |
| 176 | β = 0 (Amdahl: a ceiling) | 28.1× |
| 181 | β = 0 (Amdahl: a ceiling) | 28.3× |
| 186 | β = 0 (Amdahl: a ceiling) | 28.4× |
| 191 | β = 0 (Amdahl: a ceiling) | 28.5× |
| 196 | β = 0 (Amdahl: a ceiling) | 28.6× |
| 201 | β = 0 (Amdahl: a ceiling) | 28.7× |
| 205 | β = 0 (Amdahl: a ceiling) | 28.8× |
| 210 | β = 0 (Amdahl: a ceiling) | 28.9× |
| 215 | β = 0 (Amdahl: a ceiling) | 29× |
| 220 | β = 0 (Amdahl: a ceiling) | 29.1× |
| 225 | β = 0 (Amdahl: a ceiling) | 29.2× |
| 230 | β = 0 (Amdahl: a ceiling) | 29.2× |
| 235 | β = 0 (Amdahl: a ceiling) | 29.3× |
| 240 | β = 0 (Amdahl: a ceiling) | 29.4× |
| 245 | β = 0 (Amdahl: a ceiling) | 29.5× |
| 250 | β = 0 (Amdahl: a ceiling) | 29.5× |
| 255 | β = 0 (Amdahl: a ceiling) | 29.6× |
| 260 | β = 0 (Amdahl: a ceiling) | 29.7× |
| 265 | β = 0 (Amdahl: a ceiling) | 29.7× |
| 270 | β = 0 (Amdahl: a ceiling) | 29.8× |
| 275 | β = 0 (Amdahl: a ceiling) | 29.8× |
| 280 | β = 0 (Amdahl: a ceiling) | 29.9× |
| 285 | β = 0 (Amdahl: a ceiling) | 29.9× |
| 290 | β = 0 (Amdahl: a ceiling) | 30× |
| 295 | β = 0 (Amdahl: a ceiling) | 30× |
| 300 | β = 0 (Amdahl: a ceiling) | 30.1× |
| 305 | β = 0 (Amdahl: a ceiling) | 30.1× |
| 310 | β = 0 (Amdahl: a ceiling) | 30.2× |
| 315 | β = 0 (Amdahl: a ceiling) | 30.2× |
| 320 | β = 0 (Amdahl: a ceiling) | 30.3× |
| 325 | β = 0 (Amdahl: a ceiling) | 30.3× |
| 330 | β = 0 (Amdahl: a ceiling) | 30.4× |
| 335 | β = 0 (Amdahl: a ceiling) | 30.4× |
| 340 | β = 0 (Amdahl: a ceiling) | 30.4× |
| 345 | β = 0 (Amdahl: a ceiling) | 30.5× |
| 350 | β = 0 (Amdahl: a ceiling) | 30.5× |
| 355 | β = 0 (Amdahl: a ceiling) | 30.6× |
| 360 | β = 0 (Amdahl: a ceiling) | 30.6× |
| 365 | β = 0 (Amdahl: a ceiling) | 30.6× |
| 370 | β = 0 (Amdahl: a ceiling) | 30.7× |
| 375 | β = 0 (Amdahl: a ceiling) | 30.7× |
| 380 | β = 0 (Amdahl: a ceiling) | 30.7× |
| 385 | β = 0 (Amdahl: a ceiling) | 30.8× |
| 390 | β = 0 (Amdahl: a ceiling) | 30.8× |
| 395 | β = 0 (Amdahl: a ceiling) | 30.8× |
| 400 | β = 0 (Amdahl: a ceiling) | 30.8× |
| 1 | β = 0.0001 (a peak, then a fall) | 1× |
| 5.99 | β = 0.0001 (a peak, then a fall) | 5.19× |
| 11 | β = 0.0001 (a peak, then a fall) | 8.38× |
| 16 | β = 0.0001 (a peak, then a fall) | 10.8× |
| 20.9 | β = 0.0001 (a peak, then a fall) | 12.8× |
| 25.9 | β = 0.0001 (a peak, then a fall) | 14.3× |
| 30.9 | β = 0.0001 (a peak, then a fall) | 15.5× |
| 35.9 | β = 0.0001 (a peak, then a fall) | 16.5× |
| 40.9 | β = 0.0001 (a peak, then a fall) | 17.3× |
| 45.9 | β = 0.0001 (a peak, then a fall) | 18× |
| 50.9 | β = 0.0001 (a peak, then a fall) | 18.5× |
| 55.9 | β = 0.0001 (a peak, then a fall) | 18.9× |
| 60.9 | β = 0.0001 (a peak, then a fall) | 19.3× |
| 65.8 | β = 0.0001 (a peak, then a fall) | 19.5× |
| 70.8 | β = 0.0001 (a peak, then a fall) | 19.7× |
| 75.8 | β = 0.0001 (a peak, then a fall) | 19.9× |
| 80.8 | β = 0.0001 (a peak, then a fall) | 20× |
| 85.8 | β = 0.0001 (a peak, then a fall) | 20.1× |
| 90.8 | β = 0.0001 (a peak, then a fall) | 20.1× |
| 95.8 | β = 0.0001 (a peak, then a fall) | 20.2× |
| 101 | β = 0.0001 (a peak, then a fall) | 20.2× |
| 106 | β = 0.0001 (a peak, then a fall) | 20.1× |
| 111 | β = 0.0001 (a peak, then a fall) | 20.1× |
| 116 | β = 0.0001 (a peak, then a fall) | 20.1× |
| 121 | β = 0.0001 (a peak, then a fall) | 20× |
| 126 | β = 0.0001 (a peak, then a fall) | 19.9× |
| 131 | β = 0.0001 (a peak, then a fall) | 19.8× |
| 136 | β = 0.0001 (a peak, then a fall) | 19.8× |
| 141 | β = 0.0001 (a peak, then a fall) | 19.7× |
| 146 | β = 0.0001 (a peak, then a fall) | 19.6× |
| 151 | β = 0.0001 (a peak, then a fall) | 19.5× |
| 156 | β = 0.0001 (a peak, then a fall) | 19.3× |
| 161 | β = 0.0001 (a peak, then a fall) | 19.2× |
| 166 | β = 0.0001 (a peak, then a fall) | 19.1× |
| 171 | β = 0.0001 (a peak, then a fall) | 19× |
| 176 | β = 0.0001 (a peak, then a fall) | 18.9× |
| 181 | β = 0.0001 (a peak, then a fall) | 18.8× |
| 186 | β = 0.0001 (a peak, then a fall) | 18.6× |
| 191 | β = 0.0001 (a peak, then a fall) | 18.5× |
| 196 | β = 0.0001 (a peak, then a fall) | 18.4× |
| 201 | β = 0.0001 (a peak, then a fall) | 18.3× |
| 205 | β = 0.0001 (a peak, then a fall) | 18.1× |
| 210 | β = 0.0001 (a peak, then a fall) | 18× |
| 215 | β = 0.0001 (a peak, then a fall) | 17.9× |
| 220 | β = 0.0001 (a peak, then a fall) | 17.7× |
| 225 | β = 0.0001 (a peak, then a fall) | 17.6× |
| 230 | β = 0.0001 (a peak, then a fall) | 17.5× |
| 235 | β = 0.0001 (a peak, then a fall) | 17.4× |
| 240 | β = 0.0001 (a peak, then a fall) | 17.2× |
| 245 | β = 0.0001 (a peak, then a fall) | 17.1× |
| 250 | β = 0.0001 (a peak, then a fall) | 17× |
| 255 | β = 0.0001 (a peak, then a fall) | 16.9× |
| 260 | β = 0.0001 (a peak, then a fall) | 16.8× |
| 265 | β = 0.0001 (a peak, then a fall) | 16.6× |
| 270 | β = 0.0001 (a peak, then a fall) | 16.5× |
| 275 | β = 0.0001 (a peak, then a fall) | 16.4× |
| 280 | β = 0.0001 (a peak, then a fall) | 16.3× |
| 285 | β = 0.0001 (a peak, then a fall) | 16.2× |
| 290 | β = 0.0001 (a peak, then a fall) | 16.1× |
| 295 | β = 0.0001 (a peak, then a fall) | 15.9× |
| 300 | β = 0.0001 (a peak, then a fall) | 15.8× |
| 305 | β = 0.0001 (a peak, then a fall) | 15.7× |
| 310 | β = 0.0001 (a peak, then a fall) | 15.6× |
| 315 | β = 0.0001 (a peak, then a fall) | 15.5× |
| 320 | β = 0.0001 (a peak, then a fall) | 15.4× |
| 325 | β = 0.0001 (a peak, then a fall) | 15.3× |
| 330 | β = 0.0001 (a peak, then a fall) | 15.2× |
| 335 | β = 0.0001 (a peak, then a fall) | 15.1× |
| 340 | β = 0.0001 (a peak, then a fall) | 15× |
| 345 | β = 0.0001 (a peak, then a fall) | 14.9× |
| 350 | β = 0.0001 (a peak, then a fall) | 14.8× |
| 355 | β = 0.0001 (a peak, then a fall) | 14.7× |
| 360 | β = 0.0001 (a peak, then a fall) | 14.6× |
| 365 | β = 0.0001 (a peak, then a fall) | 14.5× |
| 370 | β = 0.0001 (a peak, then a fall) | 14.4× |
| 375 | β = 0.0001 (a peak, then a fall) | 14.3× |
| 380 | β = 0.0001 (a peak, then a fall) | 14.2× |
| 385 | β = 0.0001 (a peak, then a fall) | 14.1× |
| 390 | β = 0.0001 (a peak, then a fall) | 14× |
| 395 | β = 0.0001 (a peak, then a fall) | 13.9× |
| 400 | β = 0.0001 (a peak, then a fall) | 13.8× |
Worked examples, recomputed
Every number the mechanisms quote for this relationship is recomputed from it, so none of them disagrees with it.
- α = 0.03, β = 0.0001, N = 10 → 7.8
- α = 0.03, β = 0.0001, N = 50 → 18.4
- α = 0.03, β = 0.0001, N = 100 → 20.2
- N* ≈ 98
Where it appears
Each mechanism states it in its own names. The general symbol each name stands for is shown with it.
- Physical Substrate & Performance Laws
Why do trade-offs exist at all?
- Core Data Structures
How do we choose a data structure when the real cost is set by the hardware, not by Big-O?