性能指标: 并行编程: 加速比和阿姆达尔定律(俄勒冈州立大学讲义)
加速比的定义
[*]加速比
如果使用n个内核,则 Speedup(n)为
T1 是一个内核的执行时间,Tn 是 n 个内核的执行时间。P1 是一个内核的性能,Pn 是 n 个内核的性能。
注意,Speedup(n)应大于 1。
[*]效率
最大值为1
阿姆达尔定律(Amdahl's Law)
阿姆达尔定律是一个计算机科学界的经验法则,用于评估并行计算系统性能提升的潜力。它告诉我们,当我们对系统的一部分进行加速时,整个系统的加速比受到串行部分比例的限制。
在所有操作中,总有一部分操作本质上是顺序操作,无论如何都无法并行化。这包括读取数据、配置计算、控制逻辑、存储结果等。并行操作可以通过部署多个内核来减少执行时间。串行部分则不能。
阿姆达尔定律的意义
[*]并行计算的瓶颈: 阿姆达尔定律表明,即使我们拥有无限多的处理器,系统的整体性能也无法无限地提升。这是因为总有一些部分是无法并行化的,这些串行部分会限制整个系统的加速比。
[*]优化并行程序: 通过阿姆达尔定律,我们可以了解到,要想最大程度地提高并行程序的性能,应该尽量减少串行部分的比例,或者找到创新的方法来并行化这些串行部分。
[*]评估并行计算系统的性能: 阿姆达尔定律可以帮助我们评估不同并行计算系统的性能,并选择最适合的系统。
阿姆达尔定律的应用
[*]计算机体系结构: 在设计计算机体系结构时,阿姆达尔定律可以帮助工程师们权衡不同设计方案的性能。
[*]并行算法设计: 在设计并行算法时,阿姆达尔定律可以帮助算法设计师们找到性能瓶颈,并进行优化。
[*]高性能计算: 在高性能计算领域,阿姆达尔定律可以帮助研究人员评估不同并行计算系统的性能,并选择最适合的系统来解决大规模科学计算问题。
阿姆达尔定律的局限性
[*]理想化模型: 阿姆达尔定律假设系统的各个部分是独立的,并且并行化不会带来额外的开销。但在实际系统中,这些假设并不总是成立。
[*]忽略通信开销: 阿姆达尔定律没有考虑并行计算中的通信开销,而通信开销往往是影响并行系统性能的重要因素。
[*]不适用于所有情况: 阿姆达尔定律适用于许多并行计算问题,但并不适用于所有情况。对于一些特殊的算法或问题,阿姆达尔定律可能并不适用。
参考资料
[*]软件测试精品书籍文档下载持续更新 https://github.com/china-testing/python-testing-examples 请点赞,谢谢!
[*]本文涉及的python测试开发库 谢谢点赞! https://github.com/china-testing/python_cn_resouce
[*]python精品书籍下载 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
[*]Linux精品书籍下载 https://www.cnblogs.com/testing-/p/17438558.html
Gustafson-Barsis(古斯塔夫森) 定律
古斯塔夫森定律是计算机科学中另一个重要的并行计算性能模型,它与阿姆达尔定律在看待并行计算性能提升方面有着不同的视角。加速比 = S + (1 - S)N
阿姆达尔定律主要关注固定大小问题在不同处理器数量下的加速比,而古斯塔夫森定律则更关注随着处理器数量增加,问题规模也随之扩大时的加速比。
简单来说,阿姆达尔定律强调问题规模不变,古斯塔夫森定律强调问题规模可变。
更乐观地看待阿姆达尔定律: 古斯塔夫森-巴里斯观察
特点阿姆达尔定律古斯塔夫森定律问题规模固定可变关注点并行部分加速的极限随着处理器数量增加的加速比应用场景问题规模有限的情况大规模问题,如科学计算
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]