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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. Aho, J. Hopcroft, and J. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.
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.
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.
R. Bayer and E.M. McCreight. Organization and maintenance of large ordered indexes. Acta Informatica, 1(3):173–189, February 1972.
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.
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.
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.
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.
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.
J. Gil and A. Itai. Packing trees. In Proc. 3rd Annual European Symposium on Algorithms), pages 113–127, 1995.
J. Gil and A. Itai. How to pack trees. Journal of Algorithms, 32(2):108–132, 1999.
T. C. Hu and P. A. Tucker. Optimal alphabetic trees for binary search. Information Processing Letters, 67(3):137–140, 1998.
D. A. Huffman. A method for the construction of minimum-redundancy codes. Proc. IRE, 40(9):1098–1101, 1952.
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.
D.E. Knuth. The Art of Computer Programming, V. 3: Sorting and Searching. Addison-Wesley, Reading, 1973.
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.
H. Prokop. Cache-oblivious algorithms. Master’s thesis, Massachusetts Institute of Technology, Cambridge, MA, June 1999.
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.
D. Roselli, J. Lorch, and T. Anderson. A comparison of.le system workloads. In Proc. 2000 USENIX Annual Technical Conference, pages 41–54, 2000.
D.D. Sleator and R. E. Tarjan. Self-adjusting binary search trees. Journal of the ACM, 32(3):652–686, July 1985.
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.
W. Vogels. File system usage inWindows NT 4.0. In Proc. 17th ACM Symposium on Operating Systems Principles, pages 93–109, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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