并行加速理论
并行加速比
本来是速度比,但是在任务量一定的情况下,就可以直接使用时间的比值来表示,
S表示加速比,T表示并行之前的时间,Tp表示并行加速之后所用的时间,p表示Parallel \(S = \frac{T}{T_p}\)
阿姆达尔加速比
阿姆达尔加速比关注任务中有些任务是必须要串行的,不可以被并行化减少时间,而有的任务可以并行化。
设必须串行处理的比例是f, Wf是串行的工作量 \(f = \frac{W_f}{W}\) 那S就受限与f而被表示为, 其中p是多核并行的个数, \(S= \frac{fW+(1-f)W}{fw+\frac{(1-f)W}{p}}= \frac{p}{pf+1-f}=\frac{1}{f+\frac{1-f}{p}}\) 当p趋于无穷,加速比收敛于1/f,仍然是有限的
古斯塔森定律
之前人们受限与阿姆达尔加速比,因为加速比有上限,但是阿姆达尔加速比面向的是任务量一定的讨论,现实中很显然地,增加核心数量,同一时间能处理的工作量显然是更多的。所以后来古斯塔森从这个角度出发,用同一时间处理的工作量来定义了加速比 \(S=\frac{s+n*p}{s+n}\) 其中s表示串行的工作量,n是可并行的工作量
在该定律基础上可以说人们的思想被解放,许多大型并行化加速的超级计算机开始投入开发和生产。
Sunni定律
孙贤和,倪明选定义的sunni定律,关注物理实现对并行效率的影响,也就是增大问题规模,读取存储的开销会增大,设G(p)为增加到p个核心,并行工作负载的增加,仍然使用同一时间的工作量来定义 \(S=\frac{fW+(1-f)G(p)W}{fw+(1-f)G(p)W/p}=\frac{f+(1-f)G(p)}{f+(1-f)G(p)/p}\) 当G(p)=1,也就是增加核心没有增加问题规模(工作负载),那这就是阿姆达尔定律
当G(p)=p, 也就是增加核心带来的问题规模的扩大是正比的,这个定律就是古斯塔森定律。
当G(p)>p,也就是增加核心带来的问题规模更多(加速计算超过并行损耗的开销),这个加速比会更高。
可扩展性评测标准
并行计算的可扩放性(Scalability)即计算系统性能随处理器增加提高的能力(可看作加速比的变化率)。目前没有公认的评判标准,下面列举一些常见的标准。
等效率度量标准
\(E=S/P=\frac{1}{1+\frac{T_o}{T_e}}\) 其中T 0 , T e 分别为额外开销和计算开销。
如果增加处理器数目,额外一定会增大(通讯开销),因此为了维持效率不变需要适当增加计算负载
稳定性:
HPC长时间的最高浮点运算性能和峰值运算的比值,受限与功耗,缓存一致性等等。
基准评测
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.