skip to main content
10.1145/2882903.2882916acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections

Micro-architectural Analysis of In-memory OLTP

Authors Info & Claims
Published:14 June 2016Publication History

Editorial Notes

Computationally Replicable. The experimental results of this paper were replicated by a SIGMOD Review Committee and were found to support the central results reported in the paper. Details of the review process are found here

ABSTRACT

Micro-architectural behavior of traditional disk-based online transaction processing (OLTP) systems has been investigated extensively over thepast couple of decades. Results show that traditional OLTP mostly under-utilize the available micro-architectural resources. In-memory OLTP systems, on the other hand, process all the data in main-memory, and therefore, can omit the buffer pool. In addition, they usually adopt more lightweight concurrency control mechanisms, cache-conscious data structures, and cleaner codebases since they are usually designed from scratch. Hence, we expect significant differences in micro-architectural behavior when running OLTP on platforms optimized for in-memory processing as opposed to disk-based database systems. In particular, we expect that in-memory systems exploit micro architectural features such as instruction and data caches significantly better than disk-based systems. This paper sheds light on the micro-architectural behavior of in-memory database systems by analyzing and contrasting it to the behavior of disk-based systems when running OLTP workloads. The results show that despite all the design changes, in-memory OLTP exhibits very similar micro-architectural behavior to disk-based OLTP systems: more than half of the execution time goes to memory stalls where L1 instruction misses and the long-latency data misses from the last-level cache are the dominant factors in the overall stall time. Even though aggressive compilation optimizations can almost eliminate instruction misses, the reduction in instruction stalls amplifies the impact of last-level cache data misses. As a result, the number of instructions retired per cycle barely reaches one on machines that are able to retire up to four for both traditional disk-based and new generation in-memory OLTP.

Skip Supplemental Material Section

Supplemental Material

