ACM Home Page
Please provide us with feedback. Feedback
Cache-conscious buffering for database operators with state
Full text PdfPdf (151 KB)
Source Data Management On New Hardware archive
Proceedings of the Fifth International Workshop on Data Management on New Hardware table of contents
Providence, Rhode Island
SESSION: Improving CPU efficiency table of contents
Pages 43-51  
Year of Publication: 2009
ISBN:978-1-60558-701-1
Authors
John Cieslewicz  Columbia University
William Mee  Columbia University
Kenneth A. Ross  Columbia University
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 27,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1565694.1565704
What is a DOI?

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

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
4
 
5
6
7
 
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
 
10
 
11
 
12
13
 
14
 
15
16
 
17
 
18
 
19
 
20
21

Collaborative Colleagues:
John Cieslewicz: colleagues
William Mee: colleagues
Kenneth A. Ross: colleagues