0

简单来说,一个程序有 15% 运行在顺序部分,85% 是它的并行部分。

我如何计算出无限数量的处理器的最大加速比?

而且,我怎么能算出,比如说,需要多少个处理器才能将程序加速到其最大速度的 80%?

使用阿姆达尔定律。我试过浏览互联网、谷歌等。没有找到任何可以帮助我解决这个简单问题的东西!

4

2 回答 2

2

如果您有无限数量的处理器,则 85% 的工作可以无限快地完成,即摊销时间可以忽略不计。所以加速比是 1/(15%) 即 1/0.15

于 2015-02-03T18:34:14.453 回答
2

从逻辑上讲,如果您假设无限处理器将无限加速 85%,即该部分的运行时间将接近于零,那么您剩下的就是 15%。因此最大加速比约为 6.6 倍。

多少 cpu 可以加速到最大值的 80%?假设这意味着您希望执行时间为 15%/80%=18.75%。由于顺序部分需要 15%,因此 3.75% 必须覆盖 85% 的并行化。因此你需要 85/3.75 ~23 cpus。

于 2015-02-03T18:37:47.140 回答