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
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.