Serviceeinschränkungen vom 12.-22.02.2026 - weitere Infos auf der UB-Homepage

Treffer: Fork/Join Parallelism in the Wild Documenting Patterns and Anti-Patterns in Java Programs using the Fork/Join Framework

Title:
Fork/Join Parallelism in the Wild Documenting Patterns and Anti-Patterns in Java Programs using the Fork/Join Framework
Contributors:
The Pennsylvania State University CiteSeerX Archives
Collection:
CiteSeerX
Document Type:
Fachzeitschrift text
File Description:
application/pdf
Language:
English
Rights:
Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number:
edsbas.8F2C8D8E
Database:
BASE

Weitere Informationen

Now that multicore processors are commonplace, developing par-allel software has escaped the confines of high-performance com-puting and enters the mainstream. The Fork/Join framework, for instance, is part of the standard Java platform since version 7. Fork/Join is a high-level parallel programming model advocated to make parallelizing recursive divide-and-conquer algorithms par-ticularly easy. While, in theory, Fork/Join is a simple and effective technique to expose parallelism in applications, it has not been in-vestigated before whether and how the technique is applied in prac-tice. We therefore performed an empirical study on a corpus of 120 open source Java projects that use the framework for roughly 362 different tasks. On the one hand, we confirm the frequent use of four best-practice patterns (Sequential Cutoff, Linked Subtasks, Leaf Tasks, and avoiding unnecessary forking) in actual projects. On the other hand, we also discovered three recurring anti-patterns that poten-tially limit parallel performance: sub-optimal use of Java collec-tions when splitting tasks into subtasks as well as when merging the results of subtasks, and finally the inappropriate sharing of re-sources between tasks. We document these anti-patterns and study their impact on performance.