知识大全 Java程序性能优化-Amdahl定律

Posted 系统

篇首语:世界上三种东西最宝贵本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java程序性能优化-Amdahl定律相关的知识,希望对你有一定的参考价值。

Java程序性能优化-Amdahl定律  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

     Amdahl定律

  Amdahl定律是计算机科学中非常重要的定律 它定义了串行系统并行化后加速比的计算公式和理论上限

  加速比定义 加速比=优化前系统耗时/优化后系统耗时

  所谓加速比 就是优化前的耗时与优化后耗时的比值 加速比越高 表明优化效果越明显

  Amdahl定律给出了加速比与系统并行度和处理器数量的关系 设加速比为Speedup 系统内必须串行化的程序比重为F CPU处理器数量为N 则有

  根据这个公式 如果CPU处理器数量趋于无穷 那么加速比与系统的串行化率成反比 如果系统中必须有 %的代码串行执行 那么系统的最大加速比为

  假设有一程序分为以下步骤执行 每个执行步骤花费 个时间单位 其中 只有步骤 和步骤 可以进行并行 步骤 必须串行 如图 所示 在全串行的情况下 系统合计耗时 个时间单位

  图   串行工作流程

  若将步骤 和步骤 并行化 假设在双核处理上 则有如图 所示的处理流程 在这种情况下 步骤 和步骤 的耗时将为 个是单位 故系统整体耗时为 个时间单位 根据加速比的定义有

  加速比=优化前系统耗时/优化后系统耗时= / =

  或者前文中给出的加速比公式 由于 个步骤中 个步骤必须串行 因此其串行化比重为 / = 即F= 且双核处理器的处理器个数N为 代入公式得

  加速比= /( +( )/ )=

  图   双核处理上的并行化

  在极端情况下 假设并行处理器个数为无穷大 则有如图 所示的处理过程 步骤 和步骤 的处理时间趋于 即使这样 系统整体耗时依然大于 个时间单位 即加速比的极限为 / =

  图   极端情况下的并行化

  使用加速比计算公式 N趋于无穷大 有Speedup= /F 且F= 故有Speedup=

  由此可见 为了提高系统的速度 仅增加CPU处理器的数量并不一定能起到有效的作用 需要从根本上修改程序的串行行为 提高系统内可并行化的模块比重 在此基础上 合理增加并行处理器数量 才能以最小的投入 得到最大的加速比

  注意 根据Amdahl定律 使用多核CPU对系统进行优化 优化的效果取决于CPU的数量以及系统中的串行化程序的比重 CPU数量越多 串行化比重越低 则优化效果越好 仅提高CPU数量而不降低程序的串行化比重 也无法提高系统性能

  返回目录 Java程序性能优化 让你的Java程序更快 更稳定

  编辑推荐

  Visual C++音频/视频技术开发与实战

  Oracle索引技术

cha138/Article/program/Java/gj/201311/27847

相关参考

知识大全 Java程序性能优化-性能概述

Java程序性能优化-性能概述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  第章 J

知识大全 Java程序性能优化--让你的Java程序更快、更稳定

Java程序性能优化--让你的Java程序更快、更稳定  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 Java程序性能优化-优化的一般步骤

Java程序性能优化-优化的一般步骤  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-性能的参考指标

Java程序性能优化-性能的参考指标  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-系统优化注意事项

Java程序性能优化-系统优化注意事项  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-木桶原理与性能瓶颈

Java程序性能优化-木桶原理与性能瓶颈  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &nbs

知识大全 Java程序性能优化(3)

Java程序性能优化(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  十四对于boolean

知识大全 漫谈Java程序的性能优化

漫谈Java程序的性能优化  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java使得复杂应用的

知识大全 Java程序性能优化(2)

Java程序性能优化(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  八如果只是查找单个字符

知识大全 Java程序性能优化(1)

Java程序性能优化(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一避免在循环条件中使用