Computing Publications

Publications Home » Fast Multi-Level Locks for Java: ...

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

Khilan Gudka, Susan Eisenbach

Position Paper
EC^2 2010: Workshop on Exploiting Concurrency Efficiently and Correctly
July, 2010

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 using Java's Synchronizer framework 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 and LSA.

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 ReentrantReadWriteLock and 3x against STM).

PDF of full publication (66 kilobytes)
(need help viewing PDF files?)
BibTEX file for the publication
Conditions for downloading publications from this site. built & maintained by Ashok Argent-Katwala.