skip to main content
10.1145/1565694.1565704acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Cache-conscious buffering for database operators with state

Published: 28 June 2009 Publication History

Abstract

Database processes must be cache-efficient to effectively utilize modern hardware. In this paper, we analyze the importance of temporal locality and the resultant cache behavior in scheduling database operators for in-memory, block oriented query processing. We demonstrate how the overall performance of a workload of multiple database operators is strongly dependent on how they are interleaved with each other. Longer time slices combined with temporal locality within an operator amortize the effects of the initial compulsory cache misses needed to load the operator's state, such as a hash table, into the cache. Though running an operator to completion over all of its input results in the greatest amortization of cache misses, this is typically infeasible because of the large intermediate storage requirement to materialize all input tuples to an operator. We show experimentally that good cache performance can be obtained with smaller buffers whose size is determined at runtime. We demonstrate a low-overhead method of runtime cache miss sampling using hardware performance counters. Our evaluation considers two common database operators with state: aggregation and hash join. Sampling reveals operator temporal locality and cache miss behavior, and we use those characteristics to choose an appropriate input buffer/block size. The calculated buffer size balances cache miss amortization with buffer memory requirements.

References

[1]
Anastassia Ailamaki, David J. DeWitt, Mark D. Hill, and David A. Wood. DBMSs on a modern processor: Where does time go? In VLDB, pages 266--277, 1999.
[2]
Peter A. Boncz and Martin L. Kersten. Mil primitives for querying a fragmented world. The VLDB Journal, 8(2):101--119, 1999.
[3]
John Cieslewicz and Kenneth A. Ross. Adaptive aggregation on chip multiprocessors. In VLDB, pages 339--350, 2007.
[4]
John Cieslewicz, Kenneth A. Ross, and Ioannis Giannakakis. Parallel buffers for chip multiprocessors. In DaMoN, pages 1--10, 2007.
[5]
Amol Ghoting, Gregory Buehrer, Srinivasan Parthasarathy, Daehyun Kim, Anthony Nguyen, Yen-Kuang Chen, and Pradeep Dubey. Cache-conscious frequent pattern mining on a modern processor. In VLDB, pages 577--588, 2005.
[6]
Jim Gray, Prakash Sundaresan, Susanne Englert, Ken Baclawski, and Peter J. Weinberger. Quickly generating billion-record synthetic databases. In SIGMOD, pages 243--252, 1994.
[7]
Stavros Harizopoulos and Anastassia Ailamaki. Improving instruction cache performance in OLTP. ACM Trans. Database Syst., 31(3):887--920, 2006.
[8]
D. Karger, C. Stein, and Joel Wein. Scheduling algorithms. In M. J. Atallah, editor, Handbook of Algorithms and Theory of Computation. CRC Press, 1997.
[9]
Li Liu, Eric Li, Yimin Zhang, and Zhizhong Tang. Optimization of frequent itemset mining on multiple-core processor. In VLDB, pages 1275--1285, 2007.
[10]
Roger MacNicol and Blaine French. Sybase IQ multiplex - designed for analytics. In VLDB, pages 1227--1230, 2004.
[11]
Stefan Manegold, Peter Boncz, and Martin Kersten. Optimizing main-memory join on modern hardware. IEEE Trans. on Knowl. and Data Eng., 14(4):709--730, 2002.
[12]
Stefan Manegold, Peter Boncz, Niels Nes, and Martin Kersten. Cache-conscious radix-decluster projections. In VLDB, pages 684--695, 2004.
[13]
Biswadeep Nag and David J. DeWitt. Memory allocation strategies for complex decision support queries. In CIKM, pages 116--123, 1998.
[14]
Sriram Padmanabhan, Timothy Malkemus, Ramesh C. Agarwal, and Anant Jhingran. Block oriented processing of relational database operations in modern computer architectures. In ICDE, pages 567--574, 2001.
[15]
Jun Rao and Kenneth A. Ross. Cache conscious indexing for decision-support in main memory. In VLDB, pages 78--89, 1999.
[16]
Jun Rao and Kenneth A. Ross. Making B+-trees cache conscious in main memory. SIGMOD, pages 475--486, 2000.
[17]
Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne. Operating System Concepts. John Wiley&Sons, Inc., 6th edition, 2003.
[18]
Mike Stonebraker, Daniel J. Abadi, Adam Batkin, Xuedong Chen, Mitch Cherniack, Miguel Ferreira, Edmond Lau, Amerson Lin, Sam Madden, Elizabeth O'Neil, Pat O'Neil, Alex Rasin, Nga Tran, and Stan Zdonik. C-store: a column-oriented dbms. In VLDB, pages 553--564, 2005.
[19]
Jingren Zhou, John Cieslewicz, Kenneth A. Ross, and Mihir Shah. Improving database performance on simultaneous multithreading processors. In VLDB, pages 49--60, 2005.
[20]
Jingren Zhou and Kenneth A. Ross. Buffering accesses to memory-resident index structures. In VLDB, pages 405--416, 2003.
[21]
Jingren Zhou and Kenneth A. Ross. Buffering databse operations for enhanced instruction cache performance. In SIGMOD, pages 191--202, 2004.

