Amdahl’s Law

Suppose a task has unit of work to do. part of it can be done in parallel by workers and the remaining is to be done sequentially.

Define speedup as the ratio of time taken by a task done sequentially vs done parallelly.

In this case, the maximum speedup we can get is

Example

90% of the task can be paralellised, we have 10 workers. Then speedup will be 1/(0.1 + 0.9/10) ≈ 5! We get a 5X speedup even with 10 workers!

The part that can’t be paralellised significantly affects the speedup we get.