《并行计算》 并行计算性能评测 并行模型与并行算法

并行计算性能评测与指标分析
本文探讨了并行计算的性能评测,重点介绍了Amdahl定律和Gustafson定律,以及如何衡量并行机的性能,如加速比、效率和处理器数等。并举例解释了PRAM、APRAM模型以及BSP和LogP模型。此外,还涵盖了并行算法在矩阵运算、归约、扫描等问题上的应用。

呜~ 就隔了一段时间没看并行计算,发现作业贼难顶,不得不写篇博客来记录一下复习(预习)的内容。

并行计算性能评测

并行机的一些基本性能指标

对并行计算机的性能关注点还是落在了CPU和存储器上,毕竟CPU和存储器决定了计算机处理问题速度的上限。

https://www.top500.org/收录了世界上前500台计算能力最强的计算机

在这里插入图片描述
可以看到,超算top 5领域美国就居了3个,我国神威·太湖之光排名4,看看神威的详细配置:

在这里插入图片描述
这么多核核内存orz… 不过好像处理器的频数并没有那么高,其实也就1.45GHz,个人笔记本都可以达到2.2GHz,台式机可以达到3.5GHz,或许是因为有千万个核,不需要太高的频率吧,再次Orx。后面是一些浮点运算计算能力,我后面会讲到。还有,这耗电也很厉害… 操作系统是Sunway RaiseOS

讲了top 500,还是回到标题的内容上来,评价一个并行机有哪些指标?下面是一些参考,有一些我们刚才已经在上面的神威中学习了。
在这里插入图片描述
上面mention到了顺序执行时间和并行执行时间,一般有下面的式子成立:

程序执行时间 = 计算时间 + 并行开销时间 + 相互通信时间

加速比性能定律

这个加速比其实我去年已经讲过了,在《计算机组成与设计》这里:https://blog.csdn.net/weixin_44026604/article/details/112167660,不过加速比可不仅仅是Amdahl定律

所谓并行加速比,其实是相对串行时间而言的,就是指:对于一个给定的应用,并行算法的执行速度相对于串行算法的执行速度加快了多少倍。

额,下面这些参数的意义得先有个了解才能继续往下聊:

  • n: 并行系统中处理器数
  • W: 问题规模(计算负载、工作负载,定义为给定问题的总计算量)
  • Ws: 应用程序中的串行分量
  • Wp: W中可并行化部分(Ws+Wp=W)
  • f: 串行分量比例
  • f =Ws/W
  • Ts: 串行分量的执行时间
  • Tp: 并行分量的执行时间
  • S: 加速比
  • E: 效率

Amdahl定律

Amdahl定律的出发点是在工作负载变化固定的情况下,增加处理器的个数来提高计算的速度,定律表达为:

在这里插入图片描述
上面这个式子就表示了:加速比不会随着处理器个数的无限增加而无限提高,而是会达到一个上限,这个上限是串行占比的倒数。一个程序,如果其串行分量越大,则其并行所获得加速比上限就越低;如果串行分量越小(意味着可并行的分量比例越大),则其并行所获得的加速比上限(天花板)就越高。

在这里插入图片描述
从上面的图中可以很清楚地看到,即使串行部分在程序中仅占了4%,但加速比的上限也就只能达到31了。所以,平时编OpenMP程序,运行时间与处理器核数不成正比也是可以理解的,毕竟一般程序都含有串行部分,相当于是一次函数,而不是正比例函数。

如果再考虑一个并行开销,则Amdahl公式变为:

在这里插入图片描述

Gustafson定律

Gustafson的出发点和Amdahl不同:Gustafson认为在固定的时间内,完成的事情越多,加速比越高。除非学术研究,在实际应用中没有必要固定工作负载而使计算程序运行在不同数目的处理器上。Gustafson定律认为,增多处理器必须相应地增大问题规模才有实际意义,公式表达为:

在这里插入图片描述
这个表达式看上去要比Amdahl乐观,它表示了:计算负载增加的情况下,相应的增加处理器的数量,所获得加速比也是在增加的。且从表达式看出,这个加速比似乎没有天花板?!!orz

在这里插入图片描述

当串行只占了4%左右,加速比保持在很高水平,如果再考虑一个并行开销:

在这里插入图片描述

有关加速的讨论

一般的经验高速我们:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值