Cache-oblivious dynamic search trees
Name
56986359-MIT.pdf
Description
Full printable version
Size
2.63 MB
Format
Adobe PDF
Checksum (MD5)
0fb76d62b6d5f7a4e38d593443f47eb7
Author(s)
Kasheff, Zardosht, 1981-
Advisor(s)
Bradley Kuszmaul.
Alternative Title
Partial parallelization of graph partitioning algorithm METIS
Date Issued
2004
Publisher
Massachusetts Institute of Technology
Abstract
I have implemented a cache-oblivious dynamic search tree as an alternative to the ubiquitious B-tree. I use a binary tree with a "van Endcle Boas" layout whose leaves point to intervals in a "packed memory structure". We refer to the data structure as a COB-Tree. The COB-Tree supports efficient lookup, as well as efficient amortized insertion and deletion. Efficient implementation of a B-tree requires understanding the cache-line size and page size and is optimized for a specific memory hierarchy. In contrast, the COB-Tree contains no machine-dependent variables, performs well on any memory hierarchy, and requires minimal user-level memory management. For random insertion of data, my data structure performs 7.5 times faster than the Berkeley DB and 3 times faster than a memory mapped implementation of B-trees. The packed memory array of the COB-Tree maintains data in sorted order, allows sequential reads at high speeds, and data insertions and deletions with few data writes on average. In addition, the data, structure is easy to implement because I employed memory mapping rather than explicit file operations.
Description
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004.
Includes bibliographical references (leaves 57-60).
Subjects
Electrical Engineering and Computer Science.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission.
Persistent DSpace Link