並行計算領域,加速比用於表示當並行算法與對應的順序執行算法相比較時,速度快了多少。

定義

加速比以如下公式定義:

 

其中:

  •  指CPU數量
  •  指順序執行算法的執行時間
  •  指當有p個處理器時,並行算法的執行時間

 時, 便可稱為「線性加速比」(英語:linear speedup,又名「理想加速比」)。當某一併行算法的加速比為理想加速比時,若將處理器數量加倍,執行速度也會加倍,即如「理想」之意,有「優秀的可擴展性」。

「效率」

由加速比衍生出的效率(英語:efficiency)則是量度性能的指標,並如下定義:

 .

效率 的值一般介於0~1之間,用於表示在解決問題時,相較於在通信與同步上的花費,參與計算的處理器得到了什麼程度的充分利用。由定義易見,擁有線性加速比的算法與在單處理器上執行的算法的效率為1。

超線性加速比

並行計算過程中,有時會遇到加速比 比處理器數 更大的情況,此時求得的加速比即稱超線性加速比(英語:superlinear speedup)。超線性加速比很少出現,且由於初學者常以為理論上加速比的最大值應與參與計算的處理器的總數 相等,這一情況常使初學者迷惑不已。

超線性加速比有幾種可能的成因,如現代計算機的存儲層次不同所帶來的「高速緩存效應」;具體來說,較之順序計算,在並行計算中,不僅參與計算的處理器數量更多,不同處理器的高速緩存也集合使用。而有鑑於此,集合的緩存便足以提供計算所需的存儲量,算法執行時便不必使用速度較慢的內存,因而存儲器讀些時間便能大幅降低,這便對實際計算產生了額外的加速效果[1]

參考資料

  1. ^ John Benzi; M. Damodaran. Parallel Three Dimensional Direct Simulation Monte Carlo for Simulating Micro Flows. Parallel Computational Fluid Dynamics 2007: Implementations and Experiences on Large Scale and Grid Computing. Parallel Computational Fluid Dynamics. Springer: 95. 2007 [2013-03-21]. 
  • Frank Dehne. Scalable Parellel Computational Geometry. Michel Cosnard, Afonso Ferreira, Joseph Peters (編). Parallel and Distributed Computing. Springer. 1994-06-10 [2013-03-20].