
Amdahl's Law and Gustafson's Law are two fundamental principles in parallel computing that offer distinct projections on speedup. Amdahl's Law assumes a fixed problem size and calculates the potential speedup based on the ratio of parallel and sequential tasks, independent of the number of processors. On the other hand, Gustafson's Law considers the scalability of the workload, assuming that the amount of work that can be parallelized increases linearly with the number of processors, thus providing a more optimistic projection. These laws provide valuable insights into optimizing parallel processing, with Amdahl's Law being applicable when the workload is fixed, and Gustafson's Law being relevant when the workload can be scaled proportionally with available resources.
| Characteristics | Values |
|---|---|
| Amdahl's Law | Used when the workload is fixed |
| Calculates the potential speedup with the assumption of a fixed workload | |
| Assumes the amount of work that can be parallelized is constant and independent of the number of processors | |
| Pessimistic | |
| Focuses on fixed problem size | |
| States that the maximum speedup is limited by the fraction of the program that cannot be parallelized | |
| Limits the speedup by the non-parallelizable fraction | |
| Emphasizes optimizing the serial portion | |
| Gustafson's Law | Applicable when the workload or problem size can be scaled proportionally with the available resources |
| Considers the scalability of the workload | |
| Assumes that the amount of work that can be parallelized grows linearly with the number of cores | |
| Practical for many scenarios | |
| Can be overly optimistic | |
| Focuses on variable problem size | |
| Emphasizes scaling up the workload | |
| Focuses on efficient utilization of parallel resources |
Explore related products
What You'll Learn
- Amdahl's Law assumes a fixed problem size, whereas Gustafson's Law considers variable problem size
- Amdahl's Law is independent of the number of processors, while Gustafson's Law is dependent on the number of processors
- Amdahl's Law is pessimistic about speedup, Gustafson's Law is optimistic
- Amdahl's Law is used when the non-parallelizable portion of a task is large, Gustafson's Law is used when the problem size can be scaled
- Amdahl's Law is about the maximum speedup, Gustafson's Law is about speedup trends

Amdahl's Law assumes a fixed problem size, whereas Gustafson's Law considers variable problem size
Amdahl's Law and Gustafson's Law are two fundamental principles in parallel computing that address the potential speedup achievable by parallelizing a program. They are based on different assumptions about the nature of the problem being solved, and as such, they are applicable in distinct scenarios.
Amdahl's Law assumes a fixed problem size, meaning that the amount of work that can be parallelized is constant and independent of the number of processors. In other words, it assumes that the parallelizable fraction remains unchanged, regardless of the number of cores employed. This makes Amdahl's Law very pessimistic, as it suggests that the speedup achievable is limited by the fraction of the program that cannot be parallelized. Amdahl's Law is particularly useful when the computation load is fixed and cannot be significantly altered by parallelization, or when the non-parallelizable portion of the task is relatively large.
On the other hand, Gustafson's Law considers a variable problem size. It assumes that the amount of work that can be parallelized grows linearly with the number of cores, making it more practical for many scenarios. However, this assumption can sometimes be overly optimistic, as real-world applications often encounter constraints that limit linear scalability. Gustafson's Law is applicable when the workload or problem size can be scaled proportionally with the available resources, allowing for larger problem sizes or workloads.
The difference in their assumptions leads to distinct predictions of speedup. For example, when applying Amdahl's Law to calculate the speedup when using 2 processing units instead of one, the result is different from the result calculated using Gustafson's Law. Amdahl's Law predicts a speedup of 1.6 with 4 processing units, while Gustafson's Law predicts a speedup of 2.5.
Despite their differences, a careful analysis reveals that Amdahl's Law and Gustafson's Law are mathematically equivalent. The discrepancy in their predictions arises from misunderstandings of the nature of both laws and the neglect of certain prerequisites when applying them.
Dialing 911: Understanding the 'Push 1' Law
You may want to see also
Explore related products
$35.55 $49.95

