## On the limits of cache-obliviousness (2003)

### Cached

### Download Links

- [www.brics.dk]
- [www.cs.au.dk]
- [www.cs.au.dk]
- [www.brics.dk]
- [www.daimi.au.dk]
- DBLP

### Other Repositories/Bibliography

Venue: | IN PROC. 35TH ANNUAL ACM SYMPOSIUM ON THEORY OF COMPUTING |

Citations: | 40 - 8 self |

### BibTeX

@INPROCEEDINGS{Brodal03onthe,

author = {Gerth Stølting Brodal and Rolf Fagerberg},

title = {On the limits of cache-obliviousness},

booktitle = {IN PROC. 35TH ANNUAL ACM SYMPOSIUM ON THEORY OF COMPUTING},

year = {2003},

pages = {307--315},

publisher = {ACM Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

In this paper, we present lower bounds for permuting and sorting in the cache-oblivious model. We prove that (1) I/O optimal cache-oblivious comparison based sorting is not possible without a tall cache assumption, and (2) there does not exist an I/O optimalcache-oblivious algorithm for permuting, not even in the presence of a tall cache assumption.Our results for sorting show the existence of an inherent trade-off in the cache-oblivious model between the strength of the tall cache assumption and the overhead for the case M >> B, and show that Funnelsort and recursive binary mergesort are optimal algorithms in the sense that they attain this trade-off.

### Citations

8786 |
Introduction to Algorithms
- Cormen, Leiserson, et al.
- 1992
(Show Context)
Citation Context ...s of the memory hierarchy. Memory CPU Figure 1: The RAM model BlockMemory 1CPU Memory 2 Figure 2: The I/O model Recently, the concept of cache-oblivious algorithms has been introduced by Frigo et al. =-=[18]-=-. In essence, this designates algorithms formulated in the RAM model, but analyzed in the I/O model for arbitrary block size B and memory size M . I/Os are assumed to be performed automatically by an ... |

734 |
Tarjan. Amortized efficiency of list update and paging rules
- Sleator, E
- 1985
(Show Context)
Citation Context ...er, if the original definition is preferred, we can convert our results to it at the cost of a factor two in M and in the I/O bound, by appealing to Sleator and Tarjans classic competitiveness result =-=[23]-=- for LRU-paging. Also note that like [18], we assume the cache is fully associative. 3 Results We first consider the problem of comparison based sorting. Below, in Theorem 1 and it corollaries, we sho... |

551 |
The Input/Output complexity of sorting and related problems
- Aggarwal, Vitter
- 1988
(Show Context)
Citation Context ...depicted in Figure 1) is unable to capture this, a number of more elaborate models for analysis have been proposed. The most widely used of these is the I/O model introduced by of Aggarwal and Vitter =-=[2]-=- in 1988, which assumes a memory hierarchy containing two levels, the lower level having size M and the transfer between the two levels taking place in blocks of B consecutive elements. This model is ... |

326 | External memory algorithms and data structures: Dealing with massive data
- Vitter
(Show Context)
Citation Context ...ominates the running time), while being sufficiently simple to make analysis of algorithms feasible. By now, a large number of results for the I/O model exists--see the surveys by Arge [3] and Vitter =-=[24]-=-. Among the fundamental facts are that in the I/O model, comparison based sorting takes \Theta (SortM,B(N )) I/Os in the worst case, where SortM,B(N ) = NB logM/B NB , and permuting takes \Theta (Perm... |

260 |
Organization and Maintenance of Large Ordered Indexes
- Bayer, McCreight
- 1972
(Show Context)
Citation Context ...timal cache-oblivious algorithms for matrix transposition, FFT, and sorting [18], and also gave a proposal for static search trees [21] with search cost matching that of standard (cacheaware) B-trees =-=[7]-=-. Since then, quite a number of results for the model have appeared, including the following: Bender et al. [11] gave a proposal for cache-oblivious dynamic search trees with search cost matching B-tr... |

150 |
Computer Algorithms: Introduction to Design and Analysis (3rd Ed
- Baase, Gelder
- 2000
(Show Context)
Citation Context ...to-leaf path determined by the input ends in a leaf labeled with the initial permutation of the input elements. Clearly, a RAM-decision-tree can be transformed into a standard decision-tree (see e.g. =-=[6]-=-) by keeping track of elements positions, converting indices for memory cells into indices for elements, and finally removing the assignment nodes. In short, RAM-decision-trees are a version of decisi... |

140 | Cache-oblivious B-trees
- Bender, Demaine, et al.
- 2000
(Show Context)
Citation Context ...static search trees [21] with search cost matching that of standard (cacheaware) B-trees [7]. Since then, quite a number of results for the model have appeared, including the following: Bender et al. =-=[11]-=- gave a proposal for cache-oblivious dynamic search trees with search cost matching B-trees. Simpler cache-oblivious search trees with complexities matching that of [11] were presented in [12, 16, 22]... |

99 | A new data structure for representing sorted lists
- Huddleston, Mehlhorn
- 1982
(Show Context)
Citation Context ...described how to optimally merge two sorted lists of length k and n with O(k log k+nk ) comparisons and similar time bounds for merging two AVL-trees and two level-linked (2,4)-trees were achieved in =-=[17, 19]-=-. Here, we consider a variant of the problem where the k elements y1, . . . , yk are given online (not necessarily in sorted order). When inserting the ith element yi, the elements y1, . . . , yi-1 mu... |

81 | External memory data structures - Arge |

81 | Cache-Oblivious Algorithms
- Prokop
- 1999
(Show Context)
Citation Context ...d the concept of cache-oblivious algorithms in 1999, and presented optimal cache-oblivious algorithms for matrix transposition, FFT, and sorting [18], and also gave a proposal for static search trees =-=[21]-=- with search cost matching that of standard (cacheaware) B-trees [7]. Since then, quite a number of results for the model have appeared, including the following: Bender et al. [11] gave a proposal for... |

74 | A locality-preserving cacheoblivious dynamic dictionary
- Bender, Duan, et al.
- 2002
(Show Context)
Citation Context ... et al. [11] gave a proposal for cache-oblivious dynamic search trees with search cost matching B-trees. Simpler cache-oblivious search trees with complexities matching that of [11] were presented in =-=[12, 16, 22]-=-, and a variant with worst case bounds for updates appear in [9]. Cache-oblivious algorithms have been given for problems in computational geometry [1, 9, 14], for scanning dynamic sets [8], for layou... |

72 | Amortized eciency of list update and paging rules - Sleator, Tarjan - 1985 |

68 | Cache-oblivious priority queue and graph algorithm applications
- Arge, Bender, et al.
- 2002
(Show Context)
Citation Context ... problems in computational geometry [1, 9, 14], for scanning dynamic sets [8], for layout of static trees [10], and for partial persistence [9]. Cache-oblivious priority queues have been developed in =-=[4, 15]-=-, which in turn gives rise to several cache-oblivious graph algorithms [4]. Some of these results, in particular those involving sorting and algorithms to which sorting reduces, such as priority queue... |

65 | Cache oblivious search trees via binary trees of small height
- Brodal, Fagerberg, et al.
- 2002
(Show Context)
Citation Context ... et al. [11] gave a proposal for cache-oblivious dynamic search trees with search cost matching B-trees. Simpler cache-oblivious search trees with complexities matching that of [11] were presented in =-=[12, 16, 22]-=-, and a variant with worst case bounds for updates appear in [9]. Cache-oblivious algorithms have been given for problems in computational geometry [1, 9, 14], for scanning dynamic sets [8], for layou... |

47 | A simple algorithm for merging two disjoint linearly ordered sets
- Hwang, Lin
- 1972
(Show Context)
Citation Context ...rging two sorted lists of length |K| and |L|. The top of Te will be an optimal RAM-decision-tree Tb reestablishing 8sInvariant 2. As |K| + |L| <= B2, this tree has height at most 4|K| + |K| log B2|K| =-=[20]-=-. If there is a second such block, we repeat the procedure, inserting another such tree under each leaf of the current Te. At the edge e, we now look at the at most two blocks in Cache1 which was put ... |

42 | Cache oblivious distribution sweeping
- Brodal, Fagerberg
- 2002
(Show Context)
Citation Context ...matching that of [11] were presented in [12, 16, 22], and a variant with worst case bounds for updates appear in [9]. Cache-oblivious algorithms have been given for problems in computational geometry =-=[1, 9, 14]-=-, for scanning dynamic sets [8], for layout of static trees [10], and for partial persistence [9]. Cache-oblivious priority queues have been developed in [4, 15], which in turn gives rise to several c... |

40 |
Tarjan, “A fast merging algorithm
- Brown, E
- 1979
(Show Context)
Citation Context ...described how to optimally merge two sorted lists of length k and n with O(k log k+nk ) comparisons and similar time bounds for merging two AVL-trees and two level-linked (2,4)-trees were achieved in =-=[17, 19]-=-. Here, we consider a variant of the problem where the k elements y1, . . . , yk are given online (not necessarily in sorted order). When inserting the ith element yi, the elements y1, . . . , yi-1 mu... |

34 | R.: Funnel heap - a cache oblivious priority queue
- Brodal, Fagerberg
(Show Context)
Citation Context ... problems in computational geometry [1, 9, 14], for scanning dynamic sets [8], for layout of static trees [10], and for partial persistence [9]. Cache-oblivious priority queues have been developed in =-=[4, 15]-=-, which in turn gives rise to several cache-oblivious graph algorithms [4]. Some of these results, in particular those involving sorting and algorithms to which sorting reduces, such as priority queue... |

33 | Scanning and traversing: Maintaining data for traversals in a memory hierarchy
- Bender, Cole, et al.
(Show Context)
Citation Context ...n [12, 16, 22], and a variant with worst case bounds for updates appear in [9]. Cache-oblivious algorithms have been given for problems in computational geometry [1, 9, 14], for scanning dynamic sets =-=[8]-=-, for layout of static trees [10], and for partial persistence [9]. Cache-oblivious priority queues have been developed in [4, 15], which in turn gives rise to several cache-oblivious graph algorithms... |

32 | A General Lower Bound on the I/OComplexity of Comparison-based Algorithms
- Arge, Knudsen, et al.
- 1993
(Show Context)
Citation Context ...ll be sub-optimal by a factor polynomial on N on at least one of the machines. A basic element of our approach is the transformation of comparison trees, which was inspired by the work of Arge et al. =-=[5]-=- for the I/O model. Key new features of our proofs are our definition of a working set, bounds on online searches, and a formal model for comparison based cache-oblivious sorting. This paper is organi... |

32 |
Optimised predecessor data structures for internal memory
- RAHMAN, COLE, et al.
- 2001
(Show Context)
Citation Context ... et al. [11] gave a proposal for cache-oblivious dynamic search trees with search cost matching B-trees. Simpler cache-oblivious search trees with complexities matching that of [11] were presented in =-=[12, 16, 22]-=-, and a variant with worst case bounds for updates appear in [9]. Cache-oblivious algorithms have been given for problems in computational geometry [1, 9, 14], for scanning dynamic sets [8], for layou... |

31 | Efficient tree layout in a multilevel memory hierarchy
- BENDER, DEMAINE, et al.
(Show Context)
Citation Context ...th worst case bounds for updates appear in [9]. Cache-oblivious algorithms have been given for problems in computational geometry [1, 9, 14], for scanning dynamic sets [8], for layout of static trees =-=[10]-=-, and for partial persistence [9]. Cache-oblivious priority queues have been developed in [4, 15], which in turn gives rise to several cache-oblivious graph algorithms [4]. Some of these results, in p... |

21 |
Exponential structures for cache-oblivious algorithms
- BENDER, COLE, et al.
(Show Context)
Citation Context ...h search cost matching B-trees. Simpler cache-oblivious search trees with complexities matching that of [11] were presented in [12, 16, 22], and a variant with worst case bounds for updates appear in =-=[9]-=-. Cache-oblivious algorithms have been given for problems in computational geometry [1, 9, 14], for scanning dynamic sets [8], for layout of static trees [10], and for partial persistence [9]. Cache-o... |

9 |
On cache-oblivious multidimensional range searching
- Agarwal, Arge, et al.
- 2003
(Show Context)
Citation Context ...matching that of [11] were presented in [12, 16, 22], and a variant with worst case bounds for updates appear in [9]. Cache-oblivious algorithms have been given for problems in computational geometry =-=[1, 9, 14]-=-, for scanning dynamic sets [8], for layout of static trees [10], and for partial persistence [9]. Cache-oblivious priority queues have been developed in [4, 15], which in turn gives rise to several c... |

7 |
A characterization of temporal locality and its portability across memory hierarchies
- Bilardi, Peserico
- 2001
(Show Context)
Citation Context ... that Lazy Funnelsort and recursive binary mergesort are optimal algorithms in the sense that they attain this trade-off. Only little previous work has been done on the question. Bilardi and Peserico =-=[13]-=- have investigated the portability of algorithms in the HRAM-model, where the access to memory location A[i] takes time f (i) for some non-decreasing function f . Their model of computation is the CDA... |