I was stuck when trying to calculate for the speedup. So the question given was:


Question 1

If 50% of a program is enhanced by 2 times and the rest 50% is enhanced by 4 times then what is the overall speedup due to the enhancements? Hints: Consider that the execution time of program in the machine before enhancement (without enhancement) is T. Then find the total execution time after the enhancements, T'. The speedup is T/T'.


The only thing I know is speedup = execution time before enhancement/execution time after enhancement. So can I assume the answer is:

Speedup = T/((50/100x1/2) + (50/100x1/4))

Total execution time after the enhancement = T + speedup

(50/100x1/2) because 50% was enhanced by 2 times and same goes to the 4 times.


Question 2

Let us hypothetically imagine that the execution of (2/3)rd of a program could be made to run infinitely fast by some kind of improvement/enhancement in the design of a processor. Then how many times the enhanced processor will run faster compared with the un-enhanced (original) machine?

Can I assume that it is 150 times faster as 100/(2/3) = 150

Any ideas? Thanks in advance.

1

1 Answer

Let's start with question 1.

The total time is the sum of the times for the two halves:

T = T1 + T2 

Then, T1 is enhanced by a factor of two. T2 is improved by a factor of 4:

T' = T1' + T2' = T1 / 2 + T2 / 4 

We know that both T1 and T2 are 50% of T. So:

T' = 0.5 * T / 2 + 0.5 * T / 4 = 1/4 * T + 1/8 * T = 3/8 * T 

The speed-up is

T / T' = T / (3/8 T) = 8/3 

Question two can be solved similarly:

T' = T1' + T2' 

T1' is reduced to 0. T2 is the remaining 1/3 of T.

T' = 1/3 T 

The speed-up is

T / T' = 3 

Hence, the program is three times as fast as before (or two times faster).

3

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy