并行加速和效率

时间:2015-04-30 14:45:31

标签: multithreading performance parallel-processing

快问一下。

并行加速和效率之间有什么区别。

由于

3 个答案:

答案 0 :(得分:1)

如果你有两个工人,在一个天真的世界里,你应该能够在一半的时间里完成一份工作。这是2倍加速。如果两个工人根本没有互动并且独立工作,理论上可以实现2倍的加速。这类问题称为embarassingly-parallel,并不常见。 在这种情况下,两个工人都可以像原始工人一样快地继续工作,即效率达到100%。

Amdahl's Law: 在现实世界的计算中,总会有一些共享资源,因此两个工作者之间会产生一些争用。这意味着两个工人的运行速度可能比原单工人慢一点。

  • 效率现在成为衡量每个工人速度下降的指标。假设他们以原始单人工作速度的0.9倍运行,效率现在为90%

  • 效率下降也意味着在原来的时间内,工人只完成了90%的工作。所以实际加速从2x下降到1.8x

答案 1 :(得分:1)

只需在此处添加技术定义即可。让 T_1 为您的应用程序在1个处理器上完成所需的时间(顺序时间)和 T_p p 核心。然后,加速S被定义为

S = T_1 / T_p

加速测量使用 p 核心时获得的加速度, 相应的效率E定义为

E = T_1 /(p T_p)

效率衡量您并行使用 p 核心的程度。 p 核心的最大理论加速是 p ,但是只有对于令人尴尬的并行应用程序(没有通信且没有其他开销),您才能达到此限制。相应地,最大效率为1(或100%)。在实践中,一个常见的经验法则是应用程序的目标应该是达到至少0.7(或70%)的效率。

答案 2 :(得分:1)

一位女士可以在9个月内生孩子。

如果您将9名女士放在案件上,您将无法在1个月内生孩子。这是零加速和11%的效率。

如果您将9名女士放在案件上,您可以在9个月内获得9名婴儿。这是9倍的加速和100%的效率。