ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Locking without blocking: making lock based concurrent data structure algorithms nonblocking
Full text PdfPdf (1.06 MB)
Source Symposium on Principles of Database Systems archive
Proceedings of the eleventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems table of contents
San Diego, California, United States
Pages: 212 - 222  
Year of Publication: 1992
ISBN:0-89791-519-4
Authors
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGMOD: ACM Special Interest Group on Management of Data
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 32,   Citation Count: 26
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/137097.137873
What is a DOI?

ABSTRACT

Nonblocking algorithms for concurrent data structures guarantee that a data structure is always accessible. This is in contrast to blocking algorithms in which a slow or halted process can render part or all of the data structure inaccessible to other processes. This paper proposes a technique that can convert most existing lock-based blocking data structure algorithms into nonblocking algorithms with the same functionality. Our instruction-by-instruction transformation can be applied to any algorithm having the following properties: •Interprocess synchronization is established solely through the use of locks. •There is no possiblity of deadlock (e.g. because of a well-ordering among the lock requests). In contrast to a previous work, our transformation requires only a constant amount of overhead per operation and, in the absence of failures, it incurs no penalty in the amount of concurrency that was available in the original data structure. The techniques in this paper may obviate the need for a wholesale reinvention of techniques for nonblocking concurrent data structure algorithms.


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.

 
BS77
Bayer, M. and Scholnick. Concurrency of Operations on B-Trees. Acta Informatica, 9:1-21, 1977.
 
CBDW91
A. Colbrook, E.A. Brewer, C.N. Dellarocas, and W.E. Weihl. An algorithm for concurrent search trees.In Proceedzngs of the #Oth International Conference on Parallel Processing, pages III138-III141, 1991.
Her88
 
IBM83
IBM. IBM 370 Pmnc#ples of Operation, May 1983. Publication GA22-7000.
JS90
KL80
LS81
 
PLJ91
Prakash, S., Y. H. Lee, and T. Johnson. A Non-Blocking Algorithm for Shared Queues Using Compare-and-Swap. In Internatzonal Conference on Parallel Processing, 1991.
Plo89
SC91
SG88
 
Sto90
 
Ten81
 
WW90
W.E. Weihl and P. Wang. Multi-version memory: Software cache management for concurrent B-trees. In Proceedsngs of the 2nd IEEE Sympossum on Parallel and Dsstmbuted Process,ng, pages 650-655, 1990.

CITED BY  26

Collaborative Colleagues:
John Turek: colleagues
Dennis Shasha: colleagues
Sundeep Prakash: colleagues