主要应用:改善“系统瓶颈”性能。
Amdahl定律定义了加速比:
加速比=采用改进措施后性能/未采用改进措施前的性能
=未采用改进措施前执行某任务时间/采用改进措施后执行某任务的时间
n个处理器加速因子S=n/[1+(n-1)f]:f为非平行百分比,n越大,S不能超过1/f
概括地讲,阿姆达尔定律并不否定并行计算的价值。相反,它提醒我们要想达到并行性能就必须考虑整个程序。
而对于不熟悉计算机的读者来说,可以用一下比较恰当的比喻使读者能够更加清楚的理解这个定律:一个人从A到B需要走一个确定的路程,为60公里。但他在前30公里的速度为20km/h,所以无论他在后半程怎么加速,整个行程的平均速度也达不到60km/h。
在过去的很多年里,软件性能的提升很大程度上源自处理器速度的增长。软件工程师面对客户抱怨说软件运行得太慢的通常回答是:升级你的系统。
然而现在由于处理器速度逐渐逼近物理极限,继续提高处理器的时钟速度会导致发热量显著增加,甚至核心熔化。江郎才尽的硬件工程师想出了一个能保住自己饭碗的办法:既然不能提高单个核心的速度,那就在一个处理器里面封装多个核心。于是我们进入了多核处理器的时代。
今天,随着多核处理器的发展,计算领域正在发生具有革命性影响的转变。