MarketGustafson's law
Company Profile

Gustafson's law

In computer architecture, Gustafson's law gives the speedup in the execution time of a task that theoretically gains from parallel computing, using a hypothetical run of the task on a single-core processor as the baseline. To put it another way, it is the theoretical slowdown of an already parallelized task if running on a serial processor. The law is named after computer scientist John L. Gustafson and his colleague Edwin H. Barsis, and was presented in the article Reevaluating Amdahl's Law in 1988.

Definition
Gustafson estimated the speedup S of a program gained by using parallel computing as follows: \begin{align} S &= s + p \times N \\ &= s + (1 - s) \times N \\ &= N + (1 - N) \times s \\ &= N - (N - 1) \times s \end{align} where • S is the theoretical speedup of the program with parallelism (scaled speedup); • N is the number of processors; • s and p are the fractions of time spent executing the serial parts and the parallel parts of the program, respectively, on the parallel system, where s + p = 1. Alternatively, S can be expressed using p: \begin{align} S &= (1 - p) + p \times N \\ &= 1 + (N - 1) \times p \end{align} Gustafson's law addresses the shortcomings of Amdahl's law, which is based on the assumption of a fixed problem size, that is, of an execution workload that does not change with growing resources. Gustafson's law instead proposes that programmers tend to increase the size of problems to fully exploit the computing power that becomes available as resources grow. Gustafson and his colleagues further observed from their workloads that time for the serial part typically does not grow as the problem and the system scale, that is, s is fixed. This gives a linear model between the processor count N and the speedup S with slope 1 - s, as shown in the figure above (which uses different notations: P for N and a for s). Also, S scales linearly with s rather than exponentially in Amdahl's Law. With these observations, Gustafson "expect[ed] to extend [their] success [on parallel computing] to a broader range of applications and even larger values for N". The impact of Gustafson's law was to shift research goals to select or reformulate problems so that solving a larger problem in the same amount of time would be possible. In a way, the law redefines efficiency, due to the possibility that limits imposed by the sequential part of a program may be countered by increasing the total amount of computing. ==Derivation==
Derivation
The execution time of a program running on a parallel system can be split into two parts: • a part that does not benefit from the increasing number of processors (serial part); • a part that benefits from the increasing number of processors (parallel part). Example – A computer program that processes files from disk. A part of that program may scan the directory of the disk and create a list of files internally in memory. After that, another part of the program passes each file to a separate thread for processing. The part that scans the directory and creates the file list cannot be sped up on a parallel computer, but the part that processes the files can. Without loss of generality, let the total execution time on the parallel system be T = 1. Denote the serial time as s and the parallel time as p, where s + p = 1. Denote the number of processors as N. Hypothetically, when running the program on a serial system (only one processor), the serial part still takes s, while the parallel part now takes Np. The execution time on the serial system is: T' = s + Np Using T' as the baseline, the speedup for the parallel system is: S = \frac{T'}{T} = \frac{s + Np}{s + p} = \frac{s + Np}{1} = s + Np By substituting p = 1 - s or s = 1 - p, several forms in the previous section can be derived. ==Uses==
Uses
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. In contrast, Gustafson 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. In everyday computer systems Amdahl's Law reveals a limit in, for example, the ability of multiple cores to reduce the time it takes for a computer to boot to its operating system and be ready to use. Assuming the boot process is mostly parallel, quadrupling computing power on a system that took one minute to load might reduce the boot time to just over fifteen seconds. But ever greater parallelizing will eventually fail to speed up booting, if any part of the boot process is inherently sequential. Gustafson's law argues that a fourfold increase in computing power would instead lead to a similar increase in expectations for system abilities. If a one-minute load time is acceptable to most users, then that is a starting point from which to increase the features and functions of a system. The time taken to boot to the operating system will be the same, i.e., one minute, but the new system would include more graphical or user-friendly features. ==Limits==
Limits
Some problems do not have fundamentally larger datasets. As an example, processing one data point per world citizen gets larger at only a few percent per year. A key point of Gustafson's law is that such problems are not likely to be the most fruitful uses of parallelism. Algorithms with nonlinear runtimes may find it hard to take advantage of parallelism "exposed" by Gustafson's law. Snyder points out an O(N^3) 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 still been considerable improvements. Hill and Marty 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 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. Al-hayanni, Rafiev et al have developed novel speedup and energy consumption models based on a general representation of core heterogeneity, referred to as the normal form heterogeneity, that support a wide range of heterogeneous many-core architectures. These modelling methods aim to predict system power efficiency and performance ranges, and facilitates research and development at the hardware and system software levels. ==See also==
tickerdossier.comtickerdossier.substack.com