Formula and interpretation
Before we get into the formula for Amdahl's Law and its implications, let's explore the concept of speedup, through some brief analysis. Let's assume that there are N workers working on a given job that is fully parallelizable—that is, the job can be perfectly divided into N equal sections. This means that N workers working together to complete the job will only take 1/N of the time it takes one worker to complete the same job.
However, most computer programs are not 100% parallelizable: some parts of a program might be inherently sequential, while others are broken up into parallel tasks.
The formula for Amdahl's Law
Now, let B denote the fraction of the program that is strictly serial, and consider the following:
- B * T(1) is the time it takes to execute the parts of the program that are inherently sequential.
- T(1) - B * T(1) = (1 - B) * T(1) is the time it takes to execute the parts of the program that are parallelizable, with one processor:
- Then, (1 - B) * T(1) ...