References

  1. TPC transcation processing performance council. http://www.tpc.org/default.asp.Google ScholarGoogle Scholar
  2. A. Ailamaki, D. J. DeWitt, M. D. Hill, and D. A. Wood. DBMSs on a Modern Processor: Where Does Time Go? In VLDB, pages 266--277, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. A. Barroso, K. Gharachorloo, and E. Bugnion. Memory System Characterization of Commercial Workloads. In ISCA, pages 3--14, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. A. Bernstein and N. Goodman. Multiversion Concurrency Control--Theory and Algorithms. ACM TODS, 8(4):465--483, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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, pages 1243--1254, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Ferdman, A. Adileh, O. Kocberber, S. Volos, M. Alisafaee, D. Jevdjic, C. Kaynak, A. D. Popescu, A. Ailamaki, and B. Falsafi. Clearing the Clouds: A Study of Emerging Scale-out Workloads on Modern Hardware. In ASPLOS, pages 37--48, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. N. Hardavellas, I. Pandis, R. Johnson, N. Mancheril, A. Ailamaki, and B. Falsafi. Database Servers on Chip Multiprocessors: Limitations and Opportunities. In CIDR, pages 79--87, 2007.Google ScholarGoogle Scholar
  8. S. Harizopoulos, D. J. Abadi, S. Madden, and M. Stonebraker. OLTP Through the Looking Glass, and What We Found There. In SIGMOD, pages 981--992, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. HyPer. http://hyper-db.de/.Google ScholarGoogle Scholar
  10. Intel. Intel VTune Amplifier XE Performance Profiler. http://software.intel.com/en-us/articles/intel-vtune-amplifier-xe/.Google ScholarGoogle Scholar
  11. K. Keeton, D. A. Patterson, Y. Q. He, R. C. Raphael, and W. E. Baker. Performance Characterization of a Quad Pentium Pro SMP Using OLTP Workloads. In ISCA, pages 15--26, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Kemper, T. Neumann, J. Finis, F. Funke, V. Leis, H. Mühe, T. Mühlbauer, and W. Rödiger. Processing in the Hybrid OLTP & OLAP Main-Memory Database System Hyper. IEEE DEBull, 36(2):41--47, 2013.Google ScholarGoogle Scholar
  13. T. Lahiri, M. Neimat, and S. Folkman. Oracle TimesTen: An In-Memory Database for Enterprise Applications. IEEE DEBull, 36(2):6--13, 2013.Google ScholarGoogle Scholar
  14. P. Larson, M. Zwilling, and K. Farlee. The Hekaton Memory-Optimized OLTP Engine. IEEE DEBull, 36(2):34--40, 2013.Google ScholarGoogle Scholar
  15. J. Lee, M. Muehle, N. May, F. Faerber, V. Sikka, H. Plattner, J. Krüger, and M. Grund. High-Performance Transaction Processing in SAP HANA. IEEE DEBull, 36(2):28--33, 2013.Google ScholarGoogle Scholar
  16. V. Leis, A. Kemper, and T. Neumann. The Adaptive Radix Tree: ARTful Indexing for Main-memory Databases. In ICDE, pages 38--49, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Levandoski, D. Lomet, and S. Sengupta. The Bw-Tree: A B-tree for New Hardware Platforms. In ICDE, pages 302--313, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Lindstrom, V. Raatikka, J. Ruuth, P. Soini, and K. Vakkila. IBM solidDB: In-Memory Database Optimized for Extreme Speed and Availability. IEEE DEBull, 36(2):14--20, 2013.Google ScholarGoogle Scholar
  19. MemSQL. http://www.memsql.com/.Google ScholarGoogle Scholar
  20. T. Neumann. Efficiently Compiling Efficient Query Plans for Modern Hardware. PVLDB, 4(9):539--550, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. T. Neumann and V. Leis. Compiling Database Queries into Machine Code. IEEE DEBull, 37(1):3--11, 2014.Google ScholarGoogle Scholar
  22. I. Pandis, R. Johnson, N. Hardavellas, and A. Ailamaki. Data-oriented Transaction Execution. PVLDB, 3(1):928--939, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. P. Ranganathan, K. Gharachorloo, S. V. Adve, and L. A. Barroso. Performance of Database Workloads on Shared-memory Systems with Out-of-Order Processors. In ASPLOS, pages 307--318, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Shore-MT. Shore-MT Official Website. http://diaswww.epfl.ch/shore-mt/.Google ScholarGoogle Scholar
  25. R. Stets, K. Gharachorloo, and L. Barroso. A Detailed Comparison of Two Transaction Processing Workloads. In WWC, pages 37--48, 2002.Google ScholarGoogle ScholarCross RefCross Ref
  26. 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, pages 1150--1160, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. Stonebraker and A. Weisberg. The VoltDB Main Memory DBMS. IEEE DEBull, 36(2):21--27, 2013.Google ScholarGoogle Scholar
  28. P. Tözün, B. Gold, and A. Ailamaki. OLTP in Wonderland -- Where Do Cache Misses Come From in Major OLTP Components? In DaMoN, pages 8:1--8:6, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. P. Tözün, I. Pandis, C. Kaynak, D. Jevdjic, and A. Ailamaki. From A to E: Analyzing TPC's OLTP Benchmarks -- The Obsolete, The Ubiquitous, The Unexplored. In EDBT, pages 17--28, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. S. Tu, W. Zheng, E. Kohler, B. Liskov, and S. Madden. Speedy Transactions in Multicore In-memory Databases. In SOSP, pages 18--32, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. VoltDB. http://www.voltdb.com.Google ScholarGoogle Scholar
  32. T. F. Wenisch, M. Ferdman, A. Ailamaki, B. Falsafi, and A. Moshovos. Temporal Streams in Commercial Server Applications. In IISWC, pages 99--108, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  33. X. Yu, G. Bezerra, A. Pavlo, S. Devadas, and M. Stonebraker. Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores. PVLDB, 8(3):209--220, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Micro-architectural Analysis of In-memory OLTP

    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
      SIGMOD '16: Proceedings of the 2016 International Conference on Management of Data
      June 2016
      2300 pages
      ISBN:9781450335317
      DOI:10.1145/2882903

      Copyright © 2016 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: 14 June 2016

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate785of4,003submissions,20%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader