It is named after computer scientist Gene Amdahl( a computer architect from IBM and Amdahl corporation), and was presented at the AFIPS Spring Joint Computer Conference in 1967. It is also known as Amdahl’s argument. It is a formula which gives the theoretical speedup in latency of the execution of a task at a fixed workload that can be expected of a system whose resources are improved. In other words, it is a formula used to find the maximum improvement possible by just improving a particular part of a system. It is often used in parallel computing to predict the theoretical speedup when using multiple processors.
Speedup is defined as the ratio of performance for the entire task using the enhancement and performance for the entire task without using the enhancement or speedup can be defined as the ratio of execution time for the entire task without using the enhancement and execution time for the entire task using the enhancement.
If Pe is the performance for entire task using the enhancement when possible, Pw is the performance for entire task without using the enhancement, Ew is the execution time for entire task without using the enhancement and Ee is the execution time for entire task using the enhancement when possible then,
Speedup = Pe/Pw
Speedup = Ew/Ee
Amdahl’s law uses two factors to find speedup from some enhancement –
Fraction enhanced is always less than 1.
Speedup Enhanced is always greater than 1.
The overall Speedup is the ratio of the execution time:-
Let Speedup be “S”, old execution time be “T”, new execution time be “T'”, execution time that is taken by portion A(that will be enhanced) is “t”, execution time that is taken by portion A(after enhancing) is “t'”, execution time that is taken by portion that wont be enhanced is “tn”, Fraction enhanced is “f'”, Speedup enhanced is “S'”.
Now from the above equation,
S = T/T’
T = tn + t
T’ = tn + t’
f’ = t/T
= t/(t + tn)
1 – f’ = 1 – (t/(t + tn))
= tn/(t + tn)
S’ = t/t’
t’ = t/s’
= (T * f’)/S’
= ((tn + t) * f’)/S’
t’/(tn + t) = f’/S’
S = T/T’
= (tn + t)/(tn + t’)
= 1/((tn + t’)/(tn + t’))
= 1/((tn/(tn + t)) + (t’/(tn + t))
S = 1/(1 – f’ + (f’/S’))
Overall Speedup = 1/(1 – fraction enhanced + ( fraction enhanced/Speedup enhanced ))
- Computer Organization | General Register based CPU Organization
- Computer Organization | Stack based CPU Organization
- Computer Organization | Basic Computer Instructions
- Computer Organization | Performance of Computer
- Computer Organization | RAM vs ROM
- Computer Organization | BUS Arbitration
- Computer Organization | MPU Communication
- Computer Organization | Von Neumann architecture
- Computer Organization | Memory Banking
- Computer Organization | RISC and CISC
- Computer Organization | Booth's Algorithm
- Computer Organization | Subprogram and its characteristics
- Computer Organization | Register Allocation
- Computer Organization | Micro-Operation
- Computer Organization | Different Instruction Cycles
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.