Amdahl定律

Amdahl定律讲的是当用多CPU核心来处理一个任务时,这个任务所能获得的最大理论加速。

先看下面的公式:

  • n代表CPU核心数
  • S(n),代表采用n个CPU核心时所能获得的理论加速(倍数)
  • T(1),任务采用单CPU核心时的耗时
  • T(n),任务采用n个CPU核心时的耗时
  • B,任务无法中平行化的代码的比率
  • 1 - B,任务中可以平行化的代码的比率

这个公式等价于下面的公式:

  • n代表CPU核心数
  • S(n),代表采用n个CPU核心时所能获得的理论加速(倍数)
  • P,任务中可以平行化的代码的比率

其实这个公式告诉我们,随着CPU核心数的增加,你所能获得的加速边际效应是递减的,看下面这张图:

版权

评论