A Parallel Application Speedup Calculation

What is the speedup relative to a sequential execution on one of the machines? If we would like to double that speedup, how many CPUs would be required?

Speedup can be calculated using the following formula: Speedup = Sequential Part + Parallel Part / Parallel Part.

Speedup Calculation

Given: A parallel application running on 5 identical machines with a 10% sequential part.

Using the formula for speedup:

Sequential Part = 0.1, Parallel Part = 1 - 0.1 = 0.9

Speedup = 0.1 + 0.9 / 0.9 = 1.1

Therefore, the speedup relative to a sequential execution on one of the machines is 1.1.


Doubling the Speedup

To double the speedup, we need to find the parallel part required:

Using the formula for speedup and plugging in the new value:

2 = 0.1 + p / p => 2p = p + 0.1 => p = 0.1

Therefore, the parallel part needs to be 0.1 for the speedup to be doubled.


Number of CPUs Required

Now, we can use the formula for speedup to solve for the number of CPUs required:

2 = 0.1 + p / p => 2p = p + 0.1 => p = 0.1

Therefore, we need to have 10 CPUs to double the speedup.

← How to prevent catfishing a guide to protecting your personal information How to setup the sprint cycle for scrum teams →