【问题标题】:maximum speed up achieved达到最大加速
【发布时间】:2017-04-16 07:00:21
【问题描述】:

如果应用程序只有 80% 的执行时间可以并行运行,您可以实现的最大加速比是多少?

我做了这样的事情,

1-.8 = .2 
overall speedup = 1/0.2 = 5

我不确定我尝试的天气是对还是错?请澄清。

【问题讨论】:

    标签: cpu-architecture cpu-speed parallelism-amdahl


    【解决方案1】:

    您需要将这 20% 作为常数,因为它需要串行执行。

    还要记住,Sp 取决于处理器的数量。总是。我们可以做理论,因为 N 个处理器是一个“已知”变量。但更多的处理器也会带来更少的“理想”。当您增加处理器数量时会导致更高的错误。理想是线性函数(Sp/p),实际上不是。

    所有并行程序包含:

    • 平行部分
    • 连续章节

    串行部分限制并行有效性

    阿姆达尔定律正式声明了这一点: 多处理器对加速的影响

    Sp = Ts/Tp <= 1/(fs + (fp/p))
    
    • Sp:连续算法的执行时间
    • Tp:并行算法的执行时间
    • fs:代码的串行部分
    • fp:代码的并行部分
    • p:处理器数量

    在你的情况下

    Sp 将小于或等于:

    1/(0.2 + 0.8/p)

    最大 Sp 的结果是什么:

    2 个处理器:1,666

    4 个处理器:2,5 ... .

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-05
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多