Title
FJProf: Profiling Fork/Join Applications on the Java Virtual Machine
Abstract
Fork/join applications are divide-and-conquer algorithms recursively forking tasks that are executed in parallel, waiting for them to complete, and then typically joining their results. An efficient fork/join application maximizes parallelism while minimizing overheads, and maximizes locality while minimizing contention. However, there is no unique optimal implementation that best resolves such tradeoffs and failing in balancing them may lead to fork/join applications suffering from several issues (e.g., suboptimal forking, load imbalance, excessive synchronization), possibly compromising the benefits of task-parallel execution. Moreover, there is a lack of profilers enabling performance analysis of a fork/join application. As a result, developers are often required to implement their own tools to analyze fork/join applications, which could be time-consuming, error-prone, and is often beyond the expertise of the developer. In this paper, we present FJProf, a novel profiler which accurately collects runtime metrics to allow characterizing several performance attributes specific to a fork/join application running on a single Java Virtual Machine (JVM) in a shared-memory multi-core. FJProf reports information and graphics to developers that help them understand the details of any fork/join processing exposed by a parallel application running on the JVM. We show how FJProf supports performance analysis by characterizing a fork/join application from the Renaissance benchmark suite.
Year
DOI
Venue
2020
10.1145/3388831.3388851
VALUETOOLS '20: 13th EAI International Conference on Performance Evaluation Methodologies and Tools Tsukuba Japan May, 2020
Keywords
DocType
ISBN
Performance analysis, fork/join parallelism, Java Virtual Machine
Conference
978-1-4503-7646-4
Citations 
PageRank 
References 
0
0.34
0
Authors
3
Name
Order
Citations
PageRank
Eduardo Rosales122.06
Andrea Rosà200.34
Walter Binder3107792.58