Peter Hofer, Andreas Schörgenhumer, David Gnedt, Hanspeter Mössenböck,
"Efficient Tracing and Versatile Analysis of Lock Contention in Java Applications on the Virtual Machine Level"
, in Proceedings of the 7th Int'l Conference on Performance Engineering: ICPE '16, Serie ICPE?16, ACM, Seite(n) 263-274, 3-2016, ISBN: 978-1-4503-4080-9
Original Titel:
Efficient Tracing and Versatile Analysis of Lock Contention in Java Applications on the Virtual Machine Level
Sprache des Titels:
Englisch
Original Buchtitel:
ICPE '16
Original Kurzfassung:
Concurrent programming has become a necessity in order
to benefit from recent advances in processor design. However,
implementing correct and scalable locking for accessing
shared resources remains a challenge. Examining lock contention
in an application at runtime is vital to determine
where more sophisticated but error-prone locking pays off.
In this paper, we present a novel approach for analyzing
lock contention in Java applications by tracing locking events
in the Java Virtual Machine. Unlike common methods, our
approach observes not only when a thread is blocked on
a lock, but also which other thread blocked it by holding
that lock, and records both their call chains. This reveals
the causes of lock contention instead of showing only its
symptoms. We describe the techniques which we use to
efficiently record trace events, metadata, and call chains.
We present a versatile tool for the analysis of the traces
which enables users to identify locking bottlenecks and their
characteristics in an effective way. We implemented our
approach in the widely used HotSpot Virtual Machine, and
with a mean runtime overhead of 7.8%, we consider it efficient
enough to monitor production systems