码迷,mamicode.com
首页 > 其他好文 > 详细

阿姆达尔Law对系统性能提升的定义

时间:2019-11-02 23:37:19      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:影响   比例   amd   导出   提升   www   性能   lan   设计   

阿姆达尔定律 = Amdahl‘s Law,本篇重点是介绍该定律。

背景
系统架构中对系统性能设计的解决方案之一:“阿姆达尔方案”。书中还有个完全看不懂的公式,理解起来脑仁痛(不懂...)但发现很有价值,便系统的学习一下。

例题试先做一下,带着疑问点再看定律。

例题:假设某一功能的处理时间为整体系统运行时间的60%,若使该功能的处理速度提高至原来的5倍,则根据阿姆达尔定律,整个系统的处理速度可提高至原来的多少倍?

定理公式
优化前系统总耗时To(old),优化后系统总耗时Tn(new),加速比S=To/Tn。

Speedup = timeOld / timeNew
详细公式:

S = 1 / ((1-C) + C/S)
S(speedup),加速比。

C,原系统中能够改进的部分占总部分的比例,也可以说能够改进部分运行时间占总系统运行时间的比例,比如:75%。

S,改进后系统的提升比例,比如:5倍。

举例分解
上面的例子细化一下:程序A中子程序B的运行时间占A的60%,子程序B优化提升了5倍速度,那么程序A将多少?

程序A初始假设速度可为1,如下:

1/((1-0.6)+0.6/5) = 1/(0.4+0.12) = 1/0.52 = 1.923

Amdahl
amdahl

阿姆达尔 Gene Amdahl,出生于1922年11月16日,出生在美国南达科他州的弗德鲁,是著名的企业家,创办多家公司。积木创意Amdahl曾经是研究并行处理系统的,1967年Amdahl推导出了固定负载情况下描述并行处理效果的加速公式。

并行公式

P是并行率。若P=1,获取到无穷加速比;

并行理论

定律的理解
本篇要说的是它的一种变形运用。

定义:系统中对某一部件采用更快执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频率,或所占总执行时间的比例。

阿姆达尔定律实际上定义了采取增强(加速)某部分功能处理的措施后可获得的性能改进或执行时间的加速比。简单来说:要想显著加速整个系统,必须提升全系统大部分的速度。可以再简单些:优化影响最大的部分。

Amdahl-law-faster

建议采用这样的思路来优化系统性能,也可以直接采用公式来量化改进效果。这个公式在操作上十分的简单很实用,可以运用在整个系统分析上,也可以在模块分析上,甚至是一个方法上。

阿姆达尔Law对系统性能提升的定义

标签:影响   比例   amd   导出   提升   www   性能   lan   设计   

原文地址:https://blog.51cto.com/14573286/2447173

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!