What is Amdahl's Law?

Amdahl's Law is a fundamental principle in computer science that describes the theoretical maximum speedup achievable when improving part of a system. It demonstrates that the overall performance improvement is limited by the portion of the system that cannot be enhanced.

Consider this analogy: Three friends must travel to a party separately but arrive together to enter. One drives a car, another takes the bus, and the third walks. No matter how fast the car and bus arrive, they must wait for the slowest person (the walker). To improve overall arrival time, focus must be on helping the walker, not making the car faster.

Amdahl's Law Formula

The mathematical expression for Amdahl's Law is:

Speedup = 1 / ((1 - p) + (p / s))

Where:

  • Speedup = Maximum theoretical performance improvement

  • p = Fraction of the system that can be improved (0 ? p ? 1)

  • s = Speedup factor applied to the improvable portion

  • (1 - p) = Fraction that remains unimproved (the bottleneck)

Examples

Example 1: 30% Improvable Portion

If 30% of a system can be improved and that portion runs twice as fast:

p = 0.30, s = 2
Speedup = 1 / ((1 - 0.30) + (0.30 / 2))
        = 1 / (0.70 + 0.15)
        = 1 / 0.85
        = 1.18×

Example 2: 70% Improvable Portion

If 70% of a system can be improved with the same 2× speedup:

p = 0.70, s = 2
Speedup = 1 / ((1 - 0.70) + (0.70 / 2))
        = 1 / (0.30 + 0.35)
        = 1 / 0.65
        = 1.54×

Key Implications

Amdahl's Law: Speedup vs Parallelizable Fraction 1 2 3 4 5 0% 25% 50% 75% 100% Infinite cores 8 cores 4 cores Parallelizable Fraction (%) Speedup

  • Sequential bottleneck − The non-parallelizable portion (1-p) limits maximum speedup regardless of how many processors are added.

  • Diminishing returns − As more processors are added, the performance improvement becomes smaller.

  • Focus optimization − Greatest improvements come from optimizing the largest sequential portions first.

Applications in Parallel Computing

Amdahl's Law is crucial in multicore programming and parallel system design:

Application Parallelizable Portion Sequential Bottleneck
Signal Processing Frame processing (high) I/O operations
Plant Control Systems Controller tasks (medium) Sensor synchronization
Database Systems Query processing (variable) Transaction logging

Conclusion

Amdahl's Law reveals that system performance is fundamentally limited by sequential portions that cannot be parallelized. Understanding this principle helps developers identify bottlenecks and make informed decisions about where to invest optimization efforts for maximum impact.

Updated on: 2026-03-17T09:01:38+05:30

9K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements