背景
随着从存储系统的日益复杂,对存储系统的性能分析就显得非常必要。单个存储器的性能由生产厂商在数据手册中说明,那么由多个存储体构成的并行存储系统的性能如何分析,尤其是系统的吞吐率及相应时间就必须借助数学模型进行分析,或者再利用软件进行仿真确定。对于更全面的系统仿真将花费非常大的代价,因此实际上多采用数学模型的方式确定。为此,利用阿姆达尔定律来说明存储系统性能分析模型。
Amdahl定律
Amdahl定律的核心思想是:我们对计算机系统的某一部分加速的时候,该加速部分对系统整体性能的影响取决于该部分的重要性和加速程度。
加速比 Se 为:
S
e
=
采
用
改
进
措
施
后
的
性
能
没
有
采
用
改
进
措
施
前
的
性
能
=
没
有
采
用
改
进
措
施
前
执
行
某
任
务
的
时
间
采
用
改
进
措
施
后
执
行
某
任
务
的
时
间
=
T
0
T
n
Se = \frac {采用改进措施后的性能}{没有采用改进措施前的性能} = \frac {没有采用改进措施前执行某任务的时间}{采用改进措施后执行某任务的时间} = \frac {T_0}{T_n}
Se=没有采用改进措施前的性能采用改进措施后的性能=采用改进措施后执行某任务的时间没有采用改进措施前执行某任务的时间=TnT0
可修改部分的占比 Fe 为:
F
e
=
可
改
进
部
分
占
用
的
时
间
改
进
前
整
个
任
务
的
执
行
时
间
Fe = \frac {可改进部分占用的时间}{改进前整个任务的执行时间}
Fe=改进前整个任务的执行时间可改进部分占用的时间
改进后整个任务的执行时间为:
T
n
=
T
0
⋅
[
(
1
−
F
e
)
+
F
e
S
e
]
T_n = T_0·[(1-Fe)+\frac{Fe}{Se}]
Tn=T0⋅[(1−Fe)+SeFe]
改进后整个系统的加速比为:
S
n
=
T
0
T
n
=
1
(
1
−
F
e
)
+
F
e
S
e
S_n = \frac{T_0}{T_n} = \frac{1}{(1-Fe)+\frac{Fe}{Se}}
Sn=TnT0=(1−Fe)+SeFe1
其中,(1-Fe)表示不可改进的部分,当Se趋于无穷大时,可改进极限受Fe的约束
例题
假设某一部件的处理速度加快到10倍,该部件的原处理时间仅为整个运行时间的百分之40,则采用加快措施后能使整个系统的性能提高多少?
解答:由题可知,Fe = 0.4,Se = 10,根据Amdahl定律可知:
S
n
=
1
0.6
+
0.4
10
=
1
0.64
S_n = \frac{1}{0.6+\frac{0.4}{10}} = \frac {1}{0.64}
Sn=0.6+100.41=0.641