Amdahl's Law is independent of the number of processors, while Gustafson's Law is dependent on the number of processors
Amdahl's Law and Gustafson's Law are two principles in the world of parallel computing that have been used to optimise the performance of computers for decades. Amdahl's Law is named after Gene Myron Amdahl, an American computer scientist who focused on enhancing computer performance using different methods, including parallel processing. In 1967, Amdahl's Law was used as an argument against massively parallel processing.
Amdahl's Law assumes that the amount of work that can be parallelised is constant and independent of the number of processors. It is often used in parallel computing to predict the theoretical speedup when using multiple processors. The law states that the maximum improvement in speed of a process is limited by the proportion of the program that can be made parallel. In other words, it does not matter how many processors you have or how much faster each processor may be; the maximum improvement in speed will always be limited by the most significant bottleneck in a system. This pessimistic view led to much pessimism in the parallel processing community.
On the other hand, Gustafson's Law is named after computer scientist John L. Gustafson and his colleague Edwin H. Barsis. It was presented in 1988 as a modified perspective that addressed the shortcomings of Amdahl's Law. Gustafson's Law assumes that the amount of work that can be parallelised grows linearly with the number of cores. This perspective is undoubtedly practical for many scenarios, but it can sometimes be overly optimistic.
The key difference between the two laws is that Amdahl's Law is independent of the number of processors, while Gustafson's Law is dependent on the number of processors. This is because Amdahl's Law assumes a fixed workload, while Gustafson's Law assumes that the workload can be dynamically adjusted to match the available parallelisation.
Faraday's and Lenz's Law: Understanding the Key Differences
You may want to see also
Explore related products
$81.79 $94.95
$35.67 $44.99

Amdahl's Law is pessimistic about speedup, Gustafson's Law is optimistic
Amdahl's Law and Gustafson's Law are two fundamental principles in parallel computing that offer distinct projections on the potential speedup achievable by parallelizing a program. Amdahl's Law is considered pessimistic about speedup due to its assumption of a fixed problem size, implying that the speedup is limited by the fraction of the program that cannot be parallelised. In other words, Amdahl's Law posits that no matter how much one improves one part of a system, the overall performance improvement is bounded by the fraction of the system that remains unchanged. This assumption of a constant problem size led to its use as an argument against massively parallel processing in 1967.
On the other hand, Gustafson's Law is regarded as optimistic about speedup. It addresses the shortcomings of Amdahl's Law by proposing a variable problem size, suggesting that as computing resources increase, the problem size and workload can be scaled up to effectively utilise the available resources. This perspective allows for the solution of more significant problems through parallel computing, making it more efficient. The optimism of Gustafson's Law is reflected in its prediction of linear speedup growth with an increase in the number of cores, although this may be overly optimistic in practice due to constraints such as diminishing returns and complexities in parallel processing.
The difference in their projections can be observed when applying each law to the same task. For instance, when calculating the speedup when using two processing units instead of one for a task where 50% of the work is parallelisable, Amdahl's Law and Gustafson's Law yield different results. Amdahl's Law calculates a speedup of 1.6 with four processing units, while Gustafson's Law predicts a speedup of 2.5.
The contrasting perspectives of Amdahl's Law and Gustafson's Law complement each other and provide valuable insights into the complexities of parallel computing. While Amdahl's Law emphasises optimising the serial portion, Gustafson's Law focuses on scaling up the workload to fully utilise available resources. Despite their differences, a careful analysis reveals that these two laws are mathematically identical, with the discrepancy arising from misunderstandings of their nature and the misapplication of formulas.
Plagiarism and the Law: Constitutional Rights and Wrongs
You may want to see also
Explore related products

