Home
Scholarly Works
A Java util concurrent park contention tool
Conference

A Java util concurrent park contention tool

Abstract

Java Util Concurrent (JUC) is a widely used library in multithreaded Java applications. JUC provides a variety of tools such as locks, thread pools and blocking queues. Many of these constructs use Thread Park, a mechanism which allows threads to be blocked from execution, as a means of thread synchronization. We modified the IBM Java Virtual Machine (JVM) creating a near zero overhead tool that measures and reports park contention data using a variety of metrics. This information can then be used to identify bottlenecks and consequently accelerate Java code. We demonstrate the usefulness of this JUC Park Contention Tool in two example code patterns where it successfully identifies the JUC lock bottleneck. Furthermore, we also compare theoretical with measured values of the metrics in an example program. Finally, we use our tool to profile the Java benchmarks SPECjbb2005, SPECjbb2013 and the DaCapo benchmark suite.

Authors

Patros P; Aubanel E; Bremner D; Dawson M

Pagination

pp. 106-111

Publisher

Association for Computing Machinery (ACM)

Publication Date

February 7, 2015

DOI

10.1145/2712386.2712389

Name of conference

Proceedings of the Sixth International Workshop on Programming Models and Applications for Multicores and Manycores
View published work (Non-McMaster Users)

Contact the Experts team