-1

I have this problem where I don't really understand the mechanics of speedup.

I have a program that has 2 execution phases. The first phase takes 1 time unit and can only be executed sequentially. The second phase takes 3 time units to execute, but can be parallelized.

How do I calculate the maximum speedup that I can achieve? I'm not looking for the answer, but the formula I need to calculate it.

melpomene
  • 84,125
  • 8
  • 85
  • 148
Poll3XD
  • 1
  • 5

1 Answers1

0

I have tried to find an answer but I'm not sure if it's correct.

I use a formula that says:

Speedup = 1 / (sequentialPercentageTime - (parallelizablePercentageTime / Threads))

Where thread will be 3, in the case that the parallelizable part is perfectly parallelizable.

This means that:

Speedup = 1 / (0.25 + (0.75/3)) Speedup = 1 / (0.25 + 0.25) Speedup = 1 / 0.5 Speedup = 2

Does this make any sense?

Poll3XD
  • 1
  • 5