Proceedings of the 19th International Conference on Parallel Architectures and Compilation Techniques 2010
DOI: 10.1145/1854273.1854287
|View full text |Cite
|
Sign up to set email alerts
|

Simple and fast biased locks

Abstract: Locks are used to ensure exclusive access to shared memory locations. Unfortunately, lock operations are expensive, so much work has been done on optimizing their performance for common access patterns. One such pattern is found in networking applications, where there is a single thread dominating lock accesses. An important special case arises when a single-threaded program calls a thread-safe library that uses locks.An effective way to optimize the dominant-thread pattern is to "bias" the lock implementation… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
19
0

Year Published

2012
2012
2024
2024

Publication Types

Select...
4
4
1

Relationship

0
9

Authors

Journals

citations
Cited by 26 publications
(19 citation statements)
references
References 13 publications
0
19
0
Order By: Relevance
“…Biased locking [32] is arguably the most popular technique in this domain. Biased locking relies on the assumption that locks are rarely contended, because even though a specific object might be accessed in parallel, often objects are only used temporarily by a single thread.…”
Section: Minimizing Synchronization and Avoiding It At Run Timementioning
confidence: 99%
“…Biased locking [32] is arguably the most popular technique in this domain. Biased locking relies on the assumption that locks are rarely contended, because even though a specific object might be accessed in parallel, often objects are only used temporarily by a single thread.…”
Section: Minimizing Synchronization and Avoiding It At Run Timementioning
confidence: 99%
“…Two solutions proposed for this are to have the non-owner thread interrupt and pause the owner thread [Kawachiya et al 2002], or to have the owner thread poll for lock requests [Vasudevan et al 2010]. The former requires an expensive kernel call and fixup mechanism to pause the owner and take the lock, while the latter can exhibit starvation if the owner does not poll regularly.…”
Section: Migration and Biased Lockingmentioning
confidence: 99%
“…Biased locking algorithms were proposed by Vasudevan et al [Vasudevan et al 2010]. Applications for the Java programming language, where syntax-level support for locks makes them a frequent construct even when not strictly necessary, were described by Russel and Detlefs [Russell and Detlefs 2006], Kawachiya et al [Kawachiya et al 2002] and Onodera et al [Onodera et al 2004].…”
Section: Related Workmentioning
confidence: 99%
“…All these mechanisms are slow, and require significant interaction with the operating system. Vasudevan et al [2010] combine the ideas of tiered locks and SERIALIZE() into a single scheme. Like Onodera et al [2004] they use a two-tier locking scheme.…”
Section: Asymmetric Lockingmentioning
confidence: 99%