Recent studies on main memory index structures focus mainly on cache-conscious structures to minimize L2 cache misses; for example, in one dimensional data, CSB+-tree eliminated pointers to pack more entries in a node, and in multi-dimensional data, CR-tree compressed MBRs in order to increase utilization of the L2 cache line. Previous studies used a fixed node size that is a multiple of the cache line size. If a node overflows, it splits , regardless of the search performance. Since the time of split is determined by only the node size, the split may increase a node’s probability of being accessed. However, if the node size is not fixed, the previous case can be avoided. In this paper, we suggest a new cost model to determine whether to grow or split a node. In the cost model, we consider all relevant factors, such as cache misses, instruction counts, TLB misses, and the probability that nodes will be accessed. Use of our growing node policy has the following advantages: (i) it can have the effect of a delayed split that does not depend on the insertion order, and (ii) it can reduce the number of generated nodes and the height of the tree.
[1]
Yannis Theodoridis,et al.
Generating spatiotemporal datasets on the WWW
,
2000,
SGMD.
[2]
Jignesh M. Patel,et al.
Effect of node size on the performance of cache-conscious B+-trees
,
2003,
SIGMETRICS '03.
[3]
Michael J. Carey,et al.
A Study of Index Structures for a Main Memory Database Management System
,
1986,
HPTS.
[4]
Antonin Guttman,et al.
R-trees: a dynamic index structure for spatial searching
,
1984,
SIGMOD '84.
[5]
Bernd-Uwe Pagel,et al.
Towards an analysis of range query performance in spatial data structures
,
1993,
PODS '93.
[6]
Kenneth A. Ross,et al.
Making B+-Trees Cache Conscious in Main Memory
,
2000,
SIGMOD Conference.
[7]
Christos Faloutsos,et al.
On packing R-trees
,
1993,
CIKM '93.
[8]
Kihong Kim,et al.
Optimizing multidimensional index trees for main memory access
,
2001,
SIGMOD '01.