skip to main content
10.1145/2484239.2484254acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article

Leaplist: lessons learned in designing tm-supported range queries

Authors Info & Claims
Published:22 July 2013Publication History

ABSTRACT

We introduce Leaplist, a concurrent data-structure that is tailored to provide linearizable range queries. A lookup in Leaplist takes O (log n) and is comparable to a balanced binary search tree or to a Skiplist. However, in Leaplist, each node holds up-to K immutable key-value pairs, so collecting a linearizable range is K times faster than the same operation performed non-linearizably on a Skiplist.

We show how software transactional memory support in a commercial compiler helped us create an efficient lock-based implementation of Leaplist. We used this STM to implement short transactions which we call Locking Transactions (LT), to acquire locks, while verifying that the state of the data-structure is legal, and combine them with a transactional Consistency Oblivious Programming (COP) [2] mechanism to enhance data structure traversals.

We compare Leaplist to prior implementations of Skiplists, and show that while updates in the Leaplist are slower, lookups are somewhat faster, and for range-queries the Leaplist outperforms the Skiplist's non-linearizable range query operations by an order of magnitude. We believe that this data structure and its performance would have been impossible to obtain without the STM support.

References

  1. Gcc version 4.7.0, (http://gcc.gnu.org/gcc-4.7/), Apr. 2012.Google ScholarGoogle Scholar
  2. Y. Afek, H. Avni, and N. Shavit. Towards consistency oblivious programming. In OPODIS, pages 65--79, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Braginsky and E. Petrank. A lock-free b+tree. In SPAA, pages 58--67, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. N. G. Bronson, J. Casper, H. Chafi, and K. Olukotun. Transactional predication: high-performance concurrent sets and maps for stm. In PODC, pages 6--15, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. T. Brown and H. Avni. Range queries in non-blocking k-ary search trees. In OPODIS, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  6. L. Dalessandro and M. L. Scott. Strong isolation is a weak idea. In TRANSACT '09: 4th Workshop on Transactional Computing, feb 2009.Google ScholarGoogle Scholar
  7. P. Ferragina and R. Grossi. The string b-tree: a new data structure for string search in external memory and its applications. J. ACM, pages 236--280, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. K. Fraser. Practical lock freedom. PhD thesis, Cambridge University Computer Laboratory, 2003.Google ScholarGoogle Scholar
  9. M. Herlihy, Y. Lev, V. Luchangco, and N. Shavit. A simple optimistic skiplist algorithm. In Proceedings of the 14th international conference on Structural information and communication complexity, pages 124--138, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Prokopec, N. G. Bronson, P. Bagwell, and M. Odersky. Concurrent tries with efficient non-blocking snapshots. In Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming, PPoPP '12, pages 151--160, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. W. Pugh. Skip lists: A probabilistic alternative to balanced trees. In WADS, pages 437--449, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. O. Rodeh. B-trees, shadowing, and clones. Trans. Storage, 3(4):2:1--2:27, Feb. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Leaplist: lessons learned in designing tm-supported range queries

      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
        PODC '13: Proceedings of the 2013 ACM symposium on Principles of distributed computing
        July 2013
        422 pages
        ISBN:9781450320658
        DOI:10.1145/2484239

        Copyright © 2013 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: 22 July 2013

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        PODC '13 Paper Acceptance Rate37of145submissions,26%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