Amdahl定律
例:设改进前系统执行时间为3s,改进后系统执行时间为2s
则:加速比=3/2
即计算机改进后比改进前快了1.5倍
Amdahl定律影响因素
公式推导
-
可改进的系统比例为
fe
,则不可改进的部分比例为(1-fe) -
不可改进的部分耗时为T0 * (1- fe)
-
设改进后部件耗时为T,则 (T0*fe)/T = re [可改进部分耗时/可改进部分改进后耗时=部件加速比]
-
则改进后总体耗时:Tn = T0 * (1 - fe) + (T0 * fe) / re = T0* (1 - fe + fe / re )
-
则整体加速比:Sp = T0 / T0* (1 - fe + fe / re ) = 1 / (1 - fe + fe / re)
-
多部件情况下多可改进部分比例相加即可
讨论
- 解释:fe确定则表示fe为常量,及lim re ->∞ fe/re = 0,则Sp = 1 / (1-fe),所以系统性能受不可改进部分影响
例题
讨论2
- n表示并行线程数或核心数
- 1-fe表示不可并行部分占比,1-fe=0,则fe=1,所以Sp=1/(1/n)=n