📜  电脑组织|阿姆达尔定律及其证明

📅  最后修改于: 2021-06-28 09:04:36             🧑  作者: Mango

它以计算机科学家Gene Amdahl(来自IBM和Amdahl公司的计算机架构师)的名字命名,并于1967年在AFIPS春季联合计算机会议上提出。它也被称为Amdahl的论点。它是一个公式,它提供了在固定工作负载下任务执行延迟的理论上的加速,这可以预期资源得到改善的系统。换句话说,它是用于仅通过改进系统的特定部分来找到可能的最大改进的公式。它经常用于并行计算中,以预测使用多个处理器时的理论加速。

加速-
加速定义为使用增强功能的整个任务的性能比,而不使用增强功能的整个任务的性能;加速可以定义为整个任务不使用增强的代码和整个执行时间的执行时间的比率任务使用增强功能。
如果Pe是在可能的情况下使用增强功能的整个任务的性能,Pw是不使用增强功能的整个任务的性能, Ew是不使用增强功能的整个任务的执行时间,Ee是使用增强功能的整个任务的执行时间然后,如果可能的话,

加速比= Pe / Pw
或者
加速= Ew / Ee

阿姆达尔定律使用两个因素从某种增强中找到加速的原因–

  • 增强的分数–可以转换为利用增强功能的原始计算机中计算时间的分数。例如,如果一个程序的执行时间的10秒(总共花费40秒)可以使用增强功能,则分数为10/40。该获得的值是“分数增强”的
    增强的分数始终小于1
  • 加速增强-由增强执行模式所取得的改善;也就是说,如果将增强模式用于整个程序,则任务将以多快的速度运行。例如–如果增强模式在程序的一部分上花费3秒,而在原始模式下则为6秒,则改进为6/3。此值是“加速”增强的。
    增强加速比总是大于1

    总体加速比是执行时间的比率:

    证明 :-
    假设Speedup为S,旧执行时间为T,新执行时间为T’,A部分(将被增强)占用的执行时间为t,A部分(增强后)所占用的执行时间为t’ ,将不被增强的部分所花费的执行时间为t n ,增强的分数为f’,加速的增强度为S’。

    现在从上面的等式

         S=\frac{T}{T'}

       T=t_{n}+ t

        T'=t_{n}+ t'

         f' = \frac{t}{T}

          = \frac{t}{t+t_{n}}

           1-f'= 1- \frac{t}{t+t_{n}}

        = \frac{t_{n}}{t+t_{n}}

           S'=\frac{t}{t'}

          t'=\frac{t}{s'}

         =\frac{T*f'}{S'}

         =\frac{(t_{n}+t)*f'}{S'}

        =\frac{t'}{t_{n}+t}=\frac{f'}{S'}

      S=\frac{T}{T'}

        = \frac{t_{n}+t}{t_{n}+t'}

            S = \frac{1}{1-f' + \frac{f'}{S'}}

      Overall Speedup = \frac{1}{1 - Fraction Enhanced + ( Fraction Enhanced/Speedup Enhanced )}
    由此证明。