A rule first formalised by Gene Amdahl in 1967, which states that if F is the fraction of a calculation that is serial and 1-F the fraction that can be parallelised, then the speedup that can be achieved using P processors is: 1/(F + (1-F)/P) which has a limiting value of 1/F for an infinite number of processors. This no matter how many processors are employed, if a calculation has a 10% serial component, the maximum speedup obtainable is 10.
A rule of computer-program scalability, first proposed by Gene Amdahl in 1967. It states that if is the fraction of a calculation that is inherently serial (ie. cannot be parallelised), and 1-s the fraction that is parallel then the maximum possible speedup on processors is limited by as speedup = limit( - infinity) 1 / {)/} speedup
A mathematical approximation (not really a law) stating the ideal speedup that should result when a program is executed in parallel: S( / )), where is the number of CPUs applied and is the fraction of the program code that can be executed by parallel threads. When is small (much of the program executes serially), S() is near 1.0, in other words, there is no speedup. When is near 1.0 (most of the program can be executed in parallel), S() is near 1/, in other words, linear speedup.
This states that even a small percentage of "serial" code (code which can't be parallelized) can cause the speed of a program not to increase a great deal...
A relationship stated by Gene Amdahl that states that potential program speedup is defined by the fraction of code (f) which can be parallelized: 1 speedup = -------- 1 - f
(Parallel Computers): Let F be the fraction of a program that is serial, and let 1-F be the fraction of that program which can be parallelized. If N is the number of parallel processors used by the program, then the speedup, S, attained in performance is given by: S = partial parallel speed/single processor speed = (F + (1-F)/N)-1.
Amdahl's law, named after computer architect Gene Amdahl, is used to find the maximum expected improvement to an overall system when only part of the system is improved. It is often used in parallel computing to predict the theoretical maximum speedup using multiple processors.