## Cache oblivious distribution sweeping (2002)

### Cached

### Download Links

- [www.daimi.au.dk]
- [www.daimi.au.dk]
- [www.cs.au.dk]
- [www.cs.au.dk]
- [www.cs.au.dk]
- [www.mpi-inf.mpg.de]
- [www.brics.dk]
- [www.daimi.au.dk]
- [www.brics.dk]
- [www.daimi.au.dk]
- DBLP

### Other Repositories/Bibliography

Venue: | IN PROC. 29TH INTERNATIONAL COLLOQUIUM ON AUTOMATA, LANGUAGES, AND PROGRAMMING (ICALP), VOLUME 2380 OF LNCS |

Citations: | 40 - 11 self |

### BibTeX

@INPROCEEDINGS{Brodal02cacheoblivious,

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

title = {Cache oblivious distribution sweeping},

booktitle = {IN PROC. 29TH INTERNATIONAL COLLOQUIUM ON AUTOMATA, LANGUAGES, AND PROGRAMMING (ICALP), VOLUME 2380 OF LNCS},

year = {2002},

pages = {426--438},

publisher = {Springer Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

We adapt the distribution sweeping method to the cache oblivious model. Distribution sweeping is the name used for a general approach for divide-and-conquer algorithms where the combination of solved subproblems can be viewed as a merging process of streams. We demonstrate by a series of algorithms for specific problems the feasibility of the method in a cache oblivious setting. The problems all come from computational geometry, and are: orthogonal line segment intersection reporting, the all nearest neighbors problem, the 3D maxima problem, computing the measure of a set of axis-parallel rectangles, computing the visibility of a set of line segments from a point, batched orthogonal range queries, and reporting pairwise intersections of axis-parallel rectangles. Our basic building block is a simplified version of the cache oblivious sorting algorithm Funnelsort of Frigo et al., which is of independent interest.

### Citations

8523 |
Introduction to Algorithms
- Cormen, Leiserson, et al.
- 2001
(Show Context)
Citation Context ... the survey by Vitter [18]. A significant part of these results are for problems within computational geometry. Recently, the concept of cache oblivious algorithms has been introduced by Frigo et al. =-=[12]-=-. In essence, this designates algorithms optimized in the I/O model, except that one optimizes to a block size B and a memory size M which are unknown. I/Os are assumed to be performed automatically b... |

3973 | Computer Architecture: A Quantitative Approach, 3 rd ed - Hennessy, Patterson, et al. - 2002 |

1763 |
Computational Geometry: An Introduction
- Preparata, Shamos
- 1985
(Show Context)
Citation Context ...try. Existing algorithms may have straightforward cache oblivious implementation—this is for example the case for the algorithm know as Graham’s scan [15] for computing the convex hull of a point set =-=[12, 18]-=-. This algorithm first sorts the points, and then scans them while maintaining a stack containing the points on the convex hull of the points visited so far. Since the sorting step can be done by the ... |

972 |
Computational Geometry — Algorithms and Applications
- Berg, Kreveld, et al.
- 1999
(Show Context)
Citation Context ...try. Existing algorithms may have straightforward cache oblivious implementation—this is for example the case for the algorithm know as Graham’s scan [14] for computing the convex hull of a point set =-=[11]-=-. This algorithm first sorts the points, and then scans them while maintaining a stack containing the points on the convex hull of the points visited so far. Since the sorting step can be done by the ... |

537 |
The input/output complexity of sorting and related problems
- Aggarwal, Vitter
- 1988
(Show Context)
Citation Context ...ysis of algorithms in the RAM model 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 of Aggarwal and Vitter =-=[1]-=-, which assumes a memory hierarchy containing two levels, the lower level having size M and the transfer ⋆ Partially supported by the Future and Emerging Technologies programme of the EU under contrac... |

319 | External memory algorithms and data structures: dealing with massive data
- Vitter
(Show Context)
Citation Context ...n memory, as the access time is very large for disks compared to the remaining levels of the memory hierarchy. By now, a large number of results for the I/O model exists—see e.g. the survey by Vitter =-=[18]-=-. A significant part of these results are for problems within computational geometry. Recently, the concept of cache oblivious algorithms has been introduced by Frigo et al. [12]. In essence, this des... |

254 |
Organization and maintenance of large ordered indexes
- Bayer, McCreight
- 1972
(Show Context)
Citation Context ...ivious algorithms for matrix transposition, FFT, and sorting [12]. Bender et al. [6], gave a proposal for cache oblivious search trees with search cost matching that of standard (cache aware) B-trees =-=[4]-=-. Simpler cache oblivious search trees with complexities matching that of [6] were presented in [7,10]. Cache-oblivious data structures based on on exponential structures are presented in [5]. Recentl... |

240 |
An efficient algorithm for determining the convex hull of a finite point set
- Graham
- 1972
(Show Context)
Citation Context ...algorithms within the field of computational geometry. Existing algorithms may have straightforward cache oblivious implementation—this is for example the case for the algorithm know as Graham’s scan =-=[14]-=- for computing the convex hull of a point set [11]. This algorithm first sorts the points, and then scans them while maintaining a stack containing the points on the convex hull of the points visited ... |

175 | On finding the maxima of a set of vectors
- Kung, Luccio, et al.
- 1975
(Show Context)
Citation Context ...monstrated the validity of their approach. The examples mentioned in [13, Section 2] are: orthogonal line segment intersection reporting, the all nearest neighbors problem [19], the 3D maxima problem =-=[16]-=-, computing the measure of a set of axis-parallel rectangles [8], computing the visibility of a set of line segments from a point [3], batched orthogonal range queries, and reporting pairwise intersec... |

149 | The bu er tree: A new technique for optimal I/O-algorithms - Arge - 1995 |

133 | Concurrent cache-oblivious B-trees
- Bender, Fineman, et al.
- 2005
(Show Context)
Citation Context ...iviousness, see [12]. Frigo et al. introduced the concept of cache oblivious algorithms and presented optimal cache oblivious algorithms for matrix transposition, FFT, and sorting [12]. Bender et al. =-=[6]-=-, gave a proposal for cache oblivious search trees with search cost matching that of standard (cache aware) B-trees [4]. Simpler cache oblivious search trees with complexities matching that of [6] wer... |

121 | External-memory computational geometry
- Goodrich, Tsay, et al.
- 1993
(Show Context)
Citation Context ...quence of problems in computational geometry. Common to these problems is that there exist external memory algorithms for these problems based on the distribution sweeping approach of Goodrich et al. =-=[14]-=-. Goodrich et al. introduced distribution sweeping as a general approach for developing external memory algorithms for problems which in internal memory can be solved by a divide-and-conquer algorithm... |

78 | Cache-oblivious algorithms
- Prokop
- 1999
(Show Context)
Citation Context ...ory in contiguous locations. This statement holds recursively for the top tree and for the bottom trees of the k-merger. In effect, a k-merger is the same as the van Emde Boas layout of a binary tree =-=[17]-=-, except that edges now are buffers and take up more than constant space. Procedure Fill(v) while v’s output buffer is not full if left input buffer empty Fill(left child of v) if right input buffer e... |

72 | A locality-preserving cache-oblivious dynamic dictionary
- Bender, Duan, et al.
- 2002
(Show Context)
Citation Context ...al for cache oblivious search trees with search cost matching that of standard (cache aware) B-trees [4]. Simpler cache oblivious search trees with complexities matching that of [6] were presented in =-=[7,10]-=-. Cache-oblivious data structures based on on exponential structures are presented in [5]. Recently, a cache-oblivious priority queue has been developed [2], which in turn gives rise to several cache-... |

64 | Cache-oblivious priority queue and graph algorithm applications
- Arge, Bender, et al.
- 2002
(Show Context)
Citation Context ...s matching that of [6] were presented in [7,10]. Cache-oblivious data structures based on on exponential structures are presented in [5]. Recently, a cache-oblivious priority queue has been developed =-=[2]-=-, which in turn gives rise to several cache-oblivious graph algorithms. We consider cache oblivious algorithms within the field of computational geometry. Existing algorithms may have straightforward ... |

63 | Cache oblivious search trees via binary trees of small height (extended abstract
- Brodal, Fagerberg, et al.
- 2002
(Show Context)
Citation Context ...al for cache oblivious search trees with search cost matching that of standard (cache aware) B-trees [4]. Simpler cache oblivious search trees with complexities matching that of [6] were presented in =-=[7,10]-=-. Cache-oblivious data structures based on on exponential structures are presented in [5]. Recently, a cache-oblivious priority queue has been developed [2], which in turn gives rise to several cache-... |

57 |
Solutions to Klee’s rectangle problems
- Bentley
- 1977
(Show Context)
Citation Context ... in [13, Section 2] are: orthogonal line segment intersection reporting, the all nearest neighbors problem [19], the 3D maxima problem [16], computing the measure of a set of axis-parallel rectangles =-=[8]-=-, computing the visibility of a set of line segments from a point [3], batched orthogonal range queries, and reporting pairwise intersections of axis-parallel rectangles. We investigate if the distrib... |

36 |
An Optimal Worst Case Algorithm for Reporting Intersections of Rectangles
- Bentley, Wood
- 1980
(Show Context)
Citation Context ...orthogonal segment intersection reporting problem (reporting intersections of sides of rectangles) and one batched range searching problem (reporting rectangle corners within rectangles), as noted in =-=[2, 10]-=-, the I/O bound in Theorem 1 follows immediately. 3.7 All Nearest Neighbors Problem Given N points in the plane, compute for each point which other point is the closest. We solve the problem in two ph... |

19 | Exponential structures for efficient cache-oblivious algorithms, in
- Bender, Cole, et al.
(Show Context)
Citation Context ... B-trees [4]. Simpler cache oblivious search trees with complexities matching that of [6] were presented in [7,10]. Cache-oblivious data structures based on on exponential structures are presented in =-=[5]-=-. Recently, a cache-oblivious priority queue has been developed [2], which in turn gives rise to several cache-oblivious graph algorithms. We consider cache oblivious algorithms within the field of co... |

13 |
On the parallel-decomposability of geometric problems
- Atallah, Tsay
- 1992
(Show Context)
Citation Context ...ng, the all nearest neighbors problem [19], the 3D maxima problem [16], computing the measure of a set of axis-parallel rectangles [8], computing the visibility of a set of line segments from a point =-=[3]-=-, batched orthogonal range queries, and reporting pairwise intersections of axis-parallel rectangles. We investigate if the distribution sweeping approach can be adapted to the cache oblivious model, ... |

5 |
Algorithms for Klee’s rectangle problems. Carnegie-Mellon
- Bentley
- 1977
(Show Context)
Citation Context ...n [14, Section 2] are: orthog3onal line segment intersection reporting, the all nearest neighbors problem [21], the 3D maxima problem [17], computing the measure of a set of axis-parallel rectangles =-=[9]-=-, computing the visibility of a set of line segments from a point [4], batched orthogonal range queries, and reporting pairwise intersections of axis-parallel rectangles. We investigate if the distrib... |

4 | Exponential structures for ecient cache-oblivious algorithms - Bender, Cole, et al. - 2002 |

2 |
Quasi-valid range querying and its implications for nearest neighbor problems
- Willard, Wee
- 1988
(Show Context)
Citation Context ...sequence of examples they demonstrated the validity of their approach. The examples mentioned in [13, Section 2] are: orthogonal line segment intersection reporting, the all nearest neighbors problem =-=[19]-=-, the 3D maxima problem [16], computing the measure of a set of axis-parallel rectangles [8], computing the visibility of a set of line segments from a point [3], batched orthogonal range queries, and... |

2 |
A locality-preservingcache-oblivious dynamic dictionary
- Bender, Duan, et al.
- 2002
(Show Context)
Citation Context ...al for cache oblivious search trees with search cost matching that of standard (cache aware) B-trees [4]. Simpler cache oblivious search trees with complexities matching that of [6] were presented in =-=[7, 10]-=-. Cache-oblivious data structures based on on exponential structures are presented in [5]. Recently, a cache-oblivious priority queue has been developed [2], which in turn gives rise to several cache-... |