知识大全 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程序性能优化-性能概述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 第章 J
知识大全 Java程序性能优化--让你的Java程序更快、更稳定
Java程序性能优化--让你的Java程序更快、更稳定 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
Java程序性能优化-优化的一般步骤 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java程序性能优化-性能的参考指标 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java程序性能优化-系统优化注意事项 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
Java程序性能优化-木桶原理与性能瓶颈 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
Java程序性能优化(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 十四对于boolean
漫谈Java程序的性能优化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java使得复杂应用的
Java程序性能优化(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 八如果只是查找单个字符
Java程序性能优化(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一避免在循环条件中使用