skip to main content
research-article

Practical concurrent binary search trees via logical ordering

Published:06 February 2014Publication History
Skip Abstract Section

Abstract

We present practical, concurrent binary search tree (BST) algorithms that explicitly maintain logical ordering information in the data structure, permitting clean separation from its physical tree layout. We capture logical ordering using intervals, with the property that an item belongs to the tree if and only if the item is an endpoint of some interval. We are thus able to construct efficient, synchronization-free and intuitive lookup operations. We present (i) a concurrent non-balanced BST with a lock-free lookup, and (ii) a concurrent AVL tree with a lock-free lookup that requires no synchronization with any mutating operations, including balancing operations. Our algorithms apply on-time deletion; that is, every request for removal of a node, results in its immediate removal from the tree. This new feature did not exist in previous concurrent internal tree algorithms.

We implemented our concurrent BST algorithms and evaluated them against several state-of-the-art concurrent tree algorithms. Our experimental results show that our algorithms with lock-free contains and on-time deletion are practical and often comparable to the state-of-the-art.

References

  1. ADELSON-VELSKII, G., AND LANDIS, E. M. An algorithm for the organization of information. In Proc. of the USSR Academy of Sciences, 146:263--266 (1962).Google ScholarGoogle Scholar
  2. BAYER, R. Symmetric binary b-trees: Data structure and maintenance algorithms. Acta Informatica 1, 4 (1972), 290--306.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BAYER, R., AND SCHKOLNICK, M. Concurrency of operations on b-trees. Acta Informatica 9, 1 (1977), 1--21.Google ScholarGoogle ScholarCross RefCross Ref
  4. BENDER, M. A., FINEMAN, J. T., GILBERT, S., AND KUSZ-MAUL, B. C. Concurrent cache-oblivious b-trees. In SPAA (2005), pp. 228--237. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BESA, J., AND ETEROVIC, Y. A concurrent red-black tree. Journal of Parallel and Distributed Computing 73, 4 (2013), 434--449. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. BOUGÉ, L., GABARRÓ, J., MESSEGUER, X., AND SCHA-BANEL, N. Height-relaxed avl rebalancing: A unified, fine-grained approach to concurrent dictionaries, 1998.Google ScholarGoogle Scholar
  7. BRAGINSKY, A., AND PETRANK, E. A lock-free b+tree. In SPAA (2012), pp. 58--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. BRONSON, N. G., CASPER, J., CHAFI, H., AND OLUKO-TUN, K. A practical concurrent binary search tree. In PPoPP (2010), pp. 257--268. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. BROWN, T., ELLEN, F., AND RUPPERT, E. A general technique for non-blocking trees. In Proc. 19th ACM Symposium on Principles and Practice of Parallel Programming (2014). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. CRAIN, T., GRAMOLI, V., AND RAYNAL, M. A contention-friendly binary search tree. In Euro-Par (2013), pp. 229--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. ELLEN, F., FATOUROU, P., RUPPERT, E., AND VAN BREUGEL, F. Non-blocking binary search trees. In PODC (2010), pp. 131--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. FRASER, K. Practical lock-freedom. Tech. Rep. UCAM-CL-TR-579, University of Cambridge, Computer Laboratory, Feb. 2004.Google ScholarGoogle Scholar
  13. HOWLEY, S. V., AND JONES, J. A non-blocking internal binary search tree. In Proc. 24th ACM Symposium on Parallelism in Algorithms and Architectures (2012), pp. 161--171. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. KUNG, H. T., AND ROBINSON, J. T. On optimistic methods for concurrency control. ACM Trans. Database Syst. 6, 2 (June 1981), 213--226. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. NATARAJAN, A., AND MITTAL, N. Fast concurrent lock-free binary search trees. In Proc. 19th ACM Symposium on Principles and Practice of Parallel Programming (2014). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. PFAFF, B. Performance analysis of BSTs in system software. In SIGMETRICS (2004), ACM, pp. 410--411. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Practical concurrent binary search trees via logical ordering

        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

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 49, Issue 8
          PPoPP '14
          August 2014
          390 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2692916
          Issue’s Table of Contents
          • cover image ACM Conferences
            PPoPP '14: Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
            February 2014
            412 pages
            ISBN:9781450326568
            DOI:10.1145/2555243

          Copyright © 2014 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 6 February 2014

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!