Lock-Free Linked Lists Using Compare-and-Swap (1995)
| Venue: | In Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing |
| Citations: | 84 - 1 self |
BibTeX
@INPROCEEDINGS{Valois95lock-freelinked,
author = {John D. Valois},
title = {Lock-Free Linked Lists Using Compare-and-Swap},
booktitle = {In Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing},
year = {1995},
pages = {214--222}
}
Years of Citing Articles
OpenURL
Abstract
Lock-free data structures implement concurrent objects without the use of mutual exclusion. This approach can avoid performance problems due to unpredictable delays while processes are within critical sections. Although universal methods are known that give lock-free data structures for any abstract data type, the overhead of these methods makes them inefficient when compared to conventional techniques using mutual exclusion, such as spin locks. We give lock-free data structures and algorithms for implementing a shared singly-linked list, allowing concurrent traversal, insertion, and deletion by any number of processes. We also show how the basic data structure can be used as a building block for other lock-free data structures. Our algorithms use the single word Compare-and-Swap synchronization primitive to implement the linked list directly, avoiding the overhead of universal methods, and are thus a practical alternative to using spin locks. 1 Introduction A concurrent object is an...







