Amdahl's Law
I don't really have a good handle on how to use this information to predict what adding another CPU will do.. but it is interesting to think about. In a perfect world, a computational job that is split up among N processors would complete in 1/N time, leading to an N-fold increase in power. However, any given piece of parallelized work to be done will contain parts of the work that must be done serially. The serial parts do not run any faster on a parallel collection of processors (and might even run more slowly). Only the part that can be parallelized runs as much as N-fold faster. This concept is expressed in Amdahl's law.
So the formula could be expressed like this:
T = (1-P) + P/N where
| P | Fraction of parallelism |
| N | Number of Processors |
| T | Time |
If you plug this into excel at 95% parallelism you get this:
| Num Processors | Execution Time | Speed Up | Efficiency |
| N | T=.05 + .95/N | 1/T | 1/T/N |
| 1 | 1.00 | 1.00 | 100.00% |
| 2 | 0.53 | 1.90 | 95.24% |
| 3 | 0.37 | 2.73 | 90.91% |
| 4 | 0.29 | 3.48 | 86.96% |
| 5 | 0.24 | 4.17 | 83.33% |
| 6 | 0.21 | 4.80 | 80.00% |
| 7 | 0.19 | 5.38 | 76.92% |
| 8 | 0.17 | 5.93 | 74.07% |
| 9 | 0.16 | 6.43 | 71.43% |
| 10 | 0.15 | 6.90 | 68.97% |
| 11 | 0.14 | 7.33 | 66.67% |
| 12 | 0.13 | 7.74 | 64.52% |
| 13 | 0.12 | 8.13 | 62.50% |
| 14 | 0.12 | 8.48 | 60.61% |
| 15 | 0.11 | 8.82 | 58.82% |
| 16 | 0.11 | 9.14 | 57.14% |
| 17 | 0.11 | 9.44 | 55.56% |
| 18 | 0.10 | 9.73 | 54.05% |
| 19 | 0.10 | 10.00 | 52.63% |
| 20 | 0.10 | 10.26 | 51.28% |
- Printer-friendly version
- Login or register to post comments
- 2452 reads
