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

定義

加速比以如下公式定義:

其中:

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

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

「效率」

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

.

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

超線性加速比

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

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

參考資料

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.