ACM Home Page
Please provide us with feedback. Feedback
Scalable reader-writer locks
Full text PdfPdf (506 KB)
Source
ACM Symposium on Parallel Algorithms and Architectures archive
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures table of contents
Calgary, AB, Canada
SESSION: Concurrency mechanisms table of contents
Pages 101-110  
Year of Publication: 2009
ISBN:978-1-60558-606-9
Authors
Yossi Lev  Brown University and Sun Microsystems Laboratories, Burlington, MA, USA
Victor Luchangco  Sun Microsystems Laboratories, Burlington, MA, USA
Marek Olszewski  Massachusetts Institute of Technology and Sun Microsystems Laboratories, Burlington, MA, USA
Sponsors
SIGOPS: ACM Special Interest Group on Operating Systems
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 34,   Downloads (12 Months): 71,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1583991.1584020
What is a DOI?

ABSTRACT

We present three new reader-writer lock algorithms that scale under high read-only contention. Many previous reader-writer locks suffer significant degradation when many readers attempt to acquire the lock concurrently, even though they are all allowed to hold the lock at the same time. In contrast, our locks scale almost perfectly when there is only read contention on a 4-chip system with a total of 256 hardware threads.

Two of the algorithms extend the MCS queue mutex to provide reader-writer synchronization with low overhead, and can be used when busy-waiting synchronization is appropriate. The third algorithm is an improvement on a production-quality reader-writer lock used in the SolarisTM kernel, which provides robust priority and flexible fairness guarantees.

A key tool we developed to implement our reader-writer locks is the closable scalable nonzero indicator (C-SNZI), a variation on the SNZI object. C-SNZI objects allow us to significantly reduce the contention among reads when many readers try to acquire the lock concurrently, but keeps the acquisition overhead small in the absence of read contention. We present an algorithm for C-SNZI that achieves this goal, and show how it can be used by each of our lock algorithms to provide scalable reader-writer locks with different fairness guarantees.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Source code for kernel reader-writer lock in Open Solaris. Open Solaris OpenGrok, 2009. {online} http: //src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/os/rwlock.c.
2
3
 
4
D. Dice and N. Shavit. TLRW: Return of the read-write lock. In TRANSACT '09: Proceedings of the Fourth ACM SIGPLAN Workshop on Transactional Computing, 2009.
5
 
6
G. Grohoski. Niagara-2: A highly threaded server-on-a-chip. In HotChips 18: Proceedings of the Eighteenth IEEE HotChips Symposium on High-Performance Chips, 2006.
 
7
 
8
 
9
Y. Lev, V. Luchangco, V. Marathe, M. Moir, D. Nussbaum, and M. Olszewski. Anatomy of a scalable software transactional memory. In TRANSACT '09: Proceedings of the Fourth ACM SIGPLAN Workshop on Transactional Computing, 2009.
10
11
12

Collaborative Colleagues:
Yossi Lev: colleagues
Victor Luchangco: colleagues
Marek Olszewski: colleagues