ACM Home Page
Please provide us with feedback. Feedback
Cache-oblivious streaming B-trees
Full text PdfPdf (274 KB)
Source ACM Symposium on Parallel Algorithms and Architectures archive
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures table of contents
San Diego, California, USA
SESSION: Cache-oblivious/cache-aware algorithms table of contents
Pages: 81 - 92  
Year of Publication: 2007
ISBN:978-1-59593-667-7
Authors
Michael A. Bender  Stony Brook University, Stony Brook, NY
Martin Farach-Colton  Rutgers University, Piscataway, NJ
Jeremy T. Fineman  MIT CSAIL, Cambridge, MA
Yonatan R. Fogel  Stony Brook University, Stony Brook, NY
Bradley C. Kuszmaul  MIT CSAIL, Cambridge, MA
Jelani Nelson  MIT CSAIL, Cambridge, MA
Sponsors
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGARCH: ACM Special Interest Group on Computer Architecture
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 19,   Downloads (12 Months): 125,   Citation Count: 1
Additional Information:

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

ABSTRACT

A streaming B-tree is a dictionary that efficiently implements insertions and range queries. We present two cache-oblivious streaming B-trees, the shuttle tree, and the cache-oblivious lookahead array (COLA).

For block-transfer size B and on N elements, the shuttle tree implements searches in optimal O(log B+1N) transfers, range queries of L successive elements in optimal O(log B+1N +L/B) transfers, and insertions in O((log B+1N)/BΘ(1/(log log B)2)+(log2N)/B) transfers, which is an asymptotic speedup over traditional B-trees if B ≥ (log N)1+c log log log2 N for any constant c >1.

A COLA implements searches in O(log N) transfers, range queries in O(log N + L/B) transfers, and insertions in amortized O((log N)/B) transfers, matching the bounds for a (cache-aware) buffered repository tree. A partially deamortized COLA matches these bounds but reduces the worst-case insertion cost to O(log N) if memory size M = Ω(log N). We also present a cache-aware version of the COLA, the lookahead array, which achieves the same bounds as Brodal and Fagerberg's (cache-aware) Bε-tree.

We compare our COLA implementation to a traditional B-tree. Our COLA implementation runs 790 times faster for random inser-tions, 3.1 times slower for insertions of sorted data, and 3.5 times slower for searches.


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
R. Bayer and E. M. McCreight. Organization and maintenance of large ordered indexes. Acta Inf., 1(3):173--189, Feb. 1972.
 
5
 
6
 
7
8
 
9
J. L. Bentley and J. B. Saxe. Decomposable searching problems i: Static-to-dynamic transformation. J. Algorithms, 1(4):301--358, 1980.
 
10
 
11
 
12
 
13
B. Chazelle and L. J. Guibas. Fractional cascading: I. a data structuring technique. Algorithmica, 1(2):133--162, 1986.
14
 
15
 
16
I. Katriel. Implicit data structures based on local reorganizations. Master's thesis, Technion, Israel Inst. of Tech., Haifa, May 2002.
 
17
D. E. Knuth. Sorting and Searching, volume 3 of The Art of Computer Programming. Addison-Wesley, Reading, Massachusetts, 1973.
 
18
 
19
 
20
H. Prokop. Cache-oblivious algorithms. Master's thesis, Department of Electrical Engineering and Computer Science, Massachusetts Inst. of Tech., June 1999.
 
21
Sleepycat Software. The Berkeley Database. http://www.sleepycat.com, 2005.


Collaborative Colleagues:
Michael A. Bender: colleagues
Martin Farach-Colton: colleagues
Jeremy T. Fineman: colleagues
Yonatan R. Fogel: colleagues
Bradley C. Kuszmaul: colleagues
Jelani Nelson: colleagues