scispace - formally typeset
Journal ArticleDOI

The Cost of Cache-Oblivious Searching

Reads0
Chats0
TLDR
The paper shows that no cache-oblivious search structure can guarantee a search performance of fewer than lg elog BN memory transfers between any two levels of the memory hierarchy, and shows that as k grows, the search costs of the optimal k-level DAM search structure and the optimal caching structure rapidly converge.
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 elog  B N 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(lg lg B/lg B)]log  B N+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 log  B N+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.

read more

Citations
More filters
Journal ArticleDOI

Engineering a cache-oblivious sorting algorithm

TL;DR: A carefully implemented cache-oblivious sorting algorithm, which can be faster than the best Quicksort implementation the authors are able to find for input sizes well within the limits of RAM and at least as fast as the recent cache-aware implementations included in the test.
Proceedings ArticleDOI

Cache-adaptive algorithms

TL;DR: The cache-adaptive model, which generalizes the external-memory model to apply to environments in which the amount of memory available to an algorithm can fluctuate, is introduced, and it is established that if a cache-oblivious algorithm is optimal on "square" memory profiles then, given resource augmentation it is ideal on all memory profiles.
Journal ArticleDOI

Redesigning the string hash table, burst trie, and BST to exploit cache

TL;DR: Two alternatives to the standard representation of strings are explored: the simple expedient of including the string in its node, and, for linked lists, the more drastic step of replacing each list of nodes by a contiguous array of characters.
Proceedings ArticleDOI

An update-aware storage system for low-locality update-intensive workloads

TL;DR: This paper describes an update-aware disk access interface that allows applications to explicitly specify disk update requests and associate with such requests call-back functions that will be invoked when the requested disk blocks are brought into memory.
Journal ArticleDOI

Cache-Oblivious Hashing

TL;DR: This paper shows that linear probing, a classical collision resolution strategy for hash tables, can be easily made cache-oblivious but it only achieves tq=1+Θ(α/b) even if a truly random hash function is used, and demonstrates that the block probing algorithm achieves t q=1-1/2Ω(b), thus matching the cache-aware bound.
References
More filters
Journal ArticleDOI

Genetic algorithms: a survey

TL;DR: The analogy between genetic algorithms and the search processes in nature is drawn and the genetic algorithm that Holland introduced in 1975 and the workings of GAs are described and surveyed.
Journal ArticleDOI

Ubiquitous B-Tree

TL;DR: The major variations of the B-tree are discussed, especially the B+-tree, contrasting the merits and costs of each implementation and illustrating a general purpose access method that uses a B- tree.
Journal ArticleDOI

The input/output complexity of sorting and related problems

TL;DR: Tight upper and lower bounds are provided for the number of inputs and outputs (I/OS) between internal memory and secondary storage required for five sorting-related problems: sorting, the fast Fourier transform (FFT), permutation networks, permuting, and matrix transposition.
Related Papers (5)