skip to main content
10.1145/967900.968188acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
Article

Scalable and lock-free concurrent dictionaries

Published:14 March 2004Publication History

ABSTRACT

We present an efficient and practical lock-free implementation of a concurrent dictionary that is suitable for both fully concurrent (large multi-processor) systems as well as pre-emptive (multi-process) systems. Many algorithms for concurrent dictionaries are based on mutual exclusion. However, mutual exclusion causes blocking which has several drawbacks and degrades the system's overall performance. Non-blocking algorithms avoid blocking, and are either lockfree or wait-free. Our algorithm is based on the randomized sequential list structure called Skiplist, and implements the full set of operations on a dictionary that is suitable for practical settings. In our performance evaluation we compare our algorithm with the most efficient non-blocking implementation of dictionaries known. The experimental results clearly show that our algorithm outperforms the other lockfree algorithm for dictionaries with realistic sizes, both on fully concurrent as well as pre-emptive systems.

References

  1. J. Aspnes and M. Herlihy. Wait-free data structures in the asynchronous PRAM model. In ACM Symposium on Parallel Algorithms and Architectures, pages 340--349, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. L. Boug, J. Gabarr, and X. Messeguer. Concurrent AVL revisited: Self-balancing distributed search trees. Research Report RR95--45, LIP, ENS Lyon, 1995.Google ScholarGoogle Scholar
  3. T. L. Harris. A pragmatic implementation of non-blocking linked lists. In Proceedings of the 15th International Symposium of Distributed Computing, pages 300-314, Oct. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Herlihy. Wait-free synchronization. ACM Transactions on Programming Languages and Systems, 11(1):124--149, Jan. 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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
  6. M. M. Michael. High performance dynamic lock-free hash tables and list-based sets. In Proceedings of the 14th ACM Symposium on Parallel Algorithms and Architectures, pages 73--82, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. M. Michael. Safe memory reclamation for dynamic lock-free objects using atomic reads and writes. In Proceedings of the 21st ACM Symposium on Principles of Distributed Computing, pages 21--30, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. M. Michael and M. L. Scott. Correction of a memory management method for lock-free data structures. Technical report, Computer Science Department, University of Rochester, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. W. Pugh. Skip lists: a probabilistic alternative to balanced trees. Communications of the ACM, 33(6):668--676, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. Rajkumar. Real-time synchronization protocols for shared memory multiprocessors. In Proceedings of the 10th International Conference on Distributed Computing Systems, pages 116--123, 1990.Google ScholarGoogle ScholarCross RefCross Ref
  11. L. Sha, R. Rajkumar, and J. Lehoczky. Priority inheritance protocols: An approach to real-time synchronization. IEEE Transactions on Computers, 39(9):1175--1185, Sept. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Silberschatz and P. Galvin. Operating System Concepts. Addison Wesley, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. H. Sundell and P. Tsigas. NOBLE: A non-blocking inter-process communication library. In Proceedings of the 6th Workshop on Languages, Compilers and Run-time Systems for Scalable Computers, Lecture Notes in Computer Science. Springer Verlag, 2002.Google ScholarGoogle Scholar
  14. H. Sundell and P. Tsigas. Fast and lock-free concurrent priority queues for multi-thread systems. In Proceedings of the 17th International Parallel and Distributed Processing Symposium. IEEE press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. H. Sundell and P. Tsigas. Scalable and lock-free concurrent dictionaries, extended version. Technical report, Computing Science, Chalmers University of Technology, Dec. 2003.Google ScholarGoogle Scholar
  16. P. Tsigas and Y. Zhang. Integrating non-blocking synchronisation in parallel applications: Performance advantages and methodologies. In Proceedings of the 3rd ACM Workshop on Software and Performance, pages 55--67, ACM Press, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. D. Valois. Lock-Free Data Structures. PhD thesis, Rensselaer Polytechnic Institute, Troy, New York, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Scalable and lock-free concurrent dictionaries

            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

              SAC '04: Proceedings of the 2004 ACM symposium on Applied computing
              March 2004
              1733 pages
              ISBN:1581138121
              DOI:10.1145/967900

              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: 14 March 2004

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              Overall Acceptance Rate1,650of6,669submissions,25%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader