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