Amdahl定律(阿姆达尔定律)

简介: Amdahl定律(阿姆达尔定律)

Amdahl 定律是计算机系统中的一个重要定律,核心思想是:我们对计算机系统的某一部分加速的时候,该加速部分对系统整体性能的影响取决于该部分的重要性和加速程度。也就是说,比如一个应用程序A,当系统执行他的时候所需要的时间是T,那么系统执行的时候可能是好几部分在执行他,假设系统某一部分执行所需要的时间为t,t与T的比值是a(t / T = a,也就是说 t = aT), 而该部分性能提升了k倍,那么所需要的时间就变成了 t’ = aT / k。这时候总的执行时间为


T(总) = T - t + t'  

T(总) = T - t + t' 
    = T - aT + aT / k 
      = (1 - a) *T + (aT) / k
      = (1 - a + a/k) * T  

这个时候,加速比就是:S = T / T(总)

          T                   1
s =------------------  =  ---------------
   (1 - a + a/k ) * T      (1 - a + a/k)

假如说:系统中某个部分运行程序耗时比例为60%,他的加速因子为3(k = 3),那么我们可以获得的加速比为

1 / (1 - 0.6 + 0.6 / 3) = 1 / 0.6 = 1.6667

说明,我们对系统一个部分作出重要改进,提速三倍,但是整体的速度却只提速1.6667,明显小于这一部分的提速。这就是Amdahl 的主要观点,要想显著加速整个系统,必须提升全系统中相当大部分的速度。


细节: 表示相对性能:性能提升最好的表示方法就是用比例,T(old) / T(new),如果速度有所改进,那么该比值就会大于1,比如时间由4变成了2,那么比值就是2,我们可以用 ”2.0X“来表示2倍。


Amldahl定律有一个有趣的情况就是考虑k趋向于无穷的时候,这就意味着,我们可以取系统的某一部分将其加速到一个点,在这个点上,这部分花费的时间可以忽略不计,那么就是S(k -> oo) = 1 / (1 - a)。举个例子:

如果60%的系统能够加速到不花时间的程度,我们获得的净加速比仍只有1 / (1 - 0.6) = 1 / 0.4 = 2.5X。


Amdahl定律描述了改善任何过程的一般原则,除了可以用在加速计算机系统方面,还可以用在公司试图降低刀片制作成本,或者学生提高自己的学分绩点平均值等方面。我们常常把性能提升2倍或者更高的比例因子,这么高的比例因子只有通过优化系统的大部分组件才可以获得。


练习题1: 假设你是卡车司机,你要将货物从A 运送到B,全程2500km,在限速范围内,你估计平均速度为100km/h,那么整个过程需要25小时

1). 你听新闻说在你送货的某一段路上取消了限速,这使得行程中1500km可以以150km/h速度行驶,那么这对整个行程的加速比是多少?

2). 你可以为自己的卡车买个新的涡轮增压器,使自己的卡车跑得更快,使得不限速的那段路程跑得更快,如果想让整个行程的加速比为1.67X,那么你必须以多块的速度通过加速的那段路段?


练习题2: 公司的市场部向你承诺,下一个版本的软件性能将改进2X,这项任务被分配给你,你已经确认只有80%的系统能被改进,那么,这80%这一部分需要被改进多少(即k取多少)才能达到整体性能目标?


练习题答案请参考Amdahl定律练习题答案


参考书籍:《深入理解计算机系统(第三版)》

相关文章
|
2月前
|
IDE 开发工具
额度翻倍!还有四天
Qoder推出Sonus模型专属福利:9月16-19日,付费用户每日12:00可领1000 Credits,用于全球顶级Sonus模型——支持编程、长程任务、专业软件操作及公式表格处理。登录Qoder各端活动入口即可领取。
683 0
|
存储 前端开发 测试技术
DDD - 六边形架构和CQRS架构
DDD - 六边形架构和CQRS架构
2222 0
|
缓存 编译器
软件体系结构 - 指令集架构
软件体系结构 - 指令集架构
852 0
|
存储 关系型数据库 MySQL
mysql8对gis的支持
mysql8对gis的支持
1331 0
|
人工智能 JavaScript 开发者
解决 AI 落地“最后一公里”:如何优雅地将 Gemini 深度内容无损转为 Word 文档?
本文探讨如何将Gemini生成的Markdown内容无损转换为Word文档,破解公式乱码、图表失效、格式错乱三大难题。对比Google Docs原生导出、Pandoc命令行工具与在线方案,从易用性、公式支持、图表渲染等维度评测,助你高效产出可编辑、高保真的专业文档,实现AI写作到办公交付的无缝衔接。
4416 0
解决 AI 落地“最后一公里”:如何优雅地将 Gemini 深度内容无损转为 Word 文档?
|
SQL 人工智能 监控
SLS Copilot 实践:基于 SLS 灵活构建 LLM 应用的数据基础设施
本文将分享我们在构建 SLS SQL Copilot 过程中的工程实践,展示如何基于阿里云 SLS 打造一套完整的 LLM 应用数据基础设施。
3689 129
|
10月前
|
机器学习/深度学习 移动开发 人工智能
大模型应用:庖丁解牛:QKV机制详解,大模型的注意力之眼.4
QKV机制是Transformer注意力的核心:Query(提问)、Key(标识)、Value(信息)三者通过点积计算相似度,Softmax归一化后加权融合Value,实现动态上下文感知。它能捕捉长程依赖,解决代词消解、一词多义等问题,支撑大模型强大语言理解能力。
2407 7
|
网络协议
伪头部校验
伪头部校验
1684 6
|
人工智能 分布式计算 监控
AgentSociety:告别纸上谈兵!AI社会模拟器预判政策漏洞:输入新规秒看30年后社会形态
AgentSociety 是清华大学推出的基于大语言模型的社会模拟器,通过构建类人心智的智能体模拟复杂社会行为,适用于政策沙盒测试、危机预警等场景。
1173 6
|
存储 缓存 算法
【软考:软件设计师】 3 计算机组成与体系结构(二)详解存储系统 | 输入输出与总线
【软考:软件设计师】 3 计算机组成与体系结构(二)详解存储系统 | 输入输出与总线
1545 0