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

Lock-free linked lists and skip lists

Published:25 July 2004Publication 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.Google ScholarGoogle Scholar
  2. K. A. Fraser. Practical lock-freedom PhD Thesis, University of Cambridge, December 2003. Technical Report UCAM-CL-TR-579.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Herlihy. Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13(1):124--149, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Herlihy. A methodology for implementing highly concurrent data objects. ACM Transactions on Programming Languages and Systems 15(5):745--770, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. IBM System/370 extended architecture, principles of operation., 1983. IBM Publication No. SA22-7085.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. W. Pugh. Concurrent maintenance of skip lists. Technical Report CS-TR-2222, Computer Science Department, University of Maryland, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. W. Pugh. Skip lists: a probabilistic alternative to balanced trees. Communications of ACM, 33(6):668--676, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. K. Treiber. Systems programming: Coping with parallelism. Research report RJ 5118, IBM Almaden Research Center, 1986.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Lock-free linked lists and skip lists

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            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

            Copyright © 2004 ACM

            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]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 25 July 2004

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            Overall Acceptance Rate740of2,477submissions,30%

            Upcoming Conference

            PODC '24

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader