skip to main content
column

A high-throughput in-memory index, durable on flash-based SSD: insights into the winning solution of the SIGMOD programming contest 2011

Published:05 October 2012Publication History
Skip Abstract Section

Abstract

Growing memory capacities and the increasing number of cores on modern hardware enforces the design of new in-memory indexing structures that reduce the number of memory transfers and minimizes the need for locking to allow massive parallel access. However, most applications depend on hard durability constraints requiring a persistent medium like SSDs, which shorten the latency and throughput gap between main memory and hard disks. In this paper, we present our winning solution of the SIGMOD Programming Contest 2011. It consists of an in-memory indexing structure that provides a balanced read/write performance as well as non-blocking reads and single-lock writes. Complementary to this index, we describe an SSD-optimized logging approach to fit hard durability requirements at a high throughput rate.

References

  1. SIGMOD Programming Contest 2011. http://db.csail.mit.edu/sigmod11contest/.Google ScholarGoogle Scholar
  2. R. Bayer and E. McCreight. Organization and Maintenance of Large Ordered Indexes, pages 245--262. Software pioneers, New York, NY, USA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Böhm, B. Schlegel, P. B. Volk, U. Fischer, D. Habich, and W. Lehner. Efficient In-Memory Indexing with Generalized Prefix Trees. In BTW, pages 227--246, 2011.Google ScholarGoogle Scholar
  4. L. Bouganim, B. T. Jónsson, and P. Bonnet. uFLIP: Understanding Flash IO Patterns. In CIDR, 2009.Google ScholarGoogle Scholar
  5. S. Chen. FlashLogging: Exploiting Flash Devices for Synchronous Logging Performance. In SIGMOD, pages 73--86, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. B. K. Debnath, S. Sengupta, and J. Li. FlashStore: High Throughput Persistent Key-Value Store. PVLDB, 3(2):1414--1425, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B. K. Debnath, S. Sengupta, and J. Li. SkimpyStash: RAM Space Skimpy Key-Value Store on Flash-based Storage. In SIGMOD, pages 25--36, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. L. Lehman and s. B. Yao. Efficient Locking for Concurrent Operations on B-Trees. ACM Trans. Database Syst., 6:650--670, December 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. E. McKenney and J. D. Slingwine. Read-Copy Update: Using Execution History to Solve Concurrency Problems.Google ScholarGoogle Scholar
  10. J. Rao and K. A. Ross. Making B+-Trees Cache Conscious in Main Memory. SIGMOD Rec., 29:475--486, May 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A high-throughput in-memory index, durable on flash-based SSD: insights into the winning solution of the SIGMOD programming contest 2011

      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 SIGMOD Record
        ACM SIGMOD Record  Volume 41, Issue 3
        September 2012
        49 pages
        ISSN:0163-5808
        DOI:10.1145/2380776
        Issue’s Table of Contents

        Copyright © 2012 Authors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 5 October 2012

        Check for updates

        Qualifiers

        • column

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader