Amdahls Law - Advanced Computer Architecture
Amdahls Law - Advanced Computer Architecture
AMDAHLS LAW
Amdahl's Law is a law governing the speedup of using parallel processors on a
problem, versus using only one serial processor. Before we examine Amdahl's Law,
we should gain a better understanding of what is meant by speedup.
Speedup:
The speed of a program is the time it takes the program to excecute. This could be
measured in any increment of time. Speedup is defined as the time it takes a program
to execute in serial (with one processor) divided by the time it takes to execute in
parallel (with many processors). The formula for speedup is:
T(1)
S = -------------
T(j)
Where T(j) is the time it takes to execute the program when using j processors.
Efficiency is the speedup, divided by the number of processors used. This is an
important factor to consider. Due to the cost of multiprocessor super computers, a
company wants to get the most bang for their dollar.
N
S = -----------------------
(B*N)+(1-B)
This formula is known as Amdahl's Law. The following is a quote from Gene Amdahl
in 1967:
For over a decade prophets have voiced the contention that the
organization of a single computer has reached its limits and that truly
significant advances can be made only by interconnection of a multiplicity
of computers in such a manner as to permit co-operative solution...The
nature of this overhead (in parallelism) appears to be sequential so that it
is unlikely to be amenable to parallel processing techniques. Overhead
alone would then place an upper limit on throughput of five to seven times
the sequential processing rate, even if the housekeeping were done in a
separate processor...At any point in time it is difficult to foresee how the
previous bottlenecks in a sequential computer will be effectively overcome.