Gustafson's law

From Wikipedia, the free encyclopedia
  (Redirected from Gustafson's Law)
Jump to: navigation, search
Gustafson's Law

Gustafson's Law (also known as Gustafson-Barsis' law) is a law in computer science which says that problems with large, repetitive data sets can be efficiently parallelized. Gustafson's Law provides a counterpoint to Amdahl's law, which describes a limit on the speed-up that parallelization can provide. Gustafson's law was first described [1] by John L. Gustafson and his colleague Edwin H. Barsis:

S(P) = P - \alpha\cdot(P-1).

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 does not scale the availability of computing power as the number of machines increases. Gustafson's Law proposes that programmers set the size of problems to use the available equipment to solve problems within a practical fixed time. Therefore, if faster (more parallel) equipment is available, larger problems can be solved in the same time.

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 over P processors.

The impact of Gustafson's law was to shift[citation needed] research goals to select or reformulate problems so that solving a larger problem in the same amount of time would be possible. In particular the law redefines efficiency as a need to minimize the sequential part of a program, even if it increases the total amount of computation.

Contents

[edit] 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.

The relative time would be a(n) + p\cdot b(n), where p is the number of processors in the parallel case.

Speedup is therefore:

(a(n) + p\cdot{}b(n)) (parallel, relative to sequential a(n) + b(n) = 1)

and thus

S= a(n) + p\cdot{}(1-a(n))

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.

Amdahl'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 Gustafson's law results from the idea that the influence of the serial part grows with the number of processes.

[edit] 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.


[edit] Application in research

Amdahl's law presupposes that the computing requirements will stay the same, given increased processing power. In other words, an analysis of the same data will take less time given more computing power.

Gustafson, on the other hand, argues that more computing power will cause the data to be more carefully and fully analyzed: pixel by pixel or unit by unit, rather than on a larger scale. Where it would not have been possible or practical to simulate the impact of nuclear detonation on every building, car, and their contents (including furniture, structure strength, etc) because such a calculation would have taken more time than was available to provide an answer, the increase in computing power will prompt researchers to add more data to more fully simulate more variables, giving a more accurate result.

[edit] Application in everyday computer systems

An understanding of Amdahl's law would leave one expecting an increase in computer power to reduce the time it takes for a computer to boot to its operating system and be ready for use. Quadrupling computing power on a system that took one minute to load, assuming the process was parallel, would reduce the boot time to fifteen seconds.

Gustafson's law argues that a quadruple increase in computing power will lead to a similar increase in expectations of what the system will be capable of. If the one-minute load time is acceptable to most users, then that is a starting point from which to increase the features and functions of the system. The time taken to boot to the operating system will be the same, i.e. one minute, but the new system will include more graphical or user-friendly features.

[edit] 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[2] points out an O(N3) algorithm means that double the concurrency gives only about a 26% 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.

Hill and Marty[3] emphasize also that methods of speeding sequential execution are still needed, even for multicore machines. They point out that locally inefficient methods can be globally efficient when they reduce the sequential phase. Furthermore, Woo and Lee[4] studied the implication of energy and power on future many-core processors based on Amdahl's Law, showing that an asymmetric many-core processor can achieve the best possible energy efficiency by activating an optimal number of cores given the amount of parallelism is known prior to execution.

[edit] See also

[edit] References

  1. ^ Reevaluating Amdahl's Law, John L. Gustafson, Communications of the ACM 31(5), 1988. pp. 532-533. Also as a web page here
  2. ^ Type Architectures, Shared Memory, and The Corrolary of Modest Potential, Lawrence Snyder, Ann. Rev. Comput. Sci. 1986. 1:289-317.
  3. ^ Amdahl's Law in the Multicore Era, Mark D. Hill and Michael R. Marty, IEEE Computer, vol. 41, pp. 33–38, July 2008. Also UW CS-TR-2007-1593, April 2007.
  4. ^ Extending Amdahl's Law for Energy-Efficient Computing in the Many-Core Era, Dong Hyuk Woo and Hsien-Hsin S. Lee, IEEE Computer, vol. 41, No. 12, pp.24-31, December 2008.

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages