首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算机体系结构:加速

计算机体系结构:加速
EN

Stack Overflow用户
提问于 2014-05-10 03:57:57
回答 1查看 2K关注 0票数 0

这是作业。

问题:A程序有20%的内存访问,50%的乘法,其余的用于其他与之无关的函数。如果需要总体加速比为1.2,那么如果两者都得到了同样的改进,那么内存访问和乘法都需要多少加速比。

我想如果我用Amdahl定律来寻找一个或另一个的加速比,我想我知道如何做到这一点,但是我不知道如何处理这个问题,以找到每一个问题的加速比,如果它们得到了同样的改进。

如果它只是在寻找内存访问,我想我会为x求解以下方程:

代码语言:javascript
复制
1.2 = 1/[(1 - 0.2) + 0.2/x]

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-02 21:12:48

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

预期的加速比为6/5,这意味着旧时间的新时间应该是5/6,减少16.67%或16.67秒。(安达尔的法则就是这样!)

你知道,20秒用于内存访问,50秒用于乘法,30秒用于其他内容。

“如果两者都得到同等改进”的问题是模棱两可的。这是否意味着两者都减少了相同的绝对值,即每一次减少16.67的一半,还是意味着它们按比例减少,从记忆中得到16.67秒的2/7,从乘法中减少5/7?

你从那里拿走!

顺便说一句:当学者们谈论性能调优时,他们往往会想到一些小的1页程序,其中内存访问和数学运算以及大O才是最重要的。现实世界的性能调优是非常不同的。它是关于如何找出软件是如何过度设计的,并使用性能诊断(如分析,但更好),以找出脂肪在哪里,并削减它,在多次迭代。https://stackoverflow.com/a/927773/23771

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23576949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档