|
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
|
Tim Harris , Keir Fraser, Language support for lightweight transactions, Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, October 26-30, 2003, Anaheim, California, USA
|
| |
12
|
|
 |
13
|
|
| |
14
|
|
| |
15
|
|
 |
16
|
Maurice Herlihy , Victor Luchangco , Mark Moir , William N. Scherer, III, Software transactional memory for dynamic-sized data structures, Proceedings of the twenty-second annual symposium on Principles of distributed computing, p.92-101, July 13-16, 2003, Boston, Massachusetts
[doi> 10.1145/872035.872048]
|
 |
17
|
|
 |
18
|
|
 |
19
|
Kiyokuni Kawachiya , Akira Koseki , Tamiya Onodera, Lock reservation: Java locks can mostly do without atomic operations, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
 |
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
|
|
CITED BY 6
|
|
|
|
|
Bratin Saha , Ali-Reza Adl-Tabatabai , Richard L. Hudson , Chi Cao Minh , Benjamin Hertzberg, McRT-STM: a high performance software transactional memory system for a multi-core runtime, Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming, March 29-31, 2006, New York, New York, USA
|
|
|
|
|
|
Michael F. Spear , Arrvindh Shriraman , Luke Dalessandro , Sandhya Dwarkadas , Michael L. Scott, Nonblocking transactions without indirection using alert-on-update, Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures, June 09-11, 2007, San Diego, California, USA
|
|
|
|
|
|
|
|