Archiveperformance
Amdahl's Law and the Serial 5%
Parallelism helps until the serial fraction dominates. Most systems have more of it than the diagram suggests.
- Published
- Reading time
- 1 min read
Amdahl's law bounds speedup from parallelizing a fraction p of the work across n workers:
speedup(n) = 1 / ((1 - p) + p/n)
With 95% parallel work and infinite workers, the maximum speedup is 20×. The serial 5% becomes the entire runtime.
Where serial fractions hide
- A global lock around a counter or cache.
- A single database primary for writes.
- Coordination at the start and end of a batch job.
- Amdahl assumes fixed problem size; Gustafson's law covers scaled workloads, which is often more realistic.
Practical reading
If doubling workers gives 1.8×, that is fine. If it gives 1.1×, find the serialized resource before adding more machines. Profiling per-thread utilization reveals the bottleneck faster than guessing.
Takeaway: measure speedup as a curve, not a point. The flat part tells you which resource is serialized.