Cited By

View all
  • (2017)Cache Hierarchy-Aware Query Mapping on Emerging Multicore ArchitecturesIEEE Transactions on Computers10.1109/TC.2016.260568266:3(403-415)Online publication date: 1-Mar-2017
  • (2016)GPLProceedings of the 2016 International Conference on Management of Data10.1145/2882903.2915224(1935-1950)Online publication date: 26-Jun-2016
  • (2016)An interval join optimized for modern hardware2016 IEEE 32nd International Conference on Data Engineering (ICDE)10.1109/ICDE.2016.7498316(1098-1109)Online publication date: May-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
DaMoN '09: Proceedings of the Fifth International Workshop on Data Management on New Hardware
June 2009
63 pages
ISBN:9781605587011
DOI:10.1145/1565694
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 June 2009

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

DaMoN 2009
Sponsor:
DaMoN 2009: Data Management on New Hardware
June 28, 2009
Rhode Island, Providence

Acceptance Rates

Overall Acceptance Rate 94 of 127 submissions, 74%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Cache Hierarchy-Aware Query Mapping on Emerging Multicore ArchitecturesIEEE Transactions on Computers10.1109/TC.2016.260568266:3(403-415)Online publication date: 1-Mar-2017
  • (2016)GPLProceedings of the 2016 International Conference on Management of Data10.1145/2882903.2915224(1935-1950)Online publication date: 26-Jun-2016
  • (2016)An interval join optimized for modern hardware2016 IEEE 32nd International Conference on Data Engineering (ICDE)10.1109/ICDE.2016.7498316(1098-1109)Online publication date: May-2016
  • (2015)Locality Aware Task Scheduling in Parallel Data Stream ProcessingIntelligent Distributed Computing VIII10.1007/978-3-319-10422-5_35(331-342)Online publication date: 2015
  • (2014)In-cache query co-processing on coupled CPU-GPU architecturesProceedings of the VLDB Endowment10.14778/2735496.27354978:4(329-340)Online publication date: 1-Dec-2014
  • (2012)A comparison of the use of virtual versus physical snapshots for supporting update-intensive workloadsProceedings of the Eighth International Workshop on Data Management on New Hardware10.1145/2236584.2236585(1-8)Online publication date: 21-May-2012
  • (2011)Parallel Multithreaded Processing for Data Set Summarization on Multicore CPUsJournal of Computing Science and Engineering10.5626/JCSE.2011.5.2.1115:2(111-120)Online publication date: 30-Jun-2011
  • (2011)Designing fast architecture-sensitive tree search on modern multicore/many-core processorsACM Transactions on Database Systems10.1145/2043652.204365536:4(1-34)Online publication date: 19-Dec-2011
  • (2011)Design and evaluation of main memory hash join algorithms for multi-core CPUsProceedings of the 2011 ACM SIGMOD International Conference on Management of data10.1145/1989323.1989328(37-48)Online publication date: 12-Jun-2011
  • (2010)Flash-optimized B+-treeJournal of Computer Science and Technology10.1007/s11390-010-9341-125:3(509-522)Online publication date: 1-May-2010
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media