Lably
Skip to content

Gustafson's law

Theoretical speedup formula in computer architecture

  • 5 min read
  • 4 chapters

Related on Lably

Through Execution (computing), Processor (computing) and Operating system

In contrast to Amdahl's law, which assumes a fixed problem size and yields pessimistic scaling, Gustafson's law assumes that problem sizes grow with available computing resources, allowing far greater effective speedup from parallel execution.

Definition

Gustafson estimated the speedup S of a program gained by using parallel computing as follows:

S=s+p×N=s+(1−s)×N=N+(1−N)×s=N−(N−1)×s

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:

S=(1−p)+p×N=1+(N−1)×p

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.

Sign in to keep reading

3 more chapters are free with a Lably account.

More in Computing and communication