Skip to main content
Article thumbnail
Location of Repository

S.: Fast Multi-Level Locks for Java: A Preliminary Performance Evaluation

By Khilan Gudka and Susan Eisenbach


Atomic sections guarantee atomic and isolated execution of a block of code. Transactional Memory can be used to implement them but suffers from the inability to support system calls and has high overhead. Lock inference is a pessimistic alternative that infers the locks necessary to prevent thread interference. Our research looks at lock inference techniques for Java programs. An important aspect of the performance of a lock inference approach is the efficiency of its runtime locks. In this paper, we describe an implementation of the multi-level locks of Gray et al [7] using Java’s Synchronizer framework [14] and present some preliminary performance results for a number of workloads that perform a varying proportion of fine-grained and coarse-grained operations. We compare our lock implementation against Java’s ReentrantReadWriteLock and the STM algorithms TL2 [6] and LSA [17]. For fine-grained workloads, we show that multi-level locks perform similarly to ReentrantReadWriteLock but in workloads that mix fine-grained and coarse-grained data operations, they achieve better performance (upto 11x against ReentrantRead-WriteLock and 3x against STM). 1

Year: 2013
OAI identifier: oai:CiteSeerX.psu:
Provided by: CiteSeerX
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • (external link)
  • (external link)
  • Suggested articles

    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.