Amdahl 定律,也称为 Amdahl 论证,用于在仅改进部分过程时找到整个过程的最大预期改进。
1 | where S is the maximum theoretical Speedup achievable
S = __________________________; | s is the pure-[SERIAL]-section fraction
( 1 - s ) | ( 1 - s ) a True-[PARALLEL]-section fraction
s + _________ | N is the number of processes doing the [PAR.]-part
N |
由于代数,s + ( 1 - s ) == 1, s 是来自< 0.0 .. 1.0 > 的任何东西,这里没有机会得到负值。
Amdahl 论点的完整背景
和当代批评,
添加所有主要附加开销因素&
更好地处理工作原子性
它经常应用于parallel-computing 领域,用于预测使用多个处理器可实现的理论最大加速比。该法律以 Gene M. AMDAHL 博士(IBM 公司)命名,并于 1967 年在 AFIPS 春季联合计算机会议上提出。
他的论文扩展了之前的工作,Amdahl 本人将其引用为“...对当前发布的相关计算机功能的最彻底的分析之一 ...”,于 1966 年 9 月由教授Kenneth E. KNIGHT,斯坦福工商管理学院。
论文对流程改进保持了总体看法。
图1:
a SPEEDUP
BETWEEN
a <PROCESS_B>-[SEQ.B]-[PAR.B:N]
[START] and
[T0] [T0+tsA] a <PROCESS_A>-[SEQ.A]-ONLY
| |
v v
| |
PROCESS:<SEQ.A>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>|
| |
+-----------------------------------------+
| |
[T0] [T0+tsB] [T0+tsB+tpB]
| | |
v v v
|________________|R.0: ____.____.____.____|
| |R.1? ____.____| :
| |R.2? ____| : :
| |R.3? ____| : :
| |R.4? : : :
| |R.5? : : :
| |R.6? : : :
| |R.7? : : :
| | : : :
PROCESS:<SEQ.B>>>>>>>>>>|<PAR.B:4>: : :
| |<PAR.B:2>:>>>>: :
|<PAR.B:1>:>>>>:>>>>>>>>>: ~~ <PAR.B:1> == [SEQ]
: : :
: : [FINISH] using 1 PAR-RESOURCE
: [FINISH] if using 2 PAR-RESOURCEs
[FINISH] if using 4 PAR-RESOURCEs
(执行时间从左到右,从[T0] .. 到[T0 + ts1 + tp1]。
这里选择[SEQ]、[PAR] 部分的草图顺序只是为了说明目的,可以原则上相反,因为流程部分的持续时间排序原则上是可交换的)
{ 程序 | 的加速进程 },来自于在并行计算中使用多个处理器,被推导为(可能会让观众感到惊讶)主要受限于所消耗的时间的一小部分对于处理的未改进部分,通常是程序处理的顺序部分,仍然以纯[SERIAL] 进程调度方式执行(可能是由于本身没有并行化,或者非本质上是可并行的)。
例如,如果一个程序需要 20 小时使用单个处理器内核,而该程序需要 1 小时才能执行的特定部分无法并行化(已在纯-[SERIAL] 中处理过) strong> 进程调度方式),而剩余 19 小时(95%)的执行时间可以并行化(使用真正的-[PARALLEL](不是“只是"-[CONCURRENT]) 进程调度),那么不管有多少处理器专门用于并行化进程执行其余的进程,可实现的最短执行时间不可能少于(第一个)关键的一小时程序。
因此,Speedup 可实现的主要限制为 20 倍,即使对于过程。
另见:
CRI UNICOS has a useful command amlaw(1) which does simple
number crunching on Amdahl's Law.
------------
在 CRI 系统类型上:man amlaw。
1 1
S = lim ------------ = ---
P->oo 1-s s
s + ---
P
S = speedup which can be achieved with P processors
s (small sigma) = proportion of a calculation which is serial
1-s = parallelizable portion
Speedup_overall
= 1 / ( ( 1 - Fraction_enhanced ) + ( Fraction_enhanced / Speedup_enhanced ) )
文章发送至parallel@ctc.com(行政:bigrigg@ctc.com)
存档:http://www.hensa.ac.uk/parallel/internet/usenet/comp.parallel
批评:
虽然 Amdahl 制定了面向流程的加速比较,但许多教育工作者不断重复该公式,就好像它是为多处理流程重新安排而假设的,而没有考虑以下主要问题:
-
处理的原子性(处理的某些部分不能进一步分割,即使有更多的处理资源可供进程调度程序使用并且是免费的——参考资源绑定的、进一步不可分割的原子处理- 上面图1中的部分)
-
附加开销,主要存在并与任何新进程创建、调度程序重新分配、进程间通信、处理结果重新收集以及远程进程资源的释放和终止相关联(它对
N 的比例依赖性尚未得到广泛证实,参考 JL Gustafson 博士、Jack Dongarra 等人,他们声称在N 中的方法优于线性缩放)
如果在当代并行计算领域将苹果与苹果进行比较,这两个因素都必须包含在开销严格、资源感知的阿姆达尔定律重新制定中。任何使用开销天真公式的结果都是教条式的结果,到目前为止,Gene M. Amdahl 博士在他的论文(上面的参考文献)中没有提出这个结果,并且比较苹果和橙子从来没有给任何人带来任何积极的影响。任何严谨领域的科学论述。
阿姆达尔定律加速 S 的开销严格重新制定:
1
S = __________________________; where s, ( 1 - s ), N were defined above
( 1 - s ) pSO:= [PAR]-Setup-Overhead add-on
s + pSO + _________ + pTO pTO:= [PAR]-Terminate-Overhead add-on
N
开销严格和资源感知的重新制定:
1 where s, ( 1 - s ), N
S = ______________________________________________ ; pSO, pTO
/ ( 1 - s ) \ were defined above
s + pSO + max| _________ , atomicP | + pTO atomicP:= further indivisible duration of atomic-process-block
\ N /
最大有效加速的交互式工具:
由于上述原因,一张图片在这里可能值百万字。试试this,它是一个完全交互的工具,用于使用严格的开销阿姆达尔定律。