Skip to main content

Efficient Tree Layout in a Multilevel Memory Hierarchy

  • Conference paper
  • First Online:
Algorithms — ESA 2002 (ESA 2002)

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

Included in the following conference series:

Abstract

We consider the problem of laying out a tree or trie in a hierarchical memory, where the tree/trie has a fixed parent/child structure. The goal is to minimize the expected number of block transfers performed during a search operation, subject to a given probability distribution on the leaves. This problem was previously considered by Gil and Itai, who show optimal but high-complexity algorithms when the block-transfer size is known. We propose a simple greedy algorithm that is within an additive constant strictly less than 1 of optimal. We also present a relaxed greedy algorithm that permits more flexibility in the layout while decreasing performance (increasing the expected number of block transfers) by only a constant factor. Finally, we extend this latter algorithm to the cache-oblivious setting in which the block-transfer size is unknown to the algorithm; in particular this extension solves the problem for a multilevel memory hierarchy. The query performance of the cache-oblivious layout is within a constant factor of the query performance of the optimal layout with known block size.

Supported in part by HRL Laboratories, NSF Grant EIA-0112849, and Sandia National Laboratories.

Supported in part by NSF Grant EIA-0112849.

Supported in part by NSF Grant CCR-9820879.

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. Aho, J. Hopcroft, and J. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.

    Google Scholar 

  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 Annual ACM Symposium on Theory of Computing, pages 268–276, 2002.

    Google Scholar 

  3. M. Baker, J. Hartman, M. Kupfer, K. Shirri., and J. Ousterhout. Measurements of a distributed file system. In Proc. 13th Symposium on Operating Systems Principles, pages 198–212, 1991.

    Google Scholar 

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

    Google Scholar 

  5. M. A. Bender, R. Cole, and R. Raman. Exponential structures for e.cient cacheoblivious algorithms. In Proc. 29th International Colloquium on Automata, Languages, and Programming, 2002. To appear.

    Google Scholar 

  6. M. A. Bender, E. Demaine, and M. Farach-Colton. Cache-oblivious B-trees. In Proc. 41st Annual Symposium on Foundations of Computer Science, pages 399–409, 2000.

    Google Scholar 

  7. M. A. Bender, Z. Duan, J. Iacono, and J. Wu. A locality-preserving cacheoblivious dynamic dictionary. In Proc. 13th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 29–38, 2002.

    Google Scholar 

  8. G. S. Brodal, R. Fagerberg, and R. Jacob. Cache oblivious search trees via binary trees of small height (extended abstract). In Proc. 18th Annual ACM-SIAM Symposium on Discrete Algorithms, 2002.

    Google Scholar 

  9. M. Frigo, C. E. Leiserson, H. Prokop, and S. Ramachandran. Cache-oblivious algorithms. In Proc. 40th Annual Symposium on Foundations of Computer Science, pages 285–297, New York, October 1999.

    Google Scholar 

  10. J. Gil and A. Itai. Packing trees. In Proc. 3rd Annual European Symposium on Algorithms), pages 113–127, 1995.

    Google Scholar 

  11. J. Gil and A. Itai. How to pack trees. Journal of Algorithms, 32(2):108–132, 1999.

    Article  MATH  MathSciNet  Google Scholar 

  12. T. C. Hu and P. A. Tucker. Optimal alphabetic trees for binary search. Information Processing Letters, 67(3):137–140, 1998.

    Article  MathSciNet  Google Scholar 

  13. D. A. Huffman. A method for the construction of minimum-redundancy codes. Proc. IRE, 40(9):1098–1101, 1952.

    Google Scholar 

  14. J. Iacono. Alternatives to splay trees with O(log n) worst-case access times. In Proc. 11th Symposium on Discrete Algorithms, pages 516–522, 2001.

    Google Scholar 

  15. D.E. Knuth. The Art of Computer Programming, V. 3: Sorting and Searching. Addison-Wesley, Reading, 1973.

    Google Scholar 

  16. J. K. Ousterhout, H.D. Costa, D. Harrison, J. A. Kunze, M. Kupfer, and J.G. Thompson. At race-driven analysis of the UNIX 4.2 BSD File System. In Proc. 10th Symposium on Operating Systems Principles, pages 15–24, 1985.

    Google Scholar 

  17. H. Prokop. Cache-oblivious algorithms. Master’s thesis, Massachusetts Institute of Technology, Cambridge, MA, June 1999.

    Google Scholar 

  18. N. Rahman, R. Cole, and R. Raman. Optimized predecessor data structures for internal memory. In Proc. 5th Workshop on Algorithms Engineering, pages 67–78, 2001.

    Google Scholar 

  19. D. Roselli, J. Lorch, and T. Anderson. A comparison of.le system workloads. In Proc. 2000 USENIX Annual Technical Conference, pages 41–54, 2000.

    Google Scholar 

  20. D.D. Sleator and R. E. Tarjan. Self-adjusting binary search trees. Journal of the ACM, 32(3):652–686, July 1985.

    Google Scholar 

  21. S. Thite. Optimum binary search trees on the hierarchical memory model. Master’s thesis, Department of Computer Science, University of Illinios at Urbana-Champaign, 2001.

    Google Scholar 

  22. W. Vogels. File system usage inWindows NT 4.0. In Proc. 17th ACM Symposium on Operating Systems Principles, pages 93–109, 1999.

    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., Demaine, E.D., Farach-Colton, M. (2002). Efficient Tree Layout in a Multilevel Memory Hierarchy. In: Möhring, R., Raman, R. (eds) Algorithms — ESA 2002. ESA 2002. Lecture Notes in Computer Science, vol 2461. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45749-6_18

Download citation

  • DOI: https://doi.org/10.1007/3-540-45749-6_18

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-45749-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics