• Amdahl’s law - Wikipedia
  • Amdahl’s Law demonstrates the theoretical maximum speedup of an overall system and the concept of diminishing returns.
  • If exactly 50% of the work can be parallelized, the best possible speedup is 2 times. If 95% of the work can be parallelized, the best possible speedup is 20 times. According to the law, even with an infinite number of processors, the speedup is constrained by the unparallelizable portion.

{\displaystyle {\text{Speedup}}{\text{overall}}={\frac {1}{(1-{\text{time}}{\text{optimized}})+{\frac {{\text{time}}{\text{optimized}}}{{\text{speedup}}{\text{optimized}}}}}}}

  • As an example, consider the case where a part of the system that initially consumed 60% of the time (time_opt = 0.6) is sped up by a factor of 3 (speedup_opt = 3). Then we get a speedup of 1/(0.4 + 0.6/3) = 1.67x.
  • Even though we made a substantial improvement to a major part of the system, our net speedup was significantly less than the speedup for the one part. This is the major insight of Amdahl’s law to significantly speed up the entire system, we must improve the speed of a very large fraction of the overall system.