Pessimistic Software Lock-Elision

Read-write locks are one of the most prevalent lock forms in concurrent applications because they allow read accesses to locked code to proceed in parallel. However, they do not offer any parallelism between reads and writes. This paper introduces pessimistic lock-elision (PLE), a new approach for n...

Full description

Bibliographic Details
Main Authors: Afek, Yehuda (Author), Matveev, Alexander (Author), Shavit, Nir N. (Contributor)
Other Authors: Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science (Contributor)
Format: Article
Language:English
Published: Springer-Verlag, 2014-10-10T13:09:02Z.
Subjects:
Online Access:Get fulltext
LEADER 01660 am a22002053u 4500
001 90880
042 |a dc 
100 1 0 |a Afek, Yehuda  |e author 
100 1 0 |a Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science  |e contributor 
100 1 0 |a Shavit, Nir N.  |e contributor 
700 1 0 |a Matveev, Alexander  |e author 
700 1 0 |a Shavit, Nir N.  |e author 
245 0 0 |a Pessimistic Software Lock-Elision 
260 |b Springer-Verlag,   |c 2014-10-10T13:09:02Z. 
856 |z Get fulltext  |u http://hdl.handle.net/1721.1/90880 
520 |a Read-write locks are one of the most prevalent lock forms in concurrent applications because they allow read accesses to locked code to proceed in parallel. However, they do not offer any parallelism between reads and writes. This paper introduces pessimistic lock-elision (PLE), a new approach for non-speculatively replacing read-write locks with pessimistic (i.e. non-aborting) software transactional code that allows read-write concurrency even for contended code and even if the code includes system calls. On systems with hardware transactional support, PLE will allow failed transactions, or ones that contain system calls, to preserve read-write concurrency. Our PLE algorithm is based on a novel encounter-order design of a fully pessimistic STM system that in a variety of benchmarks spanning from counters to trees, even when up to 40% of calls are mutating the locked structure, provides up to 5 times the performance of a state-of-the-art read-write lock. 
520 |a National Science Foundation (U.S.) (Grant 1217921) 
546 |a en_US 
655 7 |a Article 
773 |t Distributed Computing