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

1.3 Assume that a program requires 200s of execution time on one processor and 2

ID: 3788323 • Letter: 1

Question

1.3

Assume that a program requires 200s of execution time on one processor and 20% of the time is spent on executing branch instructions. When we run it on N processors, the execution time of non-branching instructions (parallelizable) per processor is 1/N of the original program. But the each processor still needs to execute the same number of branch instructions (not parallelizable). Also, there is an additional 20s of overhead, irrespective of the number of processors. Compute the per-processor execution time and speedup for 2 and 8 processors compared with the single-processor.

Explanation / Answer

let be the no of instruction is n.

execution time in single processor = n*200+20%of(200)=200n+40 s

execution time in 2 processor = n*200/2+20 s=100n+20 s

execution time in 8 processor = n*200/8+20 s=25n+20 s

for 2 processor system= (100n+20)/(200n+40)

for 8 processor system= (25n+20)/(200n+40)

---------

if n=100

execution time in single processor = 100*200+20%of(200)=20000+40 s =20040s

execution time in 2 processor = 100*200/2+20 s=10000n+20 s =10020s

execution time in 8 processor = 100*200/8+20 s=2500n+20 s =2520 s

for 2 processor system= 10020/20040=0.5

for 8 processor system= 2520/20040= .12

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote