Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

 When a program is adapted to run on multiple processors in a multiprocessor system, the

execution time on each processor is comprised of computing time and the overhead time

required for locked critical sections and/or to send data from one processor to another. Assume

a program requires t = 100 s of execution time on one processor. When run p processors, each

processor requires t/p s, as well as an additional 4 s of overhead, irrespective of the number of

processors. Compute the per-processor execution time for 2, 4, 8, 16, 32, 64, and 128

processors. For each case, list the corresponding speedup relative to a single processor and the

ratio between actual speedup versus ideal speedup (speedup if there was no overhead).

Number Execution Time of Corresponding Ideal Speedup Ratio between

of Program Speedup Relative without Actual Speedup

Processors to Single Processor Overhead versus Ideal

Speedup

2 (100 / 2) + 4 = 54 s 100 / 54 = 1.85 100 / 50 = 2 1.85 / 2 = 0.925

4 (100 / 4) + 4 = 29 s 100 / 29 = 3.45 100 / 25 = 4 3.45 / 4 = 0.8625

8 (100 / 8) + 4 = 16.5 s 100 / 16.5 = 6.06 100 / 12.5 = 8 6.06 / 8 = 0.7575

16 (100 / 16) + 4 = 100 / 10.25 = 9.76 100 / 6.25 = 9.76 / 16 = 0.61

10.25 s 16

32 (100 / 32) + 4 = 100 / 7.125 = 100 / 3.125 = 14.04 / 32 =

7.125 s 14.04 32 0.43875

64 (100 / 64) + 4 = 100 / 5.5425 = 100 / 1.5625 = 18.04 / 64 =

5.5425 s 18.04 64 0.281875

128 (100 / 128) + 4 = 100 / 4.78125 = 100 / 0.78125 20.92 / 128 =

4.78125 s 20.92 = 128 0.1634375

You might also like