Improving index performance through prefetching

Citation
Sm. Chen et al., Improving index performance through prefetching, SIG RECORD, 30(2), 2001, pp. 235-246
Citations number
23
Categorie Soggetti
Computer Science & Engineering
Journal title
SIGMOD RECORD
ISSN journal
01635808 → ACNP
Volume
30
Issue
2
Year of publication
2001
Pages
235 - 246
Database
ISI
SICI code
0163-5808(200106)30:2<235:IIPTP>2.0.ZU;2-M
Abstract
This paper proposes and evaluates Prefetching B+-Trees (pB(+)-Trees), which use prefetching to accelerate two important operations on BS-Tree indices: searches and, range scans. To accelerate searches, pB(+)-Trees use prefetc hing to effectively create wider nodes than the natural data transfer size: e.g., eight vs, one cache lines or disk pages. These wider nodes reduce th e height of the B+-Tree, thereby decreasing the number of expensive misses when going;from parent to child without significantly increasing the cost o f fetching a given node. Our results show that this technique speeds up sea rch and update times by a factor of 1.2-1.5 for main-memory B+-Trees. In ad dition, it outperforms and is complementary to "Cache-Sensitive B+-Trees." To accelerate range scans, pB(+)-Trees provide arrays df pointers to their leaf nodes. These allow the pB(+)-Tree to prefetch arbitrarily far ahead, e ven for nonclustered indices, thereby hiding the normally expensive cache m isses associated with traversing the leaves within the range. Our results s how that this technique yields over a sixfold speedup on range scans of 100 0+ keys. Although our experimental evaluation focuses on main memory databa ses, the techniques that we propose are also applicable to hiding disk late ncy.