加速比
在平行計算領域,加速比用於表示當並列演算法與對應的順序執行演算法相比較時,速度快了多少。
定義
加速比以如下公式定義:
其中:
當時,便可稱為「線性加速比」(英語:linear speedup,又名「理想加速比」)。當某一併行演算法的加速比為理想加速比時,若將處理器數量加倍,執行速度也會加倍,即如「理想」之意,有「優秀的可延伸性」。
「效率」
由加速比衍生出的效率(英語:efficiency)則是量度效能的指標,並如下定義:
- .
效率的值一般介於0~1之間,用於表示在解決問題時,相較於在通訊與同步上的花費,參與計算的處理器得到了什麼程度的充分利用。由定義易見,擁有線性加速比的演算法與在單處理器上執行的演算法的效率為1。
超線性加速比
在平行計算過程中,有時會遇到加速比比處理器數更大的情況,此時求得的加速比即稱超線性加速比(英語:superlinear speedup)。超線性加速比很少出現,且由於初學者常以為理論上加速比的最大值應與參與計算的處理器的總數相等,這一情況常使初學者迷惑不已。
超線性加速比有幾種可能的成因,如現代電腦的儲存層次不同所帶來的「高速緩衝記憶體效應」;具體來說,較之順序計算,在平行計算中,不僅參與計算的處理器數量更多,不同處理器的高速緩衝記憶體也集合使用。而有鑑於此,集合的快取便足以提供計算所需的儲存量,演算法執行時便不必使用速度較慢的主記憶體,因而記憶體讀些時間便能大幅降低,這便對實際計算產生了額外的加速效果[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].