Parallel processing 了解阿姆达尔';s定律

Parallel processing 了解阿姆达尔';s定律,parallel-processing,cpu-architecture,Parallel Processing,Cpu Architecture,我正在努力理解下面的幻灯片 这个定义对我来说有点不清楚。wikipedia等消息来源称,Amdahl测量了在固定工作负载下任务执行延迟的加速,这是一个资源得到改善的系统可以预期的。对我来说,加速基本上就是一个任务比另一个任务运行的速度有多快。在这种情况下,加速是以不同的方式使用的。你能澄清阿姆达尔定律以更简单的方式衡量的是什么,以及什么是加速吗 这里加速比的定义是: 加速=基线运行时间/新运行时间 这意味着,如果运行时间为BRT且可并行部分为p,则: BRT = (1 - P) * BRT +

我正在努力理解下面的幻灯片


这个定义对我来说有点不清楚。wikipedia等消息来源称,Amdahl测量了在固定工作负载下任务执行延迟的加速,这是一个资源得到改善的系统可以预期的。对我来说,加速基本上就是一个任务比另一个任务运行的速度有多快。在这种情况下,加速是以不同的方式使用的。你能澄清阿姆达尔定律以更简单的方式衡量的是什么,以及什么是加速吗

这里加速比的定义是:

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

这意味着,如果运行时间为BRT且可并行部分为p,则:

BRT = (1 - P) * BRT + P * BRT
现在,如果在运行时间的p部分获得S的加速,则新的改进运行时间(IRT)为:

因此:

BRT / IRT = 1 / ((1 - P) + (P / S))
这是总体加速。这是阿姆达尔定律

对我来说,加速基本上就是一个任务比另一个任务运行的速度有多快


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

阿姆达尔定律测量的是理论上的最大加速,这几乎从未实现过,一旦你知道不同部分的含义,这个公式很容易理解,

好的,那么公式是
加速比=1/1-f+f/p

  • 1表示整个代码
  • 1-f表示串行代码的数量(不能并行)
  • f表示可以并行化的代码
  • p表示处理器的数量
因此,如果我们说有10个处理器,我们有40%的代码可以并行化。
公式为加速比=1/1-40%(0.4)+40%(0.4)/10


不是专业人士,您可能想检查一下,但如果我没记错的话,这就是它的工作原理:)

加速是指如果B具有一些附加功能或与a不同的行为,那么同一程序在B系统上运行的速度比在a系统上快多少。好的,但是你能解释阿姆达尔定律背后的想法吗?你的公式缺少帕伦斯。按照标准的操作顺序,您编写的内容意味着
(1/1)-f+(f/p)
。是的,这是一个很好的答案;阿姆达尔定律假设工作负载的平行部分具有完美的可伸缩性,因此对于大多数问题来说,这纯粹是理论上的,不现实的。
BRT / IRT = 1 / ((1 - P) + (P / S))