如何判断程序是否已成功并行化?

时间:2012-11-15 09:45:22

标签: parallel-processing

在并行计算机上运行的程序被测量为具有以下效率值以增加处理器数量P.

P 1 2 3 4 5 6 7
E 100 90 85 80 70 60 50

使用上述结果,绘制加速图。

使用图表说明程序是否已成功并行化。

P E    Speedup
1 100% 1
2  90% 1.8
3  85% 2.55
4  80% 3.2
5  70% 3.5
6  60% 3.6
7  50% 3.5

这是过去一年的考试问题,我知道如何计算加速和&绘制图表。但是,我不知道如何告诉程序是否成功并行化。

1 个答案:

答案 0 :(得分:1)

Amdahl's law

I think the idea here is that not all portion can be parallelized.

例如,如果程序使用单个处理器核心需要20个小时,并且 1小时的特定部分无法并行化 ,而剩余的有希望的部分为19个小时(95%)可以并行化,然后无论我们将多少处理器用于此程序的并行执行,最小执行时间都不能小于关键的1小时。因此,加速限制高达20×

enter image description here

在此示例中,使用6个处理器,加速达到最大值3.6。因此平行部分约为1-1 / 3.6,约为72.2%。