TY - GEN
T1 - Pessimistic software lock-elision
AU - Afek, Yehuda
AU - Matveev, Alexander
AU - Shavit, Nir
PY - 2012
Y1 - 2012
N2 - 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.
AB - 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.
KW - Lock-elision
KW - Locks
KW - Multicore
KW - Software Transactional memory
KW - Wait-free
UR - http://www.scopus.com/inward/record.url?scp=84868356864&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-33651-5_21
DO - 10.1007/978-3-642-33651-5_21
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:84868356864
SN - 9783642336508
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 297
EP - 311
BT - Distributed Computing - 26th International Symposium, DISC 2012, Proceedings
T2 - 26th International Symposium on Distributed Computing, DISC 2012
Y2 - 16 October 2012 through 18 October 2012
ER -