Gustafson's Law (also known as Gustafson-Barsis' law) is a law in computer science which states that any sufficiently large problem can be efficiently parallelized. Gustafson's Law is closely related to Amdahl's law, which gives a limit to the degree to which a program can be sped up due to parallelization. It was first described by John L. Gustafson in 1988.
.
where P is the number of processors, S is the speedup, and α the non-parallelizable part of the process.
Gustafson's law addresses the shortcomings of Amdahl's law, which cannot scale to match availability of computing power as the machine size increases. It removes the fixed problem size or fixed computation load on the parallel processors: instead, he proposed a fixed time concept which leads to scaled speed up for larger problem sizes.
Amdahl's law is based on fixed workload or fixed problem size. It implies that the sequential part of a program does not change with respect to machine size (i.e, the number of processors). However the parallel part is evenly distributed by n processors.
The impact of the law was the shift in research to focus on problems for which solving a problem of a larger size in the same amount of time would be considered desirable.
Contents |
Implementation of Gustafson's Law
Let n be a measure of the problem size.
The execution of the program on a parallel computer is decomposed into:
- a(n) + b(n) = 1
where a is the sequential fraction and b is the parallel fraction, ignoring overhead for now.
On a sequential computer, the relative time would be
, where p is the number of processors in the parallel case.
Speedup is therefore:
(parallel, relative to sequential a(n) + b(n) = 1)
and thus
where a(n) is the serial function.
Assuming the serial function a(n) diminishes with problem size n, then speedup approaches p as n approaches infinity, as desired.
Thus Gustafson's law seems to rescue parallel processing from Amdahl's law.
Gustafson's law argues that even using massively parallel computer systems does not influence the serial part and regards this part as a constant one. In comparison to that, the hypothesis of Amdahl's law results from the idea that the influence of the serial part grows with the number of processes.
A Driving Metaphor
Amdahl's Law approximately suggests:
| “ | Suppose a car is traveling between two cities 60 miles apart, and has already spent one hour traveling half the distance at 30 mph. No matter how fast you drive the last half, it is impossible to achieve 90 mph average before reaching the second city. Since it has already taken you 1 hour and you only have a distance of 60 miles total; going infinitely fast you would only achieve 60 mph. | ” |
Gustafson's Law approximately states:
| “ | Suppose a car has already been traveling for some time at less than 90mph. Given enough time and distance to travel, the car's average speed can always eventually reach 90mph, no matter how long or how slowly it has already traveled. For example, if the car spent one hour at 30 mph, it could achieve this by driving at 120 mph for two additional hours, or at 150 mph for an hour, and so on. | ” |
Limitations
Some problems do not have fundamentally larger datasets. As example, processing one data point per world citizen gets larger at only a few percent per year. The principal point of Gustafson's law is that such problems are not likely to be the most fruitful applications of parallelism.
Nonlinear algorithms may make it hard to take advantage of parallelism "exposed" by Gustafson's law. Snyder[citation needed] points out an O(N3) algorithm means that double the concurrency gives only about a 9% increase in problem size. Thus, while it may be possible to occupy vast concurrency, doing so may bring little advantage over the original, less concurrent solution—however in practice there have been massive improvements.
See also
External links
- Reevaluating Amdahl's Law - the paper in which John Gustafson first described his Law. Originally published in Communications of the ACM 31(5), 1988. pp. 532-533
- [1] -- Lawrence Snyder, "Type Architectures, Shared Memory, and The Corrolary of Modest Potential"
References
- Gustafson, J.L., Reevaluating Amdahl's Law, CACM, 31(5), 1988. pp. 532-533
- M. Hill and M. Marty, “Amdahl’s law in the multicore era,” Computer, vol. 41, pp. 33–38, July 2008.
- Shi, Yuan, "Reevaluating Amdahl's Law and Gustafson's Law," October 1996. http://www.cis.temple.edu/~shi/docs/amdahl/amdahl.html. Unpublished monograph.
|
||||||||||||||||||||||||||||||||
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)





