加速比

维基百科,自由的百科全书
跳转至: 导航搜索

并行计算领域,加速比用于表示当并行算法与对应的顺序执行算法相比较时,速度快了多少。

定义[编辑]

加速比以如下公式定义:

S_p = \frac{T_1}{T_p}

其中:

 \,S_p = p 时, \,S_p 便可称为“线性加速比”(英语linear speedup,又名“理想加速比”)。当某一并行算法的加速比为理想加速比时,若将处理器数量加倍,执行速度也会加倍,即如“理想”之意,有“优秀的可扩展性”。

“效率”[编辑]

由加速比衍生出的效率(英语efficiency)则是量度性能的指标,并如下定义:

E_p = \frac{S_p}{p} = \frac{T_1}{pT_p}.

效率 E_p 的值一般介于0~1之间,用于表示在解决问题时,相较于在通信与同步上的花费,参与计算的处理器得到了什么程度的充分利用。由定义易见,拥有线性加速比的算法与在单处理器上执行的算法的效率为1。

超线性加速比[编辑]

并行计算过程中,有时会遇到加速比 \,S_p 比处理器数 p 更大的情况,此时求得的加速比即称超线性加速比(英语superlinear speedup)。超线性加速比很少出现,且由于初学者常以为理论上加速比的最大值应与参与计算的处理器的总数 p 相等,这一情况常使初学者迷惑不已。

超线性加速比有几种可能的成因,如现代计算机的存储层次不同所带来的“高速缓存效应”;具体来说,较之顺序计算,在并行计算中,不仅参与计算的处理器数量更多,不同处理器的高速缓存也集合使用。而有鉴于此,集合的缓存便足以提供计算所需的存储量,算法执行时便不必使用速度较慢的内存,因而存储器读些时间便能大幅降低,这便对实际计算产生了额外的加速效果[1]

参考资料[编辑]