哪类型网站容易做,深圳市网站建设,如何制作微信图文链接,网页qq空间登录界面并行化与阿姆达尔定律
并行化是将计算任务分割成多个部分#xff0c;使这些部分能够在多个处理器或核心上同时运行#xff0c;从而加速任务的完成时间。阿姆达尔定律#xff08;Amdahl’s Law#xff09;则揭示了并行化所能带来的加速效果的限制。
阿姆达尔定律公式
阿姆…并行化与阿姆达尔定律
并行化是将计算任务分割成多个部分使这些部分能够在多个处理器或核心上同时运行从而加速任务的完成时间。阿姆达尔定律Amdahl’s Law则揭示了并行化所能带来的加速效果的限制。
阿姆达尔定律公式
阿姆达尔定律通过公式描述了并行化的加速比 S ( N ) 1 ( 1 − P ) P N S(N) \frac{1}{(1 - P) \frac{P}{N}} S(N)(1−P)NP1
其中
S(N)使用 N 个处理器时的加速比。P程序中可以并行化的部分表示为比例。1 - P程序中不可并行化的部分。N并行执行时参与的处理器数量。
阿姆达尔定律的解释
可并行化部分程序中可以拆分并在多个处理器上同时执行的部分用 P 表示。它是提升并行加速的关键。不可并行化部分程序中无法并行执行必须串行执行的部分用 1 - P 表示。增加处理器的数量无法加速这一部分。加速比通过并行化执行程序后程序的执行速度提升程度。阿姆达尔定律指出加速比受到串行部分的制约。
示例
假设某程序中有 80% 的代码可以并行化即 P 0.8。那么无论使用多少个处理器程序最多只能加速 5 倍如下图所示 S ( ∞ ) 1 ( 1 − 0.8 ) 0.8 ∞ 1 0.2 5 S(\infty) \frac{1}{(1 - 0.8) \frac{0.8}{\infty}} \frac{1}{0.2} 5 S(∞)(1−0.8)∞0.810.215
即使处理器数量无限20% 的串行部分仍然成为加速的瓶颈。
阿姆达尔定律的局限性
并行化的限制程序的串行部分越多加速比的上限越低。即使增加大量处理器最终加速比也会趋于一个有限值。通信与同步开销在实际的并行计算中增加处理器可能会引入通信与同步的开销这可能会进一步降低并行化的效果。
总结
阿姆达尔定律提醒我们程序中的不可并行部分将限制性能提升的上限。因此在并行算法设计中应该尽可能减少串行部分优化并行部分才能实现更高的加速比。