Efficient Sampling-based Lock Contention Profiling for Java
Sprache des Vortragstitels:
Proceedings 8th ACM/SPEC International Conference on Performance Engineering (ICPE 2017)
Sprache des Tagungstitel:
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.