performance - 理解阿姆达尔定律

标签 performance parallel-processing cpu-architecture

我试图理解下面的幻灯片 enter image description here

这个定义对我来说有点不清楚。维基百科等消息来源称,Amdahl's 测量在固定工作负载下执行任务的延迟加速,这可以预期资源得到改善的系统。对我来说,加速基本上是一个任务比其他任务运行的速度有多快。在这种情况下,加速以不同的方式使用。您能否以更简单的方式阐明阿姆达尔定律的衡量标准以及真正的加速是什么?

最佳答案

这里加速比的定义是:

加速 = 基线运行时间/新运行时间

这意味着如果运行时间是 BRT,可并行部分是 P,那么:

BRT = (1 - P) * BRT + P * BRT

现在,如果在运行时间的 P 部分获得了 S 的加速,那么新改进的运行时间 (IRT) 为:

IRT = (1 - P) * BRT + P * (BRT / S)
    = (1 - P) * BRT + (P / S) * BRT
    = ((1 - P) + (P / S)) * BRT

因此:

BRT / IRT = 1 / ((1 - P) + (P / S))

这是整体加速。这是阿姆达尔定律。

To me speedup is basically how faster a task runs over other task.

是的,加速可以用不同的方式定义。这可能有点令人困惑。

关于performance - 理解阿姆达尔定律,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39812808/

相关文章:

c++ - 哈佛架构映射到 HLL

android - 如何绘制具有低位图内存影响的平铺游戏板

performance - 我将如何限制 node.js 中服务器的上传速度?

javascript - 以特定方式对多维数组进行分组/压缩的更有效/更聪明的方法

sql - SQL Azure 上超时已过期;无法在本地 SQL Server 上重现

asynchronous - 我希望异步并行不会因错误而中断

Java 使用线程(并发)从文件进行复杂计算

java - 执行器服务-InvokeAll : How to Map response?

x86 - Intel x86_64 处理器不仅是流水线架构,还是超标量架构?

c# - 可用页面文件大小/虚拟内存