amdahl定律
表达式
对提升系统某一部分性能所带有的效果做出的观察,这个观察被称作为Amdahl定律。
对系统的某个部门进行加速时,其对系统的整体性能的影响取决于该部分的重要性和加速程度。若系统执行某应用程序需要的时间Told,假设系统某部分执行的时间与Told的比例为a,而改部分性能提升比例为K,及该部分初始所需时间为aTold,现在所需时间为(aTold)k,总的执行时间为:
Tnew = (1-a)Told + (aT~old)/k= [(1-a) + a/k]
加速比 S=Told/Tnew
S=1/((1-a)+a/k)
计算机系统性能方面应用
系统性能的两个指标分别是:
1.运行速度:服务时间、等待时间
2.处理能力:生产量、吞吐量
我们说系统的可伸缩性是指当增加计算资源时(例如CPU、内存、存储容量或I/O带宽),程序的吞吐量或者处理能力能相应地增加。
改善比例k可以理解为cpu的数量。理想情况每加一台cpu,k为自然数增加。但是根据amdahl定律,当K趋于无穷时,S = 1 / (1-a) 。这时候真正的瓶颈在于程序本身的执行速度,加入程序串行化设计过多,执行的时间比a就会加大,加速比还是不会提升