Amdahl's Law
Explore Amdahl's Law to understand the theoretical limits of speedup when parallelizing programs. This lesson explains how serial code restricts performance gains from adding processors and illustrates processor utilization during parallel execution.
We'll cover the following...
Amdahl’s Law
No text on concurrency is complete without mentioning Amdahl’s Law. The law specifies the cap on the maximum speedup that can be achieved when parallelizing the execution of a program.
If you have a poultry farm where a hundred hens lay eggs each day, then no matter how many people you hire to process the laid eggs, you still need to wait an entire day for the 100 eggs to be laid. Increasing the number of workers on the farm can’t shorten the time it takes for a hen to lay an egg. Similarly, software programs consist of parts which can’t be sped up even if the number of processors is increased. These parts of the program must execute serially and aren’t amenable to parallelism.
Amdahl’s law describes the theoretical speedup a program can achieve at best by using additional computing resources. We’ll skip the mathematical derivation and go straight to the simplified equation ...