The Java Fork/Join framework developed by Doug Lea is a framework that aims to simplify parallel programming type tasks. The framework is particularly suited to divide-and-conquer type algorithms where tasks are recursively split into smaller tasks and then executed. Results are then reassembled after all subtasks are completed.
Overall, the framework is pretty small. I think I saw a quote in the write-up that the entire framework was somewhere around 800 lines of code. At a high level, the framework uses a thread pool with task runners to execute tasks. This avoids some of the performance penalties associated with the Java Thread class. I liked the work-stealing algorithm implemented using the double-ended queues.
Performance of the framework seemed to be reasonable. I would be interested in seeing updated performance results using a more recent version of the JRE. I think when this paper was published, the author used version 1.2 of the JRE which is fairly outdated in today's standards.
Wednesday, September 30, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment