Amdahl(阿姆达尔)定律
Amdahl(阿姆达尔)定律
Amdahl定律给出了加速比与系统并行度和处理器数量的关系
加速比:优化前的耗时与优化后耗时的比值。比值越高,表明优化效果越明显。
加速比=优化前系统耗时/优化后系统耗时
设加速比为Speedup,系统内必须串行化的程序比重为F,CPU处理器数量为N,则有:
\[Speedup\leq\frac{1}{F+\frac{1-F}{N}}
\]
根据这个公式,如果CPU处理器数量趋于无穷,那么加速比与系统的串行化率成反比。
\[Speedup\leq\frac{1}{F+\frac{1-F}{\infty}}
\]
\[Speedup\leq\frac{1}{F}
\]
如上推导可知:当F为0.5时,Speedup最大为2。也就是当系统中必须有50%的代码串行执行时,那么系统的最大加速比为2。
由此可见,为了提高系统的速度,仅增加CPU处理器的数量并不一定能起到有效的作用,需要从根本上修改程序的串行行为,提高系统内并行化的模块比重,在此基础上,合理增加并行处理器数量,才能以最小的投入,得到最大的加速比。
CPU数量越多,串行化比重越低,则优化效果越好
© 版权声明:本文为博主原创文章,转载请注明出处