并行计算——性能评价

加速比性能定律

Amdahl定律

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

假设:html

  • 串行比例因子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函数

相关文章
相关标签/搜索