skip to main content
10.1145/2517349.2522713acmconferencesArticle/Chapter ViewAbstractPublication PagessospConference Proceedingsconference-collections
research-article
Open Access

Speedy transactions in multicore in-memory databases

Published:03 November 2013Publication History

ABSTRACT

Silo is a new in-memory database that achieves excellent performance and scalability on modern multicore machines. Silo was designed from the ground up to use system memory and caches efficiently. For instance, it avoids all centralized contention points, including that of centralized transaction ID assignment. Silo's key contribution is a commit protocol based on optimistic concurrency control that provides serializability while avoiding all shared-memory writes for records that were only read. Though this might seem to complicate the enforcement of a serial order, correct logging and recovery is provided by linking periodically-updated epochs with the commit protocol. Silo provides the same guarantees as any serializable database without unnecessary scalability bottlenecks or much additional latency. Silo achieves almost 700,000 transactions per second on a standard TPC-C workload mix on a 32-core machine, as well as near-linear scalability. Considered per core, this is several times higher than previously reported results.

Skip Supplemental Material Section

Supplemental Material

d1-02-stephen-tu.mp4

mp4

1 GB

References

  1. D. Agrawal, A. J. Bernstein, P. Gupta, and S. Sengupta. Distributed optimistic concurrency control with reduced rollback. Distributed Computing, 2(1), 1987.Google ScholarGoogle Scholar
  2. H. Berenson, P. Bernstein, J. Gray, J. Melton, E. O'Neil, and P. O'Neil. A critique of ANSI SQL isolation levels. In SIGMOD, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. N. G. Bronson, J. Casper, H. Chafi, and K. Olukotun. A practical concurrent binary search tree. In PPoPP, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. K. Cha, S. Hwang, K. Kim, and K. Kwon. Cache-conscious concurrency control of main-memory indexes on shared-memory multiprocessor systems. In VLDB, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. T. Clements, M. F. Kaashoek, and N. Zeldovich. RadixVM: Scalable address spaces for multithreaded applications. In Eurosys, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears. Benchmarking cloud serving systems with YCSB. In SoCC, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. C. Corbett, J. Dean, M. Epstein, A. Fikes, C. Frost, J. J. Furman, S. Ghemawat, A. Gubarev, C. Heiser, P. Hochschild, W. Hsieh, S. Kanthak, E. Kogan, H. Li, A. Lloyd, S. Melnik, D. Mwaura, D. Nagle, S. Quinlan, R. Rao, L. Rolig, Y. Saito, M. Szymaniak, C. Taylor, R. Wang, and D. Woodford. Spanner: Google's globally-distributed database. In OSDI, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. Diaconu, C. Freedman, E. Ismert, P.-A. Larson, P. Mittal, R. Stonecipher, N. Verma, and M. Zwilling. Hekaton: SQL Server's memory-optimized OLTP engine. In SIGMOD, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Dice, O. Shalev, and N. Shavit. Transactional locking II. In DISC, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. K. P. Eswaran, J. N. Gray, R. A. Lorie, and I. L. Traiger. The notions of consistency and predicate locks in a database system. Commun. ACM, 19(11), 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. K. Fraser. Practical lock freedom. PhD thesis, Cambridge University Computer Laboratory, 2003. URL http://www.cl.cam.ac.uk/users/kaf24/lockfree.html.Google ScholarGoogle Scholar
  12. T. Härder. Observations on optimistic concurrency control schemes. Inf. Syst., 9(2), 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. T. E. Hart, P. E. McKenney, A. D. Brown, and J. Walpole. Performance of memory reclamation for lockless synchronization. J. Parallel Distrib. Comput., 67(12), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. T. Horikawa. Latch-free data structures for DBMS: design, implementation, and evaluation. In SIGMOD, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Johnson, I. Pandis, N. Hardavellas, A. Ailamaki, and B. Falsafi. Shore-MT: a scalable storage manager for the multicore era. In EDBT, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. E. P. Jones, D. J. Abadi, and S. Madden. Low overhead concurrency control for partitioned main memory databases. In SIGMOD, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. H. Jung, H. Han, A. D. Fekete, G. Heiser, and H. Y. Yeom. A scalable lock manager for multicores. In SIGMOD, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. H. T. Kung and J. T. Robinson. On optimistic methods for concurrency control. ACM TODS, 6(2), 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P.-Å. Larson, S. Blanas, C. Diaconu, C. Freedman, J. M. Patel, and M. Zwilling. High-performance concurrency control mechanisms for main-memory databases. Proc. VLDB Endow., 5(4), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. P. L. Lehman and S. B. Yao. Efficient locking for concurrent operations on B-trees. ACM TODS, 6(4), 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. Levandoski, D. Lomet, and S. Sengupta. The Bw-tree: A B-tree for new hardware. In ICDE, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. Levandoski, D. Lomet, and S. Sengupta. LLAMA: A cache/storage subsystem for modern hardware. Proc. VLDB Endow., 6(10), 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Y. Mao, E. Kohler, and R. Morris. Cache craftiness for fast multicore key-value storage. In Eurosys, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. C. Mohan. ARIES/KVL: A key-value locking method for concurrency control of multiaction transactions operating on B-tree indexes. In VDLB, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. I. Pandis, R. Johnson, N. Hardavellas, and A. Ailamaki. Data-oriented transaction execution. Proc. VLDB Endow., 3(1--2), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. I. Pandis, P. Tözün, R. Johnson, and A. Ailamaki. PLP: page latch-free shared-everything OLTP. Proc. VLDB Endow., 4(10), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. A. Pavlo, C. Curino, and S. Zdonik. Skew-aware automatic database partitioning in shared-nothing, parallel OLTP systems. In SIGMOD, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. D. Porobic, I. Pandis, M. Branco, P. Tözün, and A. Ailamaki. OLTP on hardware islands. Proc. VLDB Endow., 5(11), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. K. Ren, A. Thomson, and D. J. Abadi. Lightweight locking for main memory database systems. Proc. VLDB Endow., 6(2), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. T.-I. Salomie, I. E. Subasu, J. Giceva, and G. Alonso. Database engines on multicores, why parallelize when you can distribute? In Eurosys, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. J. Sewall, J. Chhugani, C. Kim, N. Satish, and P. Dubey. PALM: Parallel architecture-friendly latch-free modifications to B+ trees on many-core processors. Proc. VLDB Endow., 4(11), 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. M. Stonebraker, S. Madden, D. J. Abadi, S. Harizopoulos, N. Hachem, and P. Helland. The end of an architectural era: (it's time for a complete rewrite). In VLDB, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. The Transaction Processing Council. TPC-C Benchmark (Revision 5.9.0). http://www.tpc.org/tpcc/, June 2007.Google ScholarGoogle Scholar
  34. R. Unland. Optimistic concurrency control revisited. Technical report, University of Münster, Department of Information Systems, 1994.Google ScholarGoogle Scholar

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
    SOSP '13: Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
    November 2013
    498 pages
    ISBN:9781450323888
    DOI:10.1145/2517349

    Copyright © 2013 Owner/Author

    Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 3 November 2013

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    Overall Acceptance Rate131of716submissions,18%

    Upcoming Conference

    SOSP '24

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader