TY - GEN
T1 - A locality-preserving cache-oblivious dynamic dictionary
AU - Bender, Michael A.
AU - Duan, Ziyang
AU - Iacono, John
AU - Wu, Jing
PY - 2002
Y1 - 2002
N2 - This paper presents a simple dictionary structure designed for a hierarchical memory. The proposed data structure is cache oblivious and locality preserving. A cache-oblivious data structure has memory performance optimized for all levels of the memory hierarchy even though it has no memory-hierarchy-specific parameterization. A locality-preserving dictionary maintains elements of similar key values stored close together for fast access to ranges of data with consecutive keys. The data structure presented here is a simplification of the cache-oblivious B-tree of Bender, Demaine, and Farach-Colton. Like the cache-oblivious B-tree, this structure supports search operations using only O(logB N) block operations at a level of the memory hierarchy with block size B. Insertion and deletion operations use O(logB N + log2 N/B) amortized block transfers. Finally, the data structure returns all k data items in a given search range using O(logB JV + k/B) block operations. This data structure was implemented and its performance was evaluated on a simulated memory hierarchy. This paper presents the results of this simulation for various combinations of block and memory sizes.
AB - This paper presents a simple dictionary structure designed for a hierarchical memory. The proposed data structure is cache oblivious and locality preserving. A cache-oblivious data structure has memory performance optimized for all levels of the memory hierarchy even though it has no memory-hierarchy-specific parameterization. A locality-preserving dictionary maintains elements of similar key values stored close together for fast access to ranges of data with consecutive keys. The data structure presented here is a simplification of the cache-oblivious B-tree of Bender, Demaine, and Farach-Colton. Like the cache-oblivious B-tree, this structure supports search operations using only O(logB N) block operations at a level of the memory hierarchy with block size B. Insertion and deletion operations use O(logB N + log2 N/B) amortized block transfers. Finally, the data structure returns all k data items in a given search range using O(logB JV + k/B) block operations. This data structure was implemented and its performance was evaluated on a simulated memory hierarchy. This paper presents the results of this simulation for various combinations of block and memory sizes.
UR - http://www.scopus.com/inward/record.url?scp=84968830614&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84968830614&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:84968830614
T3 - Proceedings of the Annual ACM-SIAM Symposium on Discrete Algorithms
SP - 29
EP - 38
BT - Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002
PB - Association for Computing Machinery
T2 - 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002
Y2 - 6 January 2002 through 8 January 2002
ER -