Gene Amdahl showed that if a program is 95% parallelizable, the maximum theoretical speedup is 20x—no matter how many processors you add. The 5% sequential portion becomes the bottleneck.
Formula
`Speedup = 1 / (S + P/N)` where S = serial fraction, P = parallel fraction, N = processors.In Practice
- Identify and minimize serial bottlenecks before throwing hardware at the problem
- Database locks, I/O waits, and synchronization points are common serial bottlenecks
- Horizontal scaling has diminishing returns