laixintao / python-parallel-programming-cookbook-cn

📖《Python Parallel Programming Cookbook》中文版
http://python-parallel-programmning-cookbook.readthedocs.io/
1.49k stars 93 forks source link

6.4.阿姆德尔定律 公式有问题 #80

Open here101 opened 4 years ago

here101 commented 4 years ago

该节中阿姆德尔定律wiki上译为阿姆达尔定律,翻译中该定律公式太简单了,并且译中:例如一个程序90%的代码都是并行的,但仍存在10%的串行代码,那么系统中即使由无限个处理器能达到的最大加速比仍为9

计算错误,不应该是9,应该是10,套用阿姆达尔定律:s=1/[1/10+(9/10)/p];p趋于∞,s=10.

laixintao commented 4 years ago
image

好像原文也错了?这个定律我不是很了解,我得再去学习一下。

marslicy commented 3 years ago

Amdahl's law假定所有任务都可以分成可并行(parallel)和不可并行(即串行 serial)两部分,用p表示并行比例,s表示串行比例。假设串行执行所需要的时间为T(1),则使用N个执行单元并行时所需时间为T(N)=sT(1)+pT(1)/N. Speedup=T(1)/T(N),当N趋于无穷时,Speedup=1/s,所以此处应该是10

laixintao commented 3 years ago

谢谢,这块我不是很了解,我再研究下,回头修正一下原文。