Zur Hauptnavigation wechseln Zur Suche wechseln Zum Hauptinhalt wechseln

Efficient Tracing and Versatile Analysis of Lock Contention in Java Applications on the Virtual Machine Level

Publikation: Beitrag in Buch/Bericht/KonferenzbandKonferenzbeitragBegutachtung

Abstract

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
OriginalspracheEnglisch
TitelICPE 2016 - Proceedings of the 7th ACM/SPEC International Conference on Performance Engineering
Herausgeber*innen Proceedings of the 7th Int'l Conference on Performance Engineering
VerlagACM
Seiten263-274
Seitenumfang12
ISBN (elektronisch)9781450340809
ISBN (Print)978-1-4503-4080-9
DOIs
PublikationsstatusVeröffentlicht - 12 März 2016

Publikationsreihe

NameICPE’16

Wissenschaftszweige

  • 102 Informatik
  • 102009 Computersimulation
  • 102011 Formale Sprachen
  • 102013 Human-Computer Interaction
  • 102022 Softwareentwicklung
  • 102029 Praktische Informatik

JKU-Schwerpunkte

  • Computation in Informatics and Mathematics
  • TNF Allgemein

Dieses zitieren