skip to main content
10.1145/1011767.1011776acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
Article

Lock-free linked lists and skip lists

Published: 25 July 2004 Publication History

Abstract

Lock-free shared data structures implement distributed objects without the use of mutual exclusion, thus providing robustness and reliability. We present a new lock-free implementation of singly-linked lists. We prove that the worst-case amortized cost of the operations on our linked lists is linear in the length of the list plus the contention, which is better than in previous lock-free implementations of this data structure. Our implementation uses backlinks that are set when a node is deleted so that concurrent operations visiting the deleted node can recover. To avoid performance problems that would arise from traversing long chains of backlink pointers, we introduce flag bits, which indicate that a deletion of the next node is underway. We then give a lock-free implementation of a skip list dictionary data structure that uses the new linked list algorithms to implement individual levels. Our algorithms use the single-word C&S synchronization primitive.

References

[1]
M. Fomitchev. Lock-free linked lists and skip lists. Master's thesis, York University, October 2003. http://www.cs.yorku.ca/?mikhail.
[2]
K. A. Fraser. Practical lock-freedom PhD Thesis, University of Cambridge, December 2003. Technical Report UCAM-CL-TR-579.
[3]
T. L. Harris. A pragmatic implementation of non-blocking linked-lists. In Proceedings of the 15th International Symposium on Distributed Computing, pages 300--314, 2001.
[4]
M. Herlihy. Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13(1):124--149, 1991.
[5]
M. Herlihy. A methodology for implementing highly concurrent data objects. ACM Transactions on Programming Languages and Systems 15(5):745--770, 1993.
[6]
M. Herlihy and J. Wing. Linearizability: a correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems 12(3):463--492, 1990.
[7]
IBM System/370 extended architecture, principles of operation., 1983. IBM Publication No. SA22-7085.
[8]
M. M. Michael. High performance dynamic lock-free hash tables and list-based sets. In Proceedings of the 14th annual ACM Symposium on Parallel Algorithms and Architectures, pages 73--82, 2002.
[9]
M. M. Michael. Safe memory reclamation for dynamic lock-free objects using atomic reads and writes. In Proceedings of the 21st Annual Symposium on Principles of Distributed Computing, 2002.
[10]
M. M. Michael and M. L. Scott. Correction of a memory managemen method for lock-free data structures. Technical Report TR599, Computer Science Department, University of Rochester, 1995.
[11]
W. Pugh. Concurrent maintenance of skip lists. Technical Report CS-TR-2222, Computer Science Department, University of Maryland, 1990.
[12]
W. Pugh. Skip lists: a probabilistic alternative to balanced trees. Communications of ACM, 33(6):668--676, 1990.
[13]
N. Shavi and I. Lotan. Skiplist-based concurrent priority queues. In Proc. 14th IEEE/ACM International Parallel and Distributed Processing Symposium, pages 263--268, 2000.
[14]
H. Sundell and P. Tsigas. Fast and lock-free concurrent priority queues for multi-thread systems. In Proceedings of the 17th IEEE/ACM International Parallel and Distributed Processing Symposium, pages 84--94, April 2003.
[15]
H. Sundell and P. Tsigas. Scalable and lock-free concurrent dictionaries. In Proceedings of the 19th ACM Symposium on Applied Computing, pages 1438--1445, March 2004.
[16]
R. K. Treiber. Systems programming: Coping with parallelism. Research report RJ 5118, IBM Almaden Research Center, 1986.
[17]
J. D. Valois. Lock-free linked lists using compare-and-swap. In Proceedings of the 14th ACM Symposium on Principles of Distributed Computing, pages 214--222, 1995.

Cited By

View all
  • (2024)Griffin: Fast Transactional Database Index with Hash and B+-Tree2024 IEEE 20th International Conference on e-Science (e-Science)10.1109/e-Science62913.2024.10678674(1-10)Online publication date: 16-Sep-2024
  • (2024)A Lock-free Binary Trie2024 IEEE 44th International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS60910.2024.00024(163-174)Online publication date: 23-Jul-2024
  • (2024)Optimizing LSM-based indexes for disaggregated memoryThe VLDB Journal10.1007/s00778-024-00863-y33:6(1813-1836)Online publication date: 19-Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PODC '04: Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
July 2004
422 pages
ISBN:1581138024
DOI:10.1145/1011767
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 July 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. amortized analysis
  2. analysis
  3. distributed
  4. efficient
  5. fault-tolerant
  6. linked list
  7. lock-free
  8. skip list

Qualifiers

  • Article

Conference

PODC04
PODC04: Principles of Distributed Computing 2004
July 25 - 28, 2004
Newfoundland, St. John's, Canada

Acceptance Rates

Overall Acceptance Rate 740 of 2,477 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)76
  • Downloads (Last 6 weeks)5
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Griffin: Fast Transactional Database Index with Hash and B+-Tree2024 IEEE 20th International Conference on e-Science (e-Science)10.1109/e-Science62913.2024.10678674(1-10)Online publication date: 16-Sep-2024
  • (2024)A Lock-free Binary Trie2024 IEEE 44th International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS60910.2024.00024(163-174)Online publication date: 23-Jul-2024
  • (2024)Optimizing LSM-based indexes for disaggregated memoryThe VLDB Journal10.1007/s00778-024-00863-y33:6(1813-1836)Online publication date: 19-Jun-2024
  • (2024)A wait-free queue with polylogarithmic step complexityDistributed Computing10.1007/s00446-024-00471-737:4(309-334)Online publication date: 17-Aug-2024
  • (2024)Lower Bounds on the Amortized Time Complexity of Shared ObjectsTheory of Computing Systems10.1007/s00224-024-10184-w68:5(1372-1426)Online publication date: 12-Jul-2024
  • (2023)A Wait-free Queue with Polylogarithmic Step ComplexityProceedings of the 2023 ACM Symposium on Principles of Distributed Computing10.1145/3583668.3594565(124-134)Online publication date: 19-Jun-2023
  • (2023)Practically and Theoretically Efficient Garbage Collection for MultiversioningProceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3572848.3577508(66-78)Online publication date: 25-Feb-2023
  • (2023)The Fence Complexity of Persistent SetsStabilization, Safety, and Security of Distributed Systems10.1007/978-3-031-44274-2_3(36-51)Online publication date: 30-Sep-2023
  • (2022)Performance Analysis of RCU-Style Non-Blocking Synchronization Mechanisms on a Manycore-Based Operating SystemApplied Sciences10.3390/app1207345812:7(3458)Online publication date: 29-Mar-2022
  • (2022)AB-treeProceedings of the VLDB Endowment10.14778/3538598.353860615:9(1835-1847)Online publication date: 1-May-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media