BRAVO—Biased Locking for Reader-Writer Locks
Talkat USENIX ATC '19 · on Thursday, 2019-07-11· at 10:05· USENIX ATC Track II: Grand Ballroom VII–IX·
summary
BRAVO augments any reader‑writer lock by adding two integer fields to each lock and using a shared 4,000-entry table where readers hash thread id and lock address and install the lock pointer via CAS so most readers avoid mutating a central counter. Writers clear a bias flag, scan the table to revoke readers, and inhibit re-biasing for a multiple of the measured revocation time (example 10 ms → 100 ms). Implementations in user space and Linux rwsem show near per‑CPU read scalability, ~32 KB table cost, and collision impact of less than 6%.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 0:21ReaderWriter Locks
- 7:51Evaluation Goals
- 8:19Integration
- 9:03Memory Requirements
- 11:01Performance Comparison
- 12:20Write Operations
- 15:27Results
- 16:01Summary
- 17:54Future Directions
related talks
42mReader-Writer Lock versus Mutex - Understanding a Lost Bet
28mAre mutexes slow?
01h 06m“How to make your data structures wait-free for reads"
28mRevisit Multi-Reader Synchronizations for Scalable Applications
40mKernel Locking Engineering
47mUsing Java 8 Lambdas and Stampedlock to manage thread safety
20mRRR-SMR: Reduce, Reuse, Recycle: Better Methods for Practical Lock-Free Data Structures
01h 08mDesigning fast lock free algorithms by understanding cache coherence dynamics
