Fork/Join 框架 in Java 摘要&前言
来源:互联网 发布:姚明nba打球平均数据 编辑:程序博客网 时间:2024/05/19 00:10
原文作者:Doug Lea State University of New York at Oswego
原文地址:点击此处
摘要
这篇文章从设计、实现和性能三个方面描述了一个支持并行编程方式的Java框架。使用该框架,我们可以通过将许多大规模的问题递归地分解成许多子任务,进而可以并行地解决这些子任务,然后等所有子任务计算完成后将所有的计算结果组合起来(一般按串行的方式)。其大体的设计就是一个工作窃取(work-stealing)框架的变体。(注:work-stealing框架是为英特尔的Cilk语言设计的。)主要的实现技术是围绕任务队列(tasks queues)和工作线程(worker threads)的有效构建和管理进行的。实测性能显示好的并行可提升大多数程序的速度,但是也同时暗示存在待改进的可能性。
1.前言
对于获得好的并行性能而言,Fork/Join并行模型是最简单和最高效的设计技术。Fork/Join算法跟分治算法很相似,可以说是分治法的并行化版本,可形式化地描述为:
Result solve(Problem problem) {
if (problem is small) {
directly solve problem
}
else {
split problem into independent parts
fork new subtasks to solve each part
join all subtasks
compose result from subresults
}
}
fork操作:开启一个新的并行 fork/join 子任务;
join操作:与java线程中join操作的作用一样,阻止当前任务继续处理直到被fork的子 任务全部完成。
Fork/join算法,同其他分治算法类似,总是递归执行的,即:重复一层一层分解子任务直到所得到的子任务足够地小,小到用简单、简短的串行方法就可以解决。
还有一些相关的编程技术和示例在《Concurrent Programming in Java,second edition》的4.4节中有被讨论到。本篇论文会讨论针对一个名为FJTask的java框架的设计(第二部分)、实现(第三部分)和性能(第四部分)。该框架可以支持并行编程方式。
FJTask作为util.concurrent包的一部分,可以从http://gee.cs.oswego.edu或
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html获得。
0 0
- Fork/Join 框架 in Java 摘要&前言
- java Fork-join框架
- Java Fork/join框架
- JAVA Fork/Join 框架
- Java Fork Join 框架
- Java Fork/Join框架
- Java 7 Fork/Join 框架
- Java 7 Fork/Join 框架
- Java 7 Fork/Join 框架
- java Fork/Join框架介绍
- Java并发-Fork/Join框架
- 《Java Fork/Join框架介绍》
- JAVA中的Fork/Join框架
- Java 7 Fork/Join 框架
- Java并发框架Fork/Join
- Java中Fork/Join框架
- Java线程之fork/join框架
- Java多线程之fork/join框架详解
- JDK和JRE的区别
- win7 64位 安装oracle10g(32位)+plsql9.0 ORA-12154:提示无法解析指定的连接符
- oracle 临时表空间的增删改查
- service知识分类
- 美国科技博客
- Fork/Join 框架 in Java 摘要&前言
- 华为中级——字符串分割
- CRT堆 程序退出时的异常
- jQuery实现复选框全选/全部取消/反选/获得选择的值
- 遇到的问题----腾讯qq地图系统异常
- 如何让笔记本变成wifi热点
- cocos2d-x: 33种切换场景
- 如何让spring开发中beans.xml出现属性提示
- sam 百度面经的问题总结(2) 性能优化