学科前沿技术(amdahl定律对多核的影响)

什么是amdahl定律?
计算机科学中的一个重要定律。
描述:系统中某部件由于采用某种方式使系统性能改进后,整个系统性能的提高与该方式的使用频率或占总的执行时间的比例有关。
主要应用:改善“系统瓶颈”性能。
Amdahl定律定义了加速比:
加速比=采用改进措施后性能/未采用改进措施前的性能
=未采用改进措施前执行某任务时间/采用改进措施后执行某任务的时间
n个处理器加速因子S=n/[1+(n-1)f]:f为非平行百分比,n越大,S不能超过1/f
阿姆达尔定律 不可并行计算的存在是很重要的,因为它将限制并行化的潜在好处。阿姆达尔定律指明如果一个计算的1/S本质上是顺序的,那么最大的性能改进将受限于因数S。其论证如下,一个并行计算的执行时间TP将是顺序部分计算时间和可并行化部分计算时间两者的和。如果该计算顺序地执行需要花费的时间是TS,则当有P个处理器时,TP可表示为S=n/[1+(n-1)f]
假想P值非常大,使得可并行化部分的执行时间可以忽略不计,则最大可改进的性能将是因数S。也就是说,顺序执行代码在计算中所占的比例决定了使用并行手段所能改进性能的潜力。
阿姆达尔定律是由IBM公司的计算机体系结构师吉恩·阿姆达尔在1967年发表的论文中提出的。这一定律与供求定律(Low of Supply and Demand)具有同样的意义:如前面的方程式所示,它描述了程序执行时间中两部分的关系。两个定律均是解释重要现象行为的有力工具,且两个定律都将影响该行为的其他参量视为常数。特别地,阿姆达尔定律适用于单程序场合。
实际的情况可能比阿姆达尔定律暗示的更坏。一个明摆着的问题是计算的可并行化部分可能无法改进到极致(即只要增加仍可继续改进性能的处理器数总有一个上限),因此并行执行时间不大可能消失。此外,如在上一节所提到的,一个并行实现经常会比顺序求解需要执行更多的总指令数,导致低估(1-1/S)·TS值。
 
其对多核的影响?
 
随着技术的发展,多核心处理器已成为现今处理器发展的潮流.提高处理器性能的方法有许多,其中主要有提高频率与增加核心数量等.提高频率在现有条件下已经比较困难且不经济,增加核心数量之路又能走多远.加速比是衡量系统性能提升的一个重要指标,Amdahl定律便是其中之一.在Amdahl定律的范围内(且不考虑包括通讯开销等在内的并行开销),通过对单一核心提高频率和增加核心数量两个方面的讨论可以得出:在可并行执行部分的执行时间占总执行时间的比例f=0.5时,提高单一核心频率与增加核心所得加速比相同;当f<0.5时,提高单一核心频率可比增加核心数量获得更大加速比;当f>0.5时,增加核心数量获得的加速比更大些.因此,在核心数量增加到一定程度时,通过提高单一核心的频率可获得更高加速比,也可能是更经济有效的方案。
 

你可能感兴趣的:(学科前沿技术(amdahl定律对多核的影响))