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.
Supplemental Material
Available for Download
Rights information
Scripts, Spreadsheets, Tools
- TPC transcation processing performance council. http://www.tpc.org/default.asp.Google Scholar
- 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 ScholarDigital Library
- L. A. Barroso, K. Gharachorloo, and E. Bugnion. Memory System Characterization of Commercial Workloads. In ISCA, pages 3--14, 1998. Google ScholarDigital Library
- P. A. Bernstein and N. Goodman. Multiversion Concurrency Control--Theory and Algorithms. ACM TODS, 8(4):465--483, 1983. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- HyPer. http://hyper-db.de/.Google Scholar
- Intel. Intel VTune Amplifier XE Performance Profiler. http://software.intel.com/en-us/articles/intel-vtune-amplifier-xe/.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- T. Lahiri, M. Neimat, and S. Folkman. Oracle TimesTen: An In-Memory Database for Enterprise Applications. IEEE DEBull, 36(2):6--13, 2013.Google Scholar
- P. Larson, M. Zwilling, and K. Farlee. The Hekaton Memory-Optimized OLTP Engine. IEEE DEBull, 36(2):34--40, 2013.Google Scholar
- 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 Scholar
- V. Leis, A. Kemper, and T. Neumann. The Adaptive Radix Tree: ARTful Indexing for Main-memory Databases. In ICDE, pages 38--49, 2013. Google ScholarDigital Library
- J. Levandoski, D. Lomet, and S. Sengupta. The Bw-Tree: A B-tree for New Hardware Platforms. In ICDE, pages 302--313, 2013. Google ScholarDigital Library
- 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 Scholar
- MemSQL. http://www.memsql.com/.Google Scholar
- T. Neumann. Efficiently Compiling Efficient Query Plans for Modern Hardware. PVLDB, 4(9):539--550, 2011. Google ScholarDigital Library
- T. Neumann and V. Leis. Compiling Database Queries into Machine Code. IEEE DEBull, 37(1):3--11, 2014.Google Scholar
- I. Pandis, R. Johnson, N. Hardavellas, and A. Ailamaki. Data-oriented Transaction Execution. PVLDB, 3(1):928--939, 2010. Google ScholarDigital Library
- 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 ScholarDigital Library
- Shore-MT. Shore-MT Official Website. http://diaswww.epfl.ch/shore-mt/.Google Scholar
- R. Stets, K. Gharachorloo, and L. Barroso. A Detailed Comparison of Two Transaction Processing Workloads. In WWC, pages 37--48, 2002.Google ScholarCross Ref
- 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 ScholarDigital Library
- M. Stonebraker and A. Weisberg. The VoltDB Main Memory DBMS. IEEE DEBull, 36(2):21--27, 2013.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- VoltDB. http://www.voltdb.com.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
Index Terms
- Micro-architectural Analysis of In-memory OLTP
Recommendations
Micro-architectural analysis of in-memory OLTP: Revisited
AbstractMicro-architectural behavior of traditional disk-based online transaction processing (OLTP) systems has been investigated extensively over the past couple of decades. Results show that traditional OLTP systems mostly under-utilize the available ...
Is it DSS or OLTP: automatically identifying DBMS workloads
The type of the workload on a database management system (DBMS) is a key consideration in tuning the system. Allocations for resources such as main memory can be very different depending on whether the workload type is Online Transaction Processing (...
STREX: boosting instruction cache reuse in OLTP workloads through stratified transaction execution
ISCA '13: Proceedings of the 40th Annual International Symposium on Computer ArchitectureOnline transaction processing (OLTP) workload performance suffers from instruction stalls; the instruction footprint of a typical transaction exceeds by far the capacity of an L1 cache, leading to ongoing cache thrashing. Several proposed techniques ...
Comments