Question

In: Computer Science

Assume that 40% of a program is parallelizable. In 15% of the parallel portion, 200x speed...

Assume that 40% of a program is parallelizable. In 15% of the parallel portion, 200x speed up has achieved. And in the 25% of the parallel portion 300x speed up has achieved

What is the overall speed up for that program?
What is the overall speed up if we could achieve infinite speed up for 40% of the program?

Solutions

Expert Solution

In the question it is mentioned that 15% of the parallel portion, 200x speed up has achieved and in the 25% of the parallel portion 300x speed up has achieved. Which means the current execution time for those segments will decrease 200 times for 15% of the program and 300 times for 25% of the program.

According to the question 40% of the program supports parallel execution, which means that 40% of the total program can allow concurrent execution. Also, we can speed up 40% of the program.

Since there is nothing mentioned in the question, I will assume that each segment of the program takes uniform time to execute.

Let us assume that the current execution time of the entire program is 100 seconds.

For the 15% of the program, the execution time is 15 seconds.

After the speedup, the time taken to execute the 15% program segment is = (15/200) seconds = 0.075 seconds

For the 25% of the program, the execution time is 25 seconds.

After the speedup, the time taken to execute the 25% program segment is = (25/300) seconds = 0.083 seconds

For the 60% of the program which does not allow parallel processing, the execution time will remain same as 60 seconds.

So, the total time to execute the program is = (60+0.083+0.075) seconds = 60.15833 seconds

Total speed up for the program is = (100/60.15833) = 1.6622 times

2nd Part:

If it is possible to achieve infinite speed up for 40% of the program then the execution time required for 40% of the program segment will be close to zero, which is negligible.

So, the entire program execution time will be = (60+0) seconds = 60 seconds.

Total speed up for the program is = (100/60) = 1.667 times

Hope this helps.


Related Solutions

The figure shows an electron entering a parallel-plate capacitor with a speed of 6
The figure shows an electron entering a parallel-plate capacitor with a speed of 6
A 100mH inductance is connected in parallel with 40 ohms resistance . What is the power...
A 100mH inductance is connected in parallel with 40 ohms resistance . What is the power drawn voltage 220 v AC SOURCE and 60 hz. frequency
It is very common, for program managers to have a portion of their bonus linked to...
It is very common, for program managers to have a portion of their bonus linked to program sales and specifically, how monthly sales match up with target monthly sales goals. Your supervisor, the program manager has explained to you the bonus calculation and has asked for your help. This months sales were amazing and your supervisor has asked you on the last day of the month to hold off entering your last 2 sales until the next day to "push"...
1.Assume the following information: Amount Per Unit Sales $ 300,000 $ 40 Variable expenses 112,500 15...
1.Assume the following information: Amount Per Unit Sales $ 300,000 $ 40 Variable expenses 112,500 15 Contribution margin 187,500 $ 25 Fixed expenses 52,000 Net operating income $ 135,500 The unit sales to attain a target profit of $183,000 is: 9,400 units. 11,092 units. 9,582 units. 15,667 units. 2.Assume a company’s direct labor budget for July estimates 10,000 labor-hours to meet the month’s production requirements. The variable manufacturing overhead rate used for budgeting purposes is $2.50 per direct labor-hour. The...
Assume a trapezoidal speed time curve and derive an expression for the maximum speed.
Assume a trapezoidal speed time curve and derive an expression for the maximum speed.
word level palindrome program with stacks and queues I have a good portion of my program...
word level palindrome program with stacks and queues I have a good portion of my program finished, I am just trying to figure out how to do some final things to it. I want the program to only check for letters a through z and A = Z, treating uppercase and lower case as the same thing. I want it to ignore any other characters and to just realize word level palindromes, not sentence level, so for example a%345b@a c24&c8d)9cc...
The water in a river flows uniformly at a constant speed of 2.93 m/s between parallel...
The water in a river flows uniformly at a constant speed of 2.93 m/s between parallel banks 90.3 m apart. You are to deliver a package directly across the river, but you can swim only at 1.25 m/s. (a) If you choose to minimize the time you spend in the water, in what direction should you head? (b) How far downstream will you be carried? (c) If you choose to minimize the distance downstream that the river carries you, in...
. Car A is moving east at a speed of 40 mph relative to the ground....
. Car A is moving east at a speed of 40 mph relative to the ground. a) Car B is moving west at 50 mph relative to the ground. What is the relative velocity (speed and direction) of car B as seen by an observer in car A? Of car A as seen by an observer in car B? b) Answer the same questions if car B is moving east at 30 mph relative to the ground.
Create a Linked List and conduct the following operations. Portion of the program is given. The...
Create a Linked List and conduct the following operations. Portion of the program is given. The operations are: Add an “H” to the list Add an “I” to the list Add 100 to the list Print the content of the list and its size Add a “H” to the first place of the list Add a “R” to the last place of the list Get the element of position 3 and print it Get the last element and print it...
For this portion of Lab #2, write a program that prompts the user to enter ten...
For this portion of Lab #2, write a program that prompts the user to enter ten integer values between 1 and 100, determines the smallest and largest values entered by the user as well as the average of all the numbers entered by the user (expressed as a floating-point number), and then prints the smallest number, the largest number, and the average. Print each of these values with descriptive labels. Your program output should resemble the following (the user's input...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT