Skip to main content

Exponential Structures for Efficient Cache-Oblivious Algorithms

  • Conference paper
  • First Online:
Automata, Languages and Programming (ICALP 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2380))

Included in the following conference series:

Abstract

We present cache-oblivious data structures based upon exponential structures. These data structures perform well on a hierarchical memory but do not depend on any parameters of the hierarchy, including the block sizes and number of blocks at each level. The problems we consider are searching, partial persistence and planar point location. On a hierarchical memory where data is transferred in blocks of size B, some of the results we achieve are:

  1. -

    We give a linear-space data structure for dynamic searching that supports searches and updates in optimal O(logB N) worst- case I/Os, eliminating amortization from the result of Bender, Demaine, and Farach-Colton (FOCS ’00). We also consider finger searches and updates and batched searches.

  2. -

    We support partially-persistent operations on an ordered set, namely, we allow searches in any previous version of the set and updates to the latest version of the set (an update creates a new version of the set). All operations take an optimal O(logB (m + N)) amortized I/Os, where N is the size of the version being searched/updated, and m is the number of versions.

  3. -

    We solve the planar point location problem in linear space, taking optimal O(logB N) I/Os for point location queries, where N is the number of line segments specifying the partition of the plane. The pre-processing requires O((N/B) logM/B N) I/Os, where M is the size of the ‘inner’ memory.

This work was supported in part by HRL Laboratories, NSF Grant EIA-0112849 and Sandia National Laboratories (Bender); in part by NSF grants CCR-9800085 and CCR-0105678 (Cole);and in part by EPSRC grant GR L/92150 and UISTRF project 2001.04/IT (Raman).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aggarwal and J. S. Vitter. The I/O complexity of sorting and related problems. Communications of the ACM 31, 1116–1127, 1988.

    Article  MathSciNet  Google Scholar 

  2. A. Ailamaki, D. J. DeWitt, M. D. Hill, and D. A. Wood. DBMSs on a Modern Processor: Where Does Time Go? In Proc. 25th VLDB Conference (1999), pp 266–277.

    Google Scholar 

  3. A. Andersson. Faster Deterministic Sorting and Searching in Linear Space. In Proc. 37th IEEE FOCS (1996), pp. 135–141.

    Google Scholar 

  4. A. Andersson and M. Thorup. Tight(er) worst-case bounds on dynamic searching and priority queues. In Proc. 31st ACM STOC (2000), pp. 335–342.

    Google Scholar 

  5. L. Arge. External memory data structures. In J. Abello, P. M. Pardalos, and M. G. C. Resende, eds, Handbook of Massive Data Sets. Kluwer Academic, 2002.

    Google Scholar 

  6. L. Arge, D. E. Vengroff and J. S. Vitter. External-Memory Algorithms for Processing Line Segments in Geographic Information Systems (Extended Abstract). In Proc. 6th European Symposium on Algorithms (1995), LNCS 979, 295–310.

    Google Scholar 

  7. R. Bayer and E. M. McCreight. Organization and maintenance of large ordered indexes. Acta Informatica, 1(3): 173–189, February 1972.

    Google Scholar 

  8. M. A. Bender, E. Demaine and M. Farach-Colton Cache-oblivous B-trees. In Proc. 41st IEEE FOCS (2000), pp. 399–409.

    Google Scholar 

  9. M. A. Bender, R. Cole and R. Raman. Exponential structures for efficient cache-oblivious algorithms. University of Leicester TR 2002/19, 2002.

    Google Scholar 

  10. M. A. Bender, Z. Duan, J. Iacono and J. Wu. A locality-preserving cache-oblivious dynamic dictionary. In Proc. 13th ACM-SIAM SODA (2002), pp. 29–38.

    Google Scholar 

  11. R. D. Blumofe, M. Frigo, C. F. Joerg, C. E. Leiserson, and K. H. Randall. An analysis of dag-consistent distributed shared-memory algorithms. In Proc. 8th ACM SPAA, pp. 297–308, 1996.

    Google Scholar 

  12. G. S. Brodal, R. Fagerberg and R. Jacob. Cache-oblivious search trees via binary trees of small height. In Proc. 13th ACM-SIAM SODA (2002), pp. 39–48.

    Google Scholar 

  13. M. R. Brown, R. E. Tarjan. A data structure for representing sorted lists. SIAM J. Comput. 9 (1980), pp. 594–614.

    Article  MATH  MathSciNet  Google Scholar 

  14. M. T. Goodrich, J-J. Tsay, D. E. Vengroff and J. S. Vitter. External-Memory Computational Geometry (Preliminary Version). In Proc. 34th IEEE FOCS (1993), pp. 714–723.

    Google Scholar 

  15. M. L. Fredman and D. E. Willard. Surpassing the information theoretic bound with fusion trees. J. Comput. System Set, 47(3):424–436, 1993.

    Article  MATH  MathSciNet  Google Scholar 

  16. M. Frigo, C. E. Leiserson, H. Prokop and S. Ramachandran Cache-oblivious algorithms. In Proc. 40th IEEE FOCS (1999), pp. 285–298.

    Google Scholar 

  17. K. Mehlhorn. Data structures and algorithms, 1. Sorting and searching. Springer, 1984.

    Google Scholar 

  18. H. Prokop. Cache-oblivious algorithms. MS Thesis, MIT, 1999.

    Google Scholar 

  19. N. Rahman and R. Raman. Adapting radix sort to the memory hierarchy. TR 00-02, King’s College London, 2000. Prel. vers. in Proc. ALENEX 2000. 20. N. Rahman, R. Cole and R. Raman. Optimised predecessor data structures for internal memory. In Proc. 5th Workshop on Algorithm Engg., LNCS 2141, pp. 67–78, 2001.

    Google Scholar 

  20. N. Sarnak and R. E. Tarjan. Planar point location using persistent search trees. Communications of the ACM 29, 1986, 669–679.

    Article  MathSciNet  Google Scholar 

  21. M. Thorup. Faster Deterministic Sorting and Priority Queues in Linear Space. Proc. 9th ACM-SIAM SODA (1998), pp. 550–555.

    Google Scholar 

  22. S. Toledo. Locality of reference in LU decomposition with partial pivoting. SIAM Journal on Matrix Analysis and Applications, 18(4): 1065–1081, Oct. 1997.

    Google Scholar 

  23. J. S. Vitter. External memory algorithms and data structures: Dealing with MASSIVE data. ACM Computing Surveys 33 (2001) pp. 209–271.

    Article  Google Scholar 

  24. D. E. Willard. A density control algorithm for doing insertions and deletions in a sequentially ordered file in good worst-case time. Information and Computation, 97(2): 150–204, 1992.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bender, M.A., Cole, R., Raman, R. (2002). Exponential Structures for Efficient Cache-Oblivious Algorithms. In: Widmayer, P., Eidenbenz, S., Triguero, F., Morales, R., Conejo, R., Hennessy, M. (eds) Automata, Languages and Programming. ICALP 2002. Lecture Notes in Computer Science, vol 2380. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45465-9_18

Download citation

  • DOI: https://doi.org/10.1007/3-540-45465-9_18

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43864-9

  • Online ISBN: 978-3-540-45465-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics