Gustafson定律
来源:互联网 发布:行知小学怎么样 编辑:程序博客网 时间:2024/04/30 20:41
Gustafson定律由美国计算机科学家John Gustafson及其合作者于1988年提出。Amdahl定律的隐含前提是串行部分所占比例是固定的,而Gustafson有以下两点假设:
问题规模增加后,不能并行执行部分的规模是固定的,换句话说在多处理器上串行执行的时间是固定的。
程序在多处理器上执行的总时间是常数。
仍然假设串行部分占总单处理器上的顺序执行时间的比例为 f,在单处理器上顺序执行时间为ts 。这样在多处理器上执行时,将执行时间分为两部分:顺序部分执行时间为 s = fts,可并行化部分执行时间为 r = (1-f)ts/p ,在多处理器上并行执行时总的时间为 tp =fts+(1-f)ts/p 。
由Gustafson的假设前提条件,总的并行执行时间为常数,假设 tp = s +r = fts+(1-f)ts/p =1 ,对该公式做一些代数变换,可以得到:fts+(1-f)ts = p + (1-p)fts
这就是Gustafson定律,由它的另外一个前提,串行部分的执行时间是规定的,因此fts就是常数。假设常数K=fts,那么上式可以写成以下形式:S(p)=p+(1-p)K=K+(1-K)p。由此不难看出,加速比 和处理器个数 p 呈线性增长关系。比如说K=0.01,那么在1024个处理器上所能达到的加速比为S(1024) = 0.01 + (1-0.01)×1024 = 1013.77。下图给出了几种不同K(图片来自维基百科,其中的a就是我们所说的K,x就是p)的取值情况下的加速比和处理器个数的关系图:
从图中也可以看出,在K值固定的情况下,加速比和处理器个数是呈线性增长的。Gustafson定律描述了增加处理器数目的同时相应的增大问题规模对加速比的影响,Gustafson定律认为此时加速比是线性的(执行时间不增加),实际上这种情况只在解决问题的时间和规模之间存在线性关系的时候成立,如果其关系非线性,那么就不成立。
参考文献与推荐阅读:
【1】Dr Aaron Harwood,The University of Melbourne 并行与多核计算课程材料
【2】周伟明,多核计算与程序设计,华中科技大学出版社,2009年
- Gustafson定律
- 阿姆达尔定律和Gustafson law
- 并行计算中的Amdahl与Gustafson定律
- 并行计算中的Amdahl与Gustafson定律
- 并发世界的2个重要定律Amdahl、Gustafson定律
- 定律
- 定律
- Amdahl 定律 (阿姆达尔定律)
- 二八定律(巴莱多定律)
- 墨菲定律、彼得定律、 帕金森定律
- 管理定律
- ESP定律
- 水桶定律
- 管理定律
- 管理定律
- 管理定律
- 魔鬼定律
- 定律若干
- JSP网站开发
- JAVA开发
- 一个关于C语言输入的问题
- 共享数据的保护
- PRAM模型与Amdahl定律
- Gustafson定律
- 两道关于哈希的Leetcode题目解析
- PHP学习系列$第四章:WHILE循环
- Eclipse快捷键(网上找的)
- Java多线程复制文件(转)
- 上班?
- 我卡壳了
- 关于面向对象的日期处理源代码
- [转]梅花雨的日历控件在ASP.NET2.0下不可用的解决方法