天天看点

Amdahl定律

Amdahl定律是计算机领域内很重要的一个定律,定律的内容可以表示为:对计算机系统的某个部分采用优化措施后所获得的计算机性能的提高,依赖于这部分的执行时间在整个执行时间中所占的比例,换句话说也就是对计算机系统的某个部分采用优化措施后所获得的计算机性能的提高是有上限的。

    Amdahl定律定义了加速比,加速比可以定义为:

        未采用优化措施时整个任务的执行时间 / 采用优化措施后整个任务的执行时间

    也可定义为:

        采用优化措施后执行整个任务的性能 / 未采用优化措施时执行整个任务的性能

    加速比受两个因素影响,分别是增强比例和增强加速比。对于增强比例和增强加速比的理解可以举个例子:假设对计算机系统的某个部分采用优化措施前,整个任务的执行时间是n,其中可被优化的那部分的执行时间是m,采用优化措施后,被优化的那部分的执行时间是p,那么增强比例表示为:m/n;增强加速比表示为:p/m。

    根据上述,加速比的公式可以表示为:

     Speedup = 1/[(1-增强比例) + (增强加速比 / 增强比例)]

     举个Amdahl定律的例子:

     现在我们分析一个用于web服务器系统处理器的性能。假定采用以下的增强方式,新的处理器处理WEB服务器应用程序的运行速度是原来的10倍,同时假定此服务器有40%的时间用于计算,另外60%的时间用于I/O操作,那么增强性能后总的加速比是多少?

  解答:增强比例=0.4  增强加速比=10  总加速比=1/[(1-0.4)+(0.4/10)]=1.56