Overview
Amdahl 定律(Amdahl’s law)是並行計算領略一個非常著名的定律。由 Gene Amdahl 於1967年提出。Amdahl 定律描述的是數據規模固定時,漸進加速比的變化趨勢。
Time=s+pf
如下圖所示。
Introduction
假設我們有一個任務 task 裏有25%的代碼是並行的。那麼在單機多核的情況下,我們可以獲得怎樣的加速比呢?
- i 核數
- mi 有用 i 核數的機器
單機單核的效率。
m1=25%+75%=100%
單機雙核是單機單核的 87。
m1=25%×21+75%=87
單機4核是單機單核的 1613。
m1=25%×41+75%=1613
單機8核是單機單核的 3225。
m1=25%×81+75%=3225
單機1000核是單機單核的 40003001。
m1=25%×10001+75%=40003001
單機無數核是單機單核的 43。
m1=25%×+∞1+75%=43
從以上推算,可以知道,當並行代碼所佔的百分比固定的情況下,隨着核數 i 增加,對並行效率的提升會固定在一定比例。
Reference
- Introduction to HPC with MPI for Data Science
- https://www.youtube.com/watch?v=ViMI_ciiC2A
- https://www.youtube.com/watch?v=Axx2xuB-Xuo