ACM Home Page
Please provide us with feedback. Feedback
Revocable locks for non-blocking programming
Full text PdfPdf (204 KB)
Source Principles and Practice of Parallel Programming archive
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming table of contents
Chicago, IL, USA
SESSION: Synchronization models table of contents
Pages: 72 - 82  
Year of Publication: 2005
ISBN:1-59593-080-9
Authors
Tim Harris  Microsoft Research, Cambridge, UK
Keir Fraser  University of Cambridge Computer Laboratory, Cambridge, UK
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 64,   Citation Count: 6
Additional Information:

abstract   references   cited by   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/1065944.1065954
What is a DOI?

ABSTRACT

In this paper we present a new form of revocable lock that streamlines the construction of higher level concurrency abstractions such as atomic multi-word heap updates. The key idea is to expose revocation by displacing the previous lock holder's execution to a safe address. This provides mutual exclusion without needing to block threads. This brings many simplifications, often removing the need for dynamic memory management and letting us strip operations from common-case execution paths. As well as streamlining algorithms' design, our results show that the technique leads to improved performance and scalability across a range of levels of contention.


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
2
 
3
Bershad, B. N. Practical considerations for non-blocking concurrent objects. Technical Report CMU-CS-91-116, Carnegie Mellon University, School of Computer Science, Oct. 1991.
 
4
Burrows, M. How to implement unnecessary mutexes. In Computer Systems: Theory, Technology and Applications (Dec. 2003), Springer-Verlag.
5
 
6
Fraser, K. Practical lock freedom. PhD thesis, University of Cambridge Computer Laboratory, 2003.
7
8
9
 
10
Harris, T. Exceptions and side-effects in atomic blocks. In Proceedings of the 2004 Workshop on Concurrency and Synchronization in Java programs (July 2004), pp. 46--53. Proceedings published as Memorial University of Newfoundland CS Technical Report 2004-01.
11
 
12
13
 
14
 
15
16
17
18
19
20
 
21
Michael, M. M. ABA prevention using single-word instructions. Tech. Rep. RC-23089, IBM Research Division, Jan. 2004.
22
 
23
Pizlo, F., Prochazka, M., Jagannathan, S., and Vitek, J. Transactional lock-free objects for real-time Java. In Proceedings of the 2004 PODC Workshop on Concurrency and Synchronization in Java Programs (July 2004).
 
24
 
25
Rajwar, R., and Goodman, J. R. Transactional lock-free execution of lock-based programs. ACM SIG PLAN Notices 37, 10 (Oct. 2002), 5--17.
 
26
Shavit, N., and Touitou, D. Software transactional memory. Distributed Computing, Special Issue 10, 2 (1997), 99--116.
 
27