Pessimistic Software Lock-Elision
Name
Shavit_Pessimistic software.pdf
Size
598.21 KB
Format
Adobe PDF
Checksum (MD5)
e1083e76bbab4dbb6fa28db8ff02c914
Author(s) • •
Afek, Yehuda
Matveev, Alexander
Shavit, Nir N.
Date Issued
2012
Journal
Distributed Computing
Publisher
Springer-Verlag
Citation
Afek, Yehuda, Alexander Matveev, and Nir Shavit. “Pessimistic Software Lock-Elision.” Lecture Notes in Computer Science (2012): 297–311.
Version
Author's final manuscript
Abstract
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.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1007/978-3-642-33651-5_21