并行算法笔记(一)——性能测评

  • 并行执行时间 T c o m p u t T_{comput} Tcomput为计算时间, T p a r o T_{paro} Tparo为并行开销时间, T c o m m T_{comm} Tcomm为通讯时间,则 T n = T c o m p u t + T p a r o + T c o m m T_n=T_{comput}+T_{paro}+T_{comm} Tn=Tcomput+Tparo+Tcomm
  • 通讯开销:通讯开销包括启动时间 t 0 t_0 t0(一般为建立连接所用时间)和传输时间,如果定义 r ∞ r_\infin r为渐近带宽,则传输m比特信息的通讯开销为 T c o m m ( m ) = t 0 + m / r ∞ T_{comm}(m)=t_0+m/r_\infin Tcomm(m)=t0+m/r
  • S为加速比,E为效率

加速比性能定律

并行系统的加速比是指对于给定应用,并行算法的执行速度相对于最优串行算法的执行速度加快多少倍($\geq$1)。

定义处理器数为P,问题规模(总计算量)为W,其中串行和并行计算量分别为 W s , W p , W = W s + W p W_s,W_p,W=W_s+W_p Ws,Wp,W=Ws+Wp。为方便表示,定义串行分量的比例为 f = W s / W f=W_s/W f=Ws/W

Amdahl定律

​ Amdahl定律假定计算负载是固定不变的,将计算任务分配到多个处理器上。则 S = W W s + W p / p = W s + W p W s + W p / p = p 1 + f ( p − 1 ) S=\frac{W}{W_s+W_p/p}=\frac{W_s+W_p}{W_s+W_p/p}=\frac{p}{1+f(p-1)} S=Ws+Wp/pW=Ws+Wp/pWs+Wp=1+f(p1)p

​ 当 p → ∞ , S = 1 / f p\rightarrow \infin,S=1/f p,S=1/f,即串行分量为加速瓶颈。

​ 如果考虑额外串行开销 W 0 W_0 W0,则 S = W W s + W p / p + W 0 = p 1 + f ( p − 1 ) + W 0 p / W S=\frac{W}{W_s+W_p/p+W_0}=\frac{p}{1+f(p-1)+W_0p/W} S=Ws+Wp/p+W0W=1+f(p1)+W0p/Wp

​ Amdahl是比较悲观的一种结论,认为即使使用再多的处理器也不会产生更好的结果。

Gustafson定律

​ 在一些高计算精度要求的任务中,计算时间是固定的,计算量和计算精度成正比,若在相同时间内提高计算精度只能通过增加处理器数量实现。

​ 此时Gustafson定律认为计算负载为 W s + p W p W_s+pW_p Ws+pWp,则 S = W W s + W p = W s + p W p W s + W p = f + p ( 1 − f ) = p − f ( p − 1 ) S=\frac{W}{W_s+W_p}=\frac{W_s+pW_p}{W_s+W_p}=f+p(1-f)=p-f(p-1) S=Ws+WpW=Ws+WpWs+pWp=f+p(1f)=pf(p1)

​ 当 p → ∞ p\rightarrow \infin p时,S可视为p的线性函数,不再存在串行瓶颈。

Sun和Ni定律

​ Sun和Ni定律考虑到了物理实现对并行效率的影响,即增大问题规模时读取储存的开销会发生变化。因此定义因子 G ( p ) G(p) G(p)反应存储容量增加到p倍时并行工作负载的增加量,即扩大问题规模后的工作负载为 W ′ = W s + G ( p ) W p = f W + ( 1 − f ) G ( p ) W W'=W_s+G(p)W_p=fW+(1-f)G(p)W W=Ws+G(p)Wp=fW+(1f)G(p)W

​ 存储受限的加速公式为: S = f W + ( 1 − f ) G ( p ) W f W + ( 1 − f ) G ( p ) W / p = f + ( 1 − f ) G ( p ) f + ( 1 − f ) 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} S=fW+(1f)G(p)W/pfW+(1f)G(p)W=f+(1f)G(p)/pf+(1f)G(p)

  • 当G§=1时,即增加处理器不会增加总计算负载,Sun和Ni定律变为Amdahl定律。
  • 当G§=p时,即计算负载和处理器数成正比时,Sun和Ni定律变为Gustafson定律。
  • 当G§>p时,即计算负载增加速度比储存开销增加的快时,Sun和Ni定律加速比要高于前两个定律。

可扩放性评测标准

​ 并行计算的可扩放性(Scalability)即计算系统性能随处理器增加提高的能力(可看作加速比的变化率)。目前没有公认的评判标准,下面列举一些常见的标准。

等效率度量标准

​ 定义加速效率 E = S / P = p 1 + T 0 / T e × 1 p = 1 1 + T 0 / W E=S/P=\frac{p}{1+T_0/T_e}\times\frac{1}{p}=\frac{1}{1+T_0/W} E=S/P=1+T0/Tep×p1=1+T0/W1,其中 T 0 , T e T_0,T_e T0,Te分别为额外开销和计算开销。

​ 如果增加处理器数目,额外一定会增大(通讯开销),因此为了维持效率不变需要增加计算负载。

​ 等效率度量标准即 f E ( p ) f_E(p) fE(p)为维持相同效率E时问题规模W随p变化的函数。

  • 优点:简单、可定量计算。
  • 缺点:额外开销有时难以定量计算。
等速度度量标准

​ 速度即为最朴素的定义计算量/计算时间,等速度标准定义平均速度为并行速度/处理器数,即 V ˉ = V / p = W p T \bar{V}=V/p=\frac{W}{pT} Vˉ=V/p=pTW

​ 等速度度量中的可扩放性即当处理器数目增加时需要增加计算量保证平均速度不变的能力。用下式描述:
Ψ ( p , p ′ ) = W / p W ′ / p ′ = p ′ W p W ′ \Psi(p,p')=\frac{W/p}{W'/p'}=\frac{p'W}{pW'} Ψ(p,p)=W/pW/p=pWpW
即反应每个处理器分配的计算负载随处理器数的变化。当保持平均速度不变时, W p T = W ′ p ′ T ′ ⇒ Ψ = T T ′ \frac{W}{pT}=\frac{W'}{p'T'}\Rightarrow \Psi=\frac{T}{T'} pTW=pTWΨ=TT

​ 特别的,当p=1时,即串行计算,此时 Ψ ( 1 , p ′ ) = W W ′ / p ′ \Psi(1,p')=\frac{W}{W'/p'} Ψ(1,p)=W/pW

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值