某大型银行深化系统之十七:性能设计之二
传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229
4流水线性能评估
4.1吞吐率TP
吞吐率是指单位时间内流水线所完成的任务数或输出结果的数量。4.1.1最大吞吐率TPmax
最大吞吐率是指流水线在连续流动达到稳定状态后所得到的吞吐率。若流水线各段的时间相等,均为△t0 , 则:TPmax= 1 /△t0
若流水线各段的时间不等,则:
TPmax= 1 /max{△ti}
因此最大吞吐率取决于流水线中最慢的一段所需的时间,这段就成了流水线的瓶颈。消除瓶颈的方法一般有两种:细分瓶颈段和重复设置瓶颈段,如下图所示:
4.1.2实际吞吐率TP
流水线的实际吞吐率小于最大吞吐率。因此分两种情况考虑:第一种情况:各段时间相等(设为△t0),假设流水线由 m 段组成,完成 n 个任务,时空图如下所示。则完成 n 个任务所需的时间为:
T流水=m△t0+(n-1)△t0
TP = n/T流水 =n/(m△t0+(n-1)△t0)=TP/(1+(m-1)/n)
TP < TPmax
当n >> m 时,TP ≈TPmax
第二种情况:各段时间不等,完成 n 个任务所需的时间
T流水=∑△ti+(n-1)△tj △tj=max{△ti }
实际吞吐率为:
TP=n/(∑ △ti+(n-1)△tj )
4.2加速比S
加速比是指流水线的速度与等功能非流水线的速度之比。S=T非流水/T流水
(其中T流水和T非流水分别为按流水和按非流水方式处理 n 个任务所需的时间)
若流水线为 m 段,且各段时间相等,均为△t0 ,则:
T非流水=n m△t0
T流水=m△t0+(n-1)△t0
可以看出:当n >> m 时,S ≈ m
4.3效率E
效率是指流水线的设备利用率。由于流水线有通过时间和排空时间,所以流水线的各段并不是一直满负荷地工作。
故:E <1
4.3.1若各段时间相等,则各段的效率ei相等
即e1=e2 =e3=em=n△t0/T流水 (解释)
整个流水线的效率为: E=1/(1+(m-1)/n)当 n >> m 时,E ≈ 1
从时-空图上看,效率实际上就是 n 个任务所占的时空区与 m 个段总的时空区之比。