定律)与Gustafson(古斯塔夫森定律)"/>
【高并发趣事一】——Amdahl(阿姆达尔定律)与Gustafson(古斯塔夫森定律)
在高并发程序设计中有非常重要的两个定律,这个两个定律从不同角度诠释了加速比与系统串行化程度、CPU核心数之间的关系,他们使我们在做高并发程序设计的理论依据:
- Amdahl(阿姆达尔定律)
- Gustafson(古斯塔夫森定律)
一、Amdahl(阿姆达尔定律)
1.1 加速比定义
加速比 = 优化前系统耗时 / 优化后系统耗时
所谓加速比就是优化前的耗时和优化后的耗时的比值。加速比越高,表明优化效果越明显。
下图是该公式的推导过程:其中n表示处理器个数,T表示时间,T1表示优化前耗时(也就是一个CPU耗时),Tn表示使用n个处理器优化后的耗时。F是程序中只能串行执行的比例。
根据这个公式,如果CPU处理器数量趋于无穷,那么加速比与系统的串行化比例成反比,也就说 如果系统中有50%的代码必须串行化,那么系统的最大加速比为2.
我们在看下面一个例子:
更多推荐
【高并发趣事一】——Amdahl(阿姆达尔定律)与Gustafson(古斯塔夫森定律)
发布评论