ACM Home Page
Please provide us with feedback. Feedback
Buffering databse operations for enhanced instruction cache performance
Full text PdfPdf (189 KB)
Source International Conference on Management of Data archive
Proceedings of the 2004 ACM SIGMOD international conference on Management of data table of contents
Paris, France
SESSION: Research sessions: non-standard query processing table of contents
Pages: 191 - 202  
Year of Publication: 2004
ISBN:1-58113-859-8
Authors
Jingren Zhou  Columbia University
Kenneth A. Ross  Columbia University
Sponsor
SIGMOD: ACM Special Interest Group on Management of Data
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 83,   Citation Count: 16
Additional Information:

abstract   references   cited by   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/1007568.1007592
What is a DOI?

ABSTRACT

As more and more query processing work can be done in main memory access is becoming a significant cost component of database operations. Recent database research has shown that most of the memory stalls are due to second-level cache data misses and first-level instruction cache misses. While a lot of research has focused on reducing the data cache misses, relatively little research has been done on improving the instruction cache performance of database systems.We first answer the question "Why does a database system incur so many instruction cache misses?" We demonstrate that current demand-pull pipelined query execution engines suffer from significant instruction cache thrashing between different operators. We propose techniques to buffer database operations during query execution to avoid instruction cache thrashing. We implement a new light-weight "buffer" operator and study various factors which may affect the cache performance. We also introduce a plan refinement algorithm that considers the query plan and decides whether it is beneficial to add additional "buffer" operators and where to put them. The benefit is mainly from better instruction locality and better hardware branch prediction. Our techniques can be easily integrated into current database systems without significant changes. Our experiments in a memory-resident PostgreSQL database system show that buffering techniques can reduce the number of instruction cache misses by up to 80% and improve query performance by up to 15%.


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
LMbench - Tools for Performance Analysis. http://www.bitmover.com/lmbench/.
 
2
 
3
 
4
5
 
6
 
7
I.-C. K. Chen, C.-C. Lee, and T. N. Mudge. Instruction prefetching using branch prediction information. In Proceedings of International Symposium on Microarchitecture, 1997.
8
9
10
 
11
G. Graefe. Volcano, an extensible and parallel query evaluation system. IEEE Transactions on knowledge and data enginnering, 6(6):934--944, 1994.
 
12
13
 
14
G. Hinton, D. Sager, M. Upton, D. Boggs, D. Carmean, A. Kyker, and P. Roussel. The microarchitecture of the Pentium 4 processor. Intel Technology Journal, 1st Quarter, 2001.
 
15
Intel Corp. VTune performance analyzer. http://www.intel.com/software/products/vtune/.
 
16
Intel Inc. IA32 intel architecture optimization reference manual. 2003.
17
18
 
19
20
 
21
22
23
 
24
25
 
26
27
28
 
29
 
30
 
31
 
32
Transaction Processing Performance Council. TPC Benchmark H. Available via http://www.tpc.com/tpch/.
 
33
J. Zhou and K. A. Ross. Buffering accesses to memory-resident index structures. In Proceedings of VLDB Conference, 2003.

CITED BY  16
Collaborative Colleagues:
Jingren Zhou: colleagues
Kenneth A. Ross: colleagues