Amdahl's Law is used when the non-parallelizable portion of a task is large, Gustafson's Law is used when the problem size can be scaled
Amdahl's Law and Gustafson's Law are two fundamental principles in parallel computing that provide insights into the potential speedup achievable by parallelizing a program. Despite their differences, they are mathematically equivalent, and the apparent contradictions arise from misunderstandings of the nature of both laws.
Amdahl's Law, formulated by computer scientist Gene Amdahl, focuses on fixed problem sizes and is used when the non-parallelizable portion of a task is large. It assumes that the amount of work that can be parallelized remains constant, regardless of the number of processors employed. This law is useful when the computation load is fixed, and the number of processors is increased to improve performance. Amdahl's Law calculates the potential speedup with the assumption of a fixed workload and emphasizes optimizing the serial portion of the task.
On the other hand, Gustafson's Law, formulated by computer scientist John L. Gustafson, considers variable problem sizes and is used when the problem size can be scaled proportionally with the available resources. It assumes that the amount of work that can be parallelized grows linearly with the number of processors, making it practical for many scenarios. Gustafson's Law addresses the shortcomings of Amdahl's Law by recognizing that increasing the problem size and the number of processors can improve the workload utilization and overall performance. This law is particularly relevant when dealing with larger problem sizes or workloads, enabling the development of systems capable of handling more complex computations.
To illustrate the difference, consider a task where 50% of the work is parallelizable. When using Amdahl's Law to calculate the speedup with two processing units, the result differs from that obtained using Gustafson's Law. Amdahl's Law predicts a speedup of 1.6 with four processing units, while Gustafson's Law predicts a speedup of 2.5. This discrepancy arises from their contrasting perspectives on the nature of the problem and the utilization of resources.
In summary, Amdahl's Law is applied when the non-parallelizable portion of a task is significant, and the focus is on optimizing the serial portion. In contrast, Gustafson's Law is used when the problem size can be scaled, emphasizing the efficient utilization of parallel resources to maximize speedup.
Consideration: The Key to a Valid Contract
You may want to see also
Explore related products

Amdahl's Law is about the maximum speedup, Gustafson's Law is about speedup trends
Amdahl's Law is a principle that gives the theoretical speedup in the latency of the execution of a task at a fixed workload. It is often used in parallel computing to predict the theoretical speedup when using multiple processors. Amdahl's Law assumes that the amount of work that can be parallelized is constant and independent of the number of processors. In other words, the performance improvement of a system as a whole is limited by its bottlenecks.
Amdahl's Law can be formulated as:
> Speedupoverall = 1 / (1 - timeoptimized + (timeoptimized / speedupoptimized))
Where Timeoptimized represents the proportion of time spent on the portion of the code where improvements are made.
Amdahl's Law is about the maximum speedup because it provides a way to quantify the maximum potential speedup that can be achieved by parallelizing a program. It assumes that the portion of the program that cannot be parallelized is fixed, and helps to identify the portions of a program that are not easily parallelizable.
Gustafson's Law, on the other hand, is a counter to Amdahl's Law. It proposes that programmers tend to increase the size of problems to fully exploit the computing power that becomes available as resources improve. It assumes that the amount of work that can be parallelized grows linearly with the number of cores. In other words, it is the theoretical "slowdown" of an already parallelized task if running on a serial machine.
Gustafson's Law can be formulated as:
> Speedup = 10 - 5.4 = 4.6
Gustafson's Law is about speedup trends because it addresses the shortcomings of Amdahl's Law by proposing a modified perspective. It assumes that the computing requirements will change given increased processing power, and that more computing power will lead to more data being analyzed. This law is about the trends in speedup because it claims that most parallel processing applications increase the workload when having increased access to parallel processing.
The First Lawful Execution in America: Who Was It?
You may want to see also
Frequently asked questions
Amdahl's Law assumes a fixed problem size, and its speedup is limited by the non-parallelizable fraction of the problem. On the other hand, Gustafson's Law considers variable problem sizes and focuses on scaling up the workload to utilise available resources more efficiently.
Amdahl's Law calculates the speedup with the assumption of a fixed workload. It states that no matter how much one improves one part of a system, the improvement in overall performance is limited by the fraction of the system that cannot be improved.
Gustafson's Law considers the scalability of the workload. It states that as computing resources increase, the problem size and workload can be scaled up to make use of the available resources.
Amdahl's Law is applied when the workload is fixed, and the non-parallelizable portion is relatively large. Gustafson's Law is used when the workload or problem size can be scaled proportionally with the available resources, and when dealing with larger problem sizes or workloads.




























