Journal ArticleDOI
The Cost of Cache-Oblivious Searching
Michael A. Bender,Gerth Stølting Brodal,Rolf Fagerberg,Dongdong Ge,Simai He,Haodong Hu,John Iacono,Alejandro López-Ortiz +7 more
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
Michael A. Bender,Roozbeh Ebrahimi,Jeremy T. Fineman,Golnaz Ghasemiesfeh,Rob Johnson,Samuel McCauley +5 more
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
Nikolas Askitis,Justin Zobel +1 more
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
M. Srinivas,Lalit M. Patnaik +1 more
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
Alok Aggarwal,S. Vitter Jeffrey +1 more
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.