The Cost of Cache-Oblivious Searching

Michael A. Bender, Gerth Stølting Brodal, Rolf Fagerberg, Dongdong Ge, Simai He, Haodong Hu, John Iacono, and Alejandro López-Ortiz

In Algorithmica, volume 61(2), pages 463-505, 2011.

Abstract

This paper gives tight bounds on the cost of cache-oblivious searching. The paper shows that no cache-oblivious search structure can guarantee a search performance of fewer than lg e logBN memory transfers between any two levels of the memory hierarchy. This lower bound holds even if all of the block sizes are limited to be powers of 2. The paper gives modified versions of the van Emde Boas layout, where the expected number of memory transfers between any two levels of the memory hierarchy is arbitrarily close to [lg e+O(lglg B/lg B)] logBN +O(1). This factor approaches lg e ≈ 1.443 as B increases. The expectation is taken over the random placement in memory of the first element of the structure.

Because searching in the disk-access machine (DAM) model can be performed in logBN+O(1) block transfers, this result establishes a separation between the (2-level) DAM model and cache-oblivious model. The DAM model naturally extends to k levels. The paper also shows that as k grows, the search costs of the optimal k-level DAM search structure and the optimal cache-oblivious search structure rapidly converge. This result demonstrates that for a multilevel memory hierarchy, a simple cache-oblivious structure almost replicates the performance of an optimal parameterized k-level DAM structure.

Copyright notice

© Springer-Verlag Berlin Heidelberg 2010. All rights reserved.

Online version

algorithmica11.pdf (350 Kb)

DOI

10.1007/s00453-010-9394-0

BIBTEX entry

@article{algorithmica11,
  author = "Michael A. Bender and Gerth St{\o}lting Brodal and Rolf Fagerberg and  Dongdong Ge and Simai He and Haodong Hu and John Iacono and Alejandro L\'opez-Ortiz",
  doi = "10.1007/s00453-010-9394-0",
  issn = "0178-4617",
  journal = "Algorithmica",
  number = "2",
  pages = "463-505",
  title = "The Cost of Cache-Oblivious Searching",
  volume = "61",
  year = "2011"
}

Other versions