Efficient Sampling-based Lock Contention Profiling for Java
Sprache des Titels:
ICPE '17 - Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering
Concurrent code commonly uses locks. Choosing between simpler but less scalable and more sophisticated but error-prone locking mechanisms is difficult during development. Therefore, lock contention analysis at run-time is crucial to aid such decisions.
We present a novel sampling-based approach for collecting detailed information on lock contention in Java applications by using the Java Virtual Machine Tool Interface (JVMTI) and bytecode instrumentation. We support both intrinsic locks as well as java.util.concurrent locks. Moreover, we can determine not only where contention occurs but also where it is caused. With a mean run-time overhead of about 5%, we consider our approach suitable for use in production environments.