skip to main content
10.1145/2312005.2312016acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
research-article

A lock-free B+tree

Published:25 June 2012Publication History

ABSTRACT

Lock-free data structures provide a progress guarantee and are known for facilitating scalability, avoiding deadlocks and livelocks, and providing guaranteed system responsiveness. In this paper we present a design for a lock-free balanced tree, specifically, a B+tree. The B+tree data structure has an important practical applications, and is used in various storage-system products. As far as we know this is the first design of a lock-free, dynamic, and balanced tree, that employs standard compare-and-swap operations.

References

  1. R. Bayer and M. Schkolnick. Concurrency of operations on b-trees. Acta Informatica, 9, 1977.Google ScholarGoogle Scholar
  2. M. A. Bender, J. T. Fineman, S. Gilbert, and B. C. Kuszmaul. Concurrent cache-oblivious b-tree. SPAA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Braginsky and E. Petrank. Lock-free B+tree (full version). http://www.cs.technion.ac.il/ erez/Papers/lfbtree-full.pdf.Google ScholarGoogle Scholar
  4. A. Braginsky and E. Petrank. Lock-free linked lists with improved locality. ICDCN, 2011.Google ScholarGoogle Scholar
  5. S. Chen, P. B. Gibbons, T. C. Mowry, and G. Valentin. Fractal prefetching b+-trees: Optimizing both cache and disk performance. SIGMOD, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Comer. The ubiquitous b-tree. ACM Computing Surverys, 11(2), 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. F. Ellen, P. Fatourou, E. Ruppert, and F. van Breugel. Non-blocking binary search tree. PODC, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. K. Fraser. Practical lock-freedom, 2004. Technical Report UCAM-CL-TR-579, University of Cambridge, Computer Laboratory.Google ScholarGoogle Scholar
  9. T. L. Harris. A pragmatic implementation of non-blocking linked-lists. DISC, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Herlihy. Wait-free synchronization. TOPLAS, 13(1):124--149, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Herlihy and J. Wing. Linearizability: a correctness condition for concurrent objects. TOPLAS, 12(3):463--492, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. M. Michael. Hazard pointers: Safe memory reclamation for lock-free objects. TPDS, 15(6):491--504, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. E. Petrank, M. Musuvathi, and B. Steensgaard. Progress guarantee for parallel programs via bounded lock-freedom. PLDI, pages 144--154, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Rao and K. A. Ross. Cache conscious indexing for decision-support in main memory. VLDB, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. O. Rodeh. B-trees, shadowing, and clones. ACM Transactions on Storage Journal, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A lock-free B+tree

            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

              cover image ACM Conferences
              SPAA '12: Proceedings of the twenty-fourth annual ACM symposium on Parallelism in algorithms and architectures
              June 2012
              348 pages
              ISBN:9781450312134
              DOI:10.1145/2312005

              Copyright © 2012 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 June 2012

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate447of1,461submissions,31%

              Upcoming Conference

              SPAA '24

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader