Question: Consider a program running on 1 processor which takes 1000 seconds to execute, broken into 5 phases: A, B, C, D and E. Without any

Consider a program running on 1 processor which takes 1000 seconds to execute, broken into 5 phases: A, B, C, D and E. Without any optimizations, each phase takes one-fifth of the total execution time. (a) Mario hits one of the hidden bricks and he find a mushroom which gives him power to improve Phase A and B each by a factor of 2 and Phase C, D and E each by a factor of 3. What is the new Execution time after Mario had the mushroom? What would be the speedup after Mario had the mushroom? (b) Starting with the original execution times (without finding the mushroom in Part (a)), suppose that Phase A and B are both 60% parallelizable, and Phases C, D and E are each 40% parallelizable. Assuming that there are 100 processors, and zero overhead from parallelization, what is the maximum speedup that can be obtained? What is the speed up achieved (w.r.t to the initial) if we had 500 processors instead of 100? Based on this program alone, does the speedup increase warrant the additional 400 processors(Answer the question to 3 decimal digits)? Speedup with 100 Processors Speedup with 500 Processors = Does the Speed up increase warrant the addition 400 Processors (Circle your selection)? Yes No Consider a program running on 1 processor which takes 1000 seconds to execute, broken into 5 phases: A, B, C, D and E. Without any optimizations, each phase takes one-fifth of the total execution time. (a) Mario hits one of the hidden bricks and he find a mushroom which gives him power to improve Phase A and B each by a factor of 2 and Phase C, D and E each by a factor of 3. What is the new Execution time after Mario had the mushroom? What would be the speedup after Mario had the mushroom? (b) Starting with the original execution times (without finding the mushroom in Part (a)), suppose that Phase A and B are both 60% parallelizable, and Phases C, D and E are each 40% parallelizable. Assuming that there are 100 processors, and zero overhead from parallelization, what is the maximum speedup that can be obtained? What is the speed up achieved (w.r.t to the initial) if we had 500 processors instead of 100? Based on this program alone, does the speedup increase warrant the additional 400 processors(Answer the question to 3 decimal digits)? Speedup with 100 Processors Speedup with 500 Processors = Does the Speed up increase warrant the addition 400 Processors (Circle your selection)? Yes No
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
