Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

Lock elision for read-only critical sections in Java

View through CrossRef
It is not uncommon in parallel workloads to encounter shared data structures with read-mostly access patterns, where operations that update data are infrequent and most operations are read-only. Typically, data consistency is guaranteed using mutual exclusion or read-write locks. The cost of atomic update of lock variables result in high overheads and high cache coherence traffic under active sharing, thus slowing down single thread performance and limiting scalability. In this paper, we present SOLERO (Software Optimistic Lock Elision for Read-Only critical sections) , a new lock implementation called for optimizing read-only critical sections in Java based on sequential locks. SOLERO is compatible with the conventional lock implementation of Java. However, unlike the conventional implementation, only critical sections that may write data or have side effects need to update lock variables, while read-only critical sections need only read lock variables without writing them. Each writing critical section changes the lock value to a new value. Hence, a read-only critical section is guaranteed to be consistent if the lock is free and its value does not change from the beginning to the end of the read-only critical section. Using Java workloads including SPECjbb2005 and the HashMap and TreeMap Java classes, we evaluate the performance impact of applying SOLERO to read-mostly locks. Our experimental results show performance improvements across the board, often substantial, in both single thread speed and scalability over the conventional lock implementation (mutual exclusion) and read-write locks. SOLERO improves the performance of SPECjbb2005 by 3-5% on single and multiple threads. The results using the HashMap and TreeMap benchmarks show that SOLERO outperforms the conventional lock implementation and read-write locks by substantial multiples on multi-threads.
Association for Computing Machinery (ACM)
Title: Lock elision for read-only critical sections in Java
Description:
It is not uncommon in parallel workloads to encounter shared data structures with read-mostly access patterns, where operations that update data are infrequent and most operations are read-only.
Typically, data consistency is guaranteed using mutual exclusion or read-write locks.
The cost of atomic update of lock variables result in high overheads and high cache coherence traffic under active sharing, thus slowing down single thread performance and limiting scalability.
In this paper, we present SOLERO (Software Optimistic Lock Elision for Read-Only critical sections) , a new lock implementation called for optimizing read-only critical sections in Java based on sequential locks.
SOLERO is compatible with the conventional lock implementation of Java.
However, unlike the conventional implementation, only critical sections that may write data or have side effects need to update lock variables, while read-only critical sections need only read lock variables without writing them.
Each writing critical section changes the lock value to a new value.
Hence, a read-only critical section is guaranteed to be consistent if the lock is free and its value does not change from the beginning to the end of the read-only critical section.
Using Java workloads including SPECjbb2005 and the HashMap and TreeMap Java classes, we evaluate the performance impact of applying SOLERO to read-mostly locks.
Our experimental results show performance improvements across the board, often substantial, in both single thread speed and scalability over the conventional lock implementation (mutual exclusion) and read-write locks.
SOLERO improves the performance of SPECjbb2005 by 3-5% on single and multiple threads.
The results using the HashMap and TreeMap benchmarks show that SOLERO outperforms the conventional lock implementation and read-write locks by substantial multiples on multi-threads.

Related Results

They Talk Muṯumuṯu: Variable Elision of Tense Suffixes in Contemporary Pitjantjatjara
They Talk Muṯumuṯu: Variable Elision of Tense Suffixes in Contemporary Pitjantjatjara
Vowel elision is common in Pitjantjatjara and Yankunytjatjara connected speech. It also appears to be a locus of language change, with young people extending elision to new context...
Elision in Esahie
Elision in Esahie
One of the syllable structure changes that occur in rapid speech because of sounds influencing each other is elision. This paper provides an account of elision in Esahie, also know...
INFLUENCE OF VOWEL ASSIMILATION AND ELISION IN THE SPELLING OF SOME IGBO NAMES
INFLUENCE OF VOWEL ASSIMILATION AND ELISION IN THE SPELLING OF SOME IGBO NAMES
This study examined how the spelling of some Igbo names are affected by vowel assimilation and elision. It used names that people answer in Igbo clan, precisely, from the Departmen...
Local Biologies
Local Biologies
In her 1993 comparative study of the experience, symptoms, and meanings of menopause in Japan and North America, anthropologist Margaret Lock used “local biologies” as a concept to...
[RETRACTED] Keanu Reeves CBD Gummies v1
[RETRACTED] Keanu Reeves CBD Gummies v1
[RETRACTED]Keanu Reeves CBD Gummies ==❱❱ Huge Discounts:[HURRY UP ] Absolute Keanu Reeves CBD Gummies (Available)Order Online Only!! ❰❰= https://www.facebook.com/Keanu-Reeves-CBD-G...
ESTIMATION OF TECHNICAL EFFICIENCY OF RED CHILI FARMING ON JAVA AND OUTSIDE JAVA, INDONESIA: A STOCHASTIC FRONTIER PRODUCTION APPROACH
ESTIMATION OF TECHNICAL EFFICIENCY OF RED CHILI FARMING ON JAVA AND OUTSIDE JAVA, INDONESIA: A STOCHASTIC FRONTIER PRODUCTION APPROACH
The supply of red chili in various regions in Indonesia still relies on production from Java. Different uses of production factors are insufficient to overcome production gap betwe...
Spin-block synchronization algorithm in the shared memory multiprocessor system
Spin-block synchronization algorithm in the shared memory multiprocessor system
Implemmentation of efficient synchronization algorithm is imporant in the parallel processing computer. Everyone usually say that implementation of synchronization in the parallel ...
Multilevel Security Biometric Authentication Locking System Using Arduino UNO
Multilevel Security Biometric Authentication Locking System Using Arduino UNO
The main aim of our project is to implement the door lock system using the fingerprint sensor. There are many modern locks that replace the regular locks due to the high security, ...

Back to Top