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数量越多,串行化比重越低,则优化效果越好

猜你喜欢

转载自www.cnblogs.com/jinjiyese153/p/12720913.html