Suppose a computer program has a method that cannot be parallelized and the method accounts for 40% of the programs execution time. What is the limit on the overall speedup that can be achieved on an 10-processor machine? Is there a limit if we can use as many processors as we want.
Q-> Suppose a computer program has a method that cannot be parallelized and the method accounts for 40% of the programs execution time.
Given:
n = no of processors = 10
p = fraction of parallel code = 60% = 0.6
.
a) What is the limit on the overall speedup that can be achieved on an 10-processor machine?
speedup = 1/(1-p + p/n) = 1/ (0.4 + 0.6/10) = 2.173
So, speedup when using 10 processors is around 2.2
.
b) Is there a limit if we can use as many processors as we want.
Yes, this limit is calculated using amdahl's law:
speedup = 1/(1-p) = 1 / 0.4 = 2.5
So, maximum speedup of 2.5 can be achieved even if infinite processors are used.
Get Answers For Free
Most questions answered within 1 hours.