计算机体系结构:加速

时间:2014-05-10 03:57:57

标签: performance equation computer-architecture parallelism-amdahl

这是作业。

问题: 程序具有20%的存储器访问,50%的乘法,其余的与其他功能无关。如果需要总体加速比为1.2,如果两者都得到同等改善,则内存访问和乘法需要多少加速。

我想如果我使用Amdahl定律在一个或另一个中寻找加速,我知道如何做到这一点,但我不知道如何解决这个问题找到如果它们得到同等改善,每个人的加速。

如果只是寻找内存访问,我想我会为x解决以下等式:

1.2 = 1/[(1 - 0.2) + 0.2/x]

关键是将两个百分比结合起来并在Amdahl定律中使用0.2 + 0.5 = 0.7吗?

1 个答案:

答案 0 :(得分:1)

假设当前执行时间为100秒。

所需的加速比为6/5,这意味着旧时间的新时间应为5/6,减少16.67%或16.67秒。 (这就是所有阿姆达尔定律!)

你知道内存访问花了20秒,乘法花了50秒,其他东西花了30秒。

问题"如果两者均得到均衡改善"很暧昧。 这是否意味着两者都减少了相同的绝对量,即每个16.67的一半, 或者它是否意味着它们按比例减少,16.67秒中有2/7来自记忆,其中5/7来自乘法?

你从那里拿走它!

BTW:当学者们谈论性能调优时,他们往往会想到一些小页面的程序,其中内存访问和数学运算以及big-O就是它的全部内容。 真实世界的性能调整是非常不同的。 它是关于找出软件如何过度设计并使用性能诊断(如分析,但更好)来找出脂肪的位置并在多次迭代中将其切掉。 Example.