博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

并行计算——性能评价

Posted on 2018-11-18 20:41  MwingFly  阅读(6288)  评论(0编辑  收藏  举报

加速比性能定律

Amdahl定律

  • 在实时性要求很高的应用类型中,计算负载W固定不变,随着处理器的数目的增加,计算时间将同时缩短。
  • 其中计算负载W包含可并行化部分,即并行分量Wp和串行分量Ws。即W=Wp+Ws
  • 加速比Sp=(最快的串行算法最坏的运行时间)/(并行算法最快的运行时间)。

假设:

  • 串行比例因子f=Ws/W
  • 并行比例因子1-f

所以加速比Sp为:

  • Sp=(Ws+Wp)/(Wp/p+Ws)=(f+(1-f))/(f+(1-f)/p)=p/(1+f(p-1))=1/f(p→∞)
  • 当处理机数无限增加时,加速比仅为1/f

Amdahl几何意义

Gustafson's定理

  • 对于大规模科学计算应用程序,为了提高计算精度就必须增加工作量。相应地为了确保执行时间不变,就必须增加处理机数量。
  • 设f=Ws/W
  • 则Sp=(Ws+p*Wp)/(Ws+p*Wp/P)=(Ws+p*Wp)/(Ws+Wp)=f+p*(1-f)=p+f(1-p)=p-f(p-1)
  • 加速比Sp与处理机数目p基础成线性关系

Gustafson's定理的几何意义

Sun and Ni's定理

  • 在Amdahl和Gustafson定理中,都是认为处理机数和存储容量是不受限制地可增加的,但可能有一些大的求解问题可能要受到存储容量的限制。这就是要求规划负载。提供更高的加速比、更高的精度和更好的资源利用率。
  • 假定一个负载计算量可以由于并行划分而增加G(p)倍,(G(p)代表负载量增加时,存储容量(需求)也增加p倍)
  • 加速比Sp为:Sp=(Ws+G(p)Wp)/(Ws+G(p)*Wp/p)=(f+G(p)(1-f))/(f+G(p)*(1-f)/p)

讨论

  • 当G(p)=1时,即存储量增加p倍,负载量增加很小,仅为1,则:S=(f+G(p)(1-f))/(f+G(p)*(1-f)/p)=1/(f+(1-f)/p)
  • 可见,当G(p)=1时,相当于Amdahl定律
  • 当G(p)=p时,即存储量增加p倍,负载量也增加,则:S=(f+G(p)(1-f))/(f+G(p)*(1-f)/p)=f+(1-f)*p
  • 可见,当G(p)=p时,为Gustafson定理

Sun and Ni's定理几何意义

加速比的几个问题

绝对加速

  • 对于给定的问题,最佳串行算法能使用的时间除以同一问题的并行算法所使用的时间

相对加速

  • 同一问题的求解算法在单处理机上运行的时间除以在多个处理机上的运行时间
  • 由于最佳串行算法难于确定,所以相对加速更为实用

超线性加速

  • 一般讲,线性加速已很难达到,超线性加速则是难上加难。但在某些算法中,可能出现超线性加速现象
  • 如使用多个处理机在一个树上并行搜索时,一旦某个处理机找到解,它就可以立即向其他处理机发出中止搜索信号,防止无畏地搜索其他分支,获得超线性加速

影响加速比的因素

  • 求解问题中的串行分量
  • 并行处理所引起的额外开销(通信,等待,冗余操作等)
  • 处理机数目的增加超过了算法中的并发程度
  • 增加问题的规模有利于提高加速比的因素:①加大问题的规模可提供较高的并发程度;②额外开销的增加可能慢于有效计算的增加;③算法中的串行分量的比例不是固定不变的

可扩放性

什么是可扩放性

  • 一个计算机系统(硬件、软件、算法、程序等)被称为可扩放的,是指其性能随处理机数目的增加而按比例提高。
  • 例如,工作负载能力和加速比都可随处理机的数目的增加而增加。

可扩放性包括哪些方面

  • 机器规模的可扩放性:系统性能是如何随着处理机数目的增加而改善的
  • 问题规模的可扩放性:系统的性能是如何随着数据规模和负载规模的增加而改善
  • 技术的可扩放性:系统的性能上如何随着技术的改变而改善

可扩放性研究的目的是什么

  • 确定解决某类问题时何种并行算法与何种并行体系结构的组合,可以有效的利用大量的处理器
  • 对于运用于某种并行机上的某种算法,根据在小规模处理机的运行性能预测移植到大规模处理机上的运行性能
  • 对固定问题规模,确定最优处理机数和可获得的最大加速比
  • 指导和改进并行算法和并行处理机结构,充分利用处理机可扩放性的度量标准

度量标准

等效率度量标准(ISO-efficiency)

基本概念

  • 等效度量标准是研究如何维持并行系统的等效性

推导

  • 设T1是一个给定问题在一台机器上串行执行的时间(例如W),Tp是在p台处理机上并行执行的时间,T0是额外开销
  • 则有:T1+T0=p×Tp,即Tp=(T1+T0)/p,S=Te/Tp=T1/((T1+T0)/T1=p/(1+T0/T1)=p/(1+T0/W),E=s/p=1/(1+T0/T1)=1/(1+T0/W)

结论

  • 如果问题规模W不变,那么随着处理机数P的增加,额外开销T0也会增加,从而引起效率下降
  • 为了保证E不变,就要保证T0/T1不变,这就要求增加处理机数p的同时,要同时增加问题的规模W,即T1
  • 依此定义的函数称为等效率函数

优点

  • 等效率函数是一种用分析方法处理工作负载增长率与处理机增长率之间关系的有用的工具,可用简单的、可定量计算的、少量的参数就能计算出等效率函数,并由其复杂性可指出算法的可扩放程度:如果W与p呈线性关系,则系统是可扩放的;如果W与p呈指数关系,则系统是不可扩放的

缺点

  • 对共享存储器结构的激情五月南艺计算等效率函数值

等速度量标准(ISO-speed)

基本概念

  • 等速度标准是在机器规模由p到p',问题规模由W增加到W'时,维持平均速度不变

推导

  • 设平均速度V-bar=W/(p*Tp),又设,W是使用p个处理机时算法的工作量,W'表示当处理机数从p增到p'时,为了保持整个系统的平均速度不变需执行的工作量。
  • 此时的可扩放的速度度量标准函数为:ψ(p,p')=(W/p)/(W'/p')=(p'*W)/(p*W')。
  • 当平均速度严格不变时:W/Tp=W'/Tp';(p'W)/(pW')=Tp/Tp',即:ψ(p,p')=Tp/Tp'
  • 当p=1时,ψ(1,p')=T1/Tp'=W/(W'/p')=(解决工作量为W的问题所需串行工作时间)/(解决工作量为W'的问题所需并行工作时间)

结论

  • 如果速度能与处理机的数目的增加而线性增加,即意味着平均速度不变,则说明此系统具有很好的扩放性

优点

  • 使用机器性能速度指标这一明确的物理量来度量可扩放性是比较直观的(速度常被用来测量浮点运算):①速度是由工作负载W和执行时间T决定的,而W反映了应用程序的性质,T反映了结构和程序效率的影响;②速度在各种结构的机器之间具有可比性;③执行时间包含了计算和延迟这两个主要的时间量;④速度是比较容易测量的

缺点

  • 某些非浮点运算可造成性能的变化
  • 延迟虽包含在执行时间中,但它明确地定义为W的函数

平均延迟度量标准(Aerage Lantency)

基本概念

  • 效率不变前提下,用平均延迟来标志处理机数p和工作量W之间的增量关系。平均延迟时间定义为一个处理机完成分配给它的任务所需要的平均时间开销。包括运行时的延迟Li,启动时间及停止时间。
  • 因此第i个处理器Pi的总的延迟时间为:Li+启动时间+停止时间
  • 系统的平均延迟时间为:,由于:pTpara=T0+Tseq和T0=pL(W,p),所以L-bar(W,p)=Tpara-Tseq/p
  • 令L-bar(W,p)表示在p个处理器上求解工作量为W问题的平均延迟,L-bar(W',p')表示在p'个处理器上求解工作量为W'问题的平均延迟,则定义平均延迟可扩放性度量标准为:Φ(E,p,p')=L-bar(W,p)/L-bar(W',p')

优点

  • 平均延迟是一个实验性标准,可精确地评估抵挡系统

缺点

  • 需要特殊的硬件和系统软件进行实验测试

小结

  • 等效标准与等速标准是等价的
  • 平均延迟标准可以源自等速标准
  • 三者均是等价的

参考文献

https://wenku.baidu.com/view/4cf7ecfe1ed9ad51f11df25f.html?sxts=1542528758414