Cache Oblivious Distribution Sweeping

  • Gerth Stølting Brodal
  • Rolf Fagerberg
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2380)


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.


Computational Geometry Base Tree Input Stream Input Point Memory Hierarchy 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    A. Aggarwal and J. S. Vitter. The input/output complexity of sorting and related problems. Communications of the ACM, 31(9):1116–1127, Sept. 1988.Google Scholar
  2. 2.
    L. Arge, M. A. Bender, E. D. Demaine, B. Holland-Minkley, and J. I. Munro. Cache-oblivious priority queue and graph algorithm applications. In Proc. 34th Ann. ACM Symp. on Theory of Computing. ACM Press, 2002. To appear.Google Scholar
  3. 3.
    M. J. Atallah and J.-J. Tsay. On the parallel-decomposability of geometric problems. Algorithmica, 8:209–231, 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    R. Bayer and E. McCreight. Organization and maintenance of large ordered indexes. Acta Informatica, 1:173–189, 1972.CrossRefGoogle Scholar
  5. 5.
    M. A. Bender, R. Cole, and R. Raman. Exponential structures for efficient cache-oblivious algorithms. In Proc. 29th International Colloquium on Automata, Languages, and Programming (ICALP), 2002. These proceedings.Google Scholar
  6. 6.
    M. A. Bender, E. Demaine, and M. Farach-Colton. Cache-oblivious B-trees. In Proc. 41st Ann. Symp. on Foundations of Computer Science, pages 399–409, 2000.Google Scholar
  7. 7.
    M. A. Bender, Z. Duan, J. Iacono, and J. Wu. A locality-preserving cache-oblivious dynamic dictionary. In Proc. 13th Ann. ACM-SIAM Symp. on Discrete Algorithms, pages 29–39, 2002.Google Scholar
  8. 8.
    J. L. Bentley. Algorithms for Klee’s rectangle problems. Carnegie-Mellon University, Pittsburgh, Penn., Department of Computer Science, unpublished notes, 1977.Google Scholar
  9. 9.
    G. S. Brodal and R. Fagerberg. Cache oblivious distribution sweeping. Technical Report RS-02-18, BRICS, Dept. of Computer Science, University of Aarhus, 2002.Google Scholar
  10. 10.
    G. S. Brodal, R. Fagerberg, and R. Jacob. Cache oblivious search trees via binary trees of small height. In Proc. 13th Ann. ACM-SIAM Symp. on Discrete Algorithms, pages 39–48, 2002.Google Scholar
  11. 11.
    M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf. Computational Geometry: Algorithms and Applications. Springer Verlag, Berlin, 1997.Google Scholar
  12. 12.
    M. Frigo, C. E. Leiserson, H. Prokop, and S. Ramachandran. Cache-oblivious algorithms. In 40th Annual Symposium on Foundations of Computer Science, pages 285–297, 1999.Google Scholar
  13. 13.
    M. T. Goodrich, J.-J. Tsay, D. E. Vengroff, and J. S. Vitter. External-memory computational geometry. In Proc. 34th Ann. Symp. on Foundations of Computer Science, pages 714–723, 1993.Google Scholar
  14. 14.
    R. L. Graham. An efficient algorithm for determining the convex hull of a finite planar set. Inf. Process. Lett., 1:132–133, 1972.zbMATHCrossRefGoogle Scholar
  15. 15.
    J. L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, second edition, 1996.Google Scholar
  16. 16.
    H. T. Kung, F. Luccio, and F. P. Preparata. On finding the maxima of a set of vectores. Journal of the ACM, 22(4):469–476, Oct. 1975.Google Scholar
  17. 17.
    H. Prokop. Cache-oblivious algorithms. Master’s thesis, Massachusetts Institute of Technology, June 1999.Google Scholar
  18. 18.
    J. S. Vitter. External memory algorithms and data structures: Dealing with massive data. ACM Computing Surveys, 33(2):209–271, June 2001.Google Scholar
  19. 19.
    D. E. Willard and Y. C. Wee. Quasi-valid range querying and its implications for nearest neighbor problems. In Proceedings of the Fourth Annual Symposium on Computational Geometry, pages 34–43. ACM Press, 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Gerth Stølting Brodal
    • 1
  • Rolf Fagerberg
    • 1
  1. 1.BRICS, Department of Computer ScienceUniversity of AarhusNy MunkegadeDenmark

Personalised recommendations