如何量化并行效率?阿姆达尔来帮你

今天在《代码的未来》这本书中看到一个定律,叫:阿姆达尔定律,原来并行效率可以量化的这么漂亮,它叫 加速比,简单的讲就是提升效率的倍数,很简单就一个公式:

看到公式先别怕(我一开始也是很怕的),听我解释两点你就明白:

1. 式中W_{s},W_{p} 分别表示问题规模的串行分量(问题中不能并行化的那一部分)和并行分量,可以很简单看出来,当 p->\infty 的时候,上面那个公式的极限是:

2. p表示处理器数量

意思就是无论我们如何提高(处理器的数量),效率的提升都不会超过这个值


举两例子就清楚了:

1. 有一个 App,计算(假设可并行化) 与 I/O(不可并行化) 各占一半,套上面公式得:

2. 而如果计算占 95%,I/O 5%,再套公式得:

第一个例子,效率最多提升到之前的 2 倍 第二个例子,效率最多提升到之前的 20 倍(是不是突然之间明白了什么?)

最后放图加深记忆:

嗯,就这么简单,PPT 的逼格又能 +++ 啦,正文完

原文发布于微信公众号 - 随心DevOps(heart-devops)

原文发表时间:2017-12-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区