A locality-preserving cache-oblivious dynamic dictionary

  • Authors:
  • Michael A. Bender;Ziyang Duan;John Iacono;Jing Wu

  • Affiliations:
  • State University of New York, Stony Brook, NY;State University of New York, Stony Brook, NY;Polyechnic University, Brooklyn NY;State University of New York, Stony Brook, NY

  • Venue:
  • SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

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(logBN) block operations at a level of the memory hierarchy with block size B. Insertion and deletion operations use O(logBN + log2 N/B) amortized block transfers. Finally, the data structure returns all k data items in a given search range using O(logBN + 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.