Welcome to D
SIGMOD'00
 = SIGMOD'00 We
 = Plenary Talk
<<< = SIGMOD'00 Pa>>>
PODS'00
SIGMOD Recor
CIKM 2000/CI
COMAD 2000
Data Enginee
DL 2000
DPDJ
EDBT 2000
Hypertext 20
ICDE 2000
KDD 2000
KDD Explorat
KRDB 2000
SBBD 2000
SIGIR 2000
SIGIR Forum
SSDBM 2000
TODS
VLDB'00
VLDBJ

Making B+-Trees Cache Conscious in Main Memory


Jun Rao and Kenneth A. Ross

  View Paper (PDF)  

Return to Research Sessions


Abstract

Previous research has shown that cache behavior is important for main memory index structures. Cache conscious index structures such as Cache Sensitive Search Trees (CSS-Trees) perform lookups much faster than binary search and T-Trees. However, CSS-Trees are designed for decision support workloads with relatively static data. Although B+-Trees are more cache conscious than binary search and T-Trees, their utilization of a cache line is low since half of the space is used to store child pointers. Nevertheless, for applications that require incremental updates, traditional B+-Trees perform well.

Our goal is to make B+-Trees as cache conscious as CSS-Trees without increasing their update cost too much. We propose a new indexing technique called "Cache Sensitive B--Trees" (CSB+-Trees). It is a variant of B+-Trees that stores all the child nodes of any given node contiguously, and keeps only the address of the first child in each node. The rest of the children can be found by adding an offset to that address. Since only one child pointer is stored explicitly, the utilization of a cache line is high. CSB+-Trees support incremental updates in a way similar to B+-Trees.

We also introduce two variants of CSB+-Trees. Segmented CSB+-Trees divide the child nodes into segments. Nodes within the same segment are stored contiguously and only pointers to the beginning of each segment are stored explicitly in each node. Segmented CSB+-Trees can reduce the copying cost when there is a split since only one segment needs to be moved. Full CSB+-Trees preallocate space for the full node group and thus reduce the split cost.

Our performance studies show that CSB+-Trees are useful for a wide range of applications.


References


Note: References link to DBLP on the Web.

[ADW99]
Anastassia Ailamaki , David J. DeWitt , Mark D. Hill , David A. Wood : DBMSs on a Modern Processor: Where Does Time Go? VLDB 1999 : 266-277
[BBC+98]
Philip A. Bernstein , Michael L. Brodie , Stefano Ceri , David J. DeWitt , Michael J. Franklin , Hector Garcia-Molina , Jim Gray , Gerald Held , Joseph M. Hellerstein , H. V. Jagadish , Michael Lesk , David Maier , Jeffrey F. Naughton , Hamid Pirahesh , Michael Stonebraker , Jeffrey D. Ullman : The Asilomar Report on Database Research. SIGMOD Record 27(4) : 74-80(1998)
[BMK99]
Peter A. Boncz , Stefan Manegold , Martin L. Kersten : Database Architecture Optimized for the New Bottleneck: Memory Access. VLDB 1999 : 54-65
[CLH98]
...
[Com79]
Douglas Comer : The Ubiquitous B-Tree. Computing Surveys 11(2) : 121-137(1979)
[Enb99]
...
[Eng98]
...
[HP96]
John L. Hennessy , David A. Patterson : Computer Architecture: A Quantitative Approach, 2nd Edition. Morgan Kaufmann 1996, ISBN 1-55860-329-8
[Inc99]
...
[Ker89]
Martin L. Kersten : Using Logarithmic Code-Expansion to Speedup Index Access and Maintenance. FODO 1989 : 228-232
[LC86]
Tobin J. Lehman , Michael J. Carey : A Study of Index Structures for Main Memory Database Management Systems. VLDB 1986 : 294-303
[O'N92]
Patrick E. O'Neil : The S B-Tree : An Index-Sequential Structure for High-Performance Sequential Access. Acta Informatica 29(3) : 241-265(1992)
[Pro99]
...
[Ram97]
Raghu Ramakrishnan : Database Management Systems. WCB/McGraw-Hill 1998, ISBN 0-07-050775-9
[RR99]
Jun Rao , Kenneth A. Ross : Cache Conscious Indexing for Decision-Support in Main Memory. VLDB 1999 : 78-89
[SKN94]
Ambuj Shatdal , Chander Kant , Jeffrey F. Naughton : Cache Conscious Algorithms for Relational Query Processing. VLDB 1994 : 510-521
[Smi82]
Alan Jay Smith : Cache Memories. Computing Surveys 14(3) : 473-530(1982)
[TMJ98]
Kristian Torp , Leo Mark , Christian S. Jensen : Efficient Differential Timeslice Computation. TKDE 10(4) : 599-611(1998)
[Wri85]
William E. Wright : Some Average Performance Measures for the B-Tree. Acta Informatica 21 : 541-557(1985)
[Yao78]
Andrew Chi-Chih Yao : On Random 2-3 Trees. Acta Informatica 9 : 159-170(1978)

BIBTEX


@inproceedings{DBLP:conf/sigmod/RaoR00,
  author    = {Jun Rao and
                Kenneth A. Ross},
   editor    = {Weidong Chen and
                Jeffrey F. Naughton and
                Philip A. Bernstein},
   title     = {Making B$^{\mbox{+}}$-Trees Cache Conscious in Main Memory},
   booktitle = {Proceedings of the 2000 ACM SIGMOD International Conference on
                Management of Data, May 16-18, 2000, Dallas, Texas, USA},
   journal   = {SIGMOD Record},
   publisher = {ACM},
   volume    = {29},
   number    = {2},
   year      = {2000},
   isbn      = {1-58113-218-2},
   pages     = {475-486},
   crossref  = {DBLP:conf/sigmod/2000},
   bibsource = {DBLP, http://dblp.uni-trier.de} } },




DiSC'01 Copyright ©2002 ACM Inc.