Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Assume we have a process that takes T units of time total. i. If we split it int

ID: 3548102 • Letter: A

Question

Assume we have a process that takes T units of time total.

i. If we split it into threads evenly, assume each thread will require S units of time in overhead where S is a fixed number. Suppose we split the process into N threads. How much of a speedup will we get if the processes execute simultaneously on different processors, as a function of N?

ii. Now assume each thread will require k*N units of time in overhead if we split the process into N threads. What is the speedup if the processes executes simultaneously on different processors, as a function of N?

iii. For part (ii) estimate the value of N in terms of T and k that gives the maximum speedup.

Explanation / Answer


(i)


we can speed up the process by T/NS , because T is total units of time and S is overhead and there are N threads. So the answer is T/NS


(ii) In the similar fashion, speed up = T/(kN)*N = T / kN^2