Abstract
We demonstrate the importance of reducing misses in the translation-lookaside buffer (TLB) for obtaining good performance on modern computer architectures. We focus on data structures for the dynamic predecessor problem: to maintain a set S of keys from a totally ordered universe under insertions, deletions and predecessor queries. We give two general techniques for simultaneously reducing cache and TLB misses: simulating 3-level hierarchical memory algorithms and cache-oblivious algorithms. We give preliminary experimental results which demonstrate that data structures based on these ideas outperform data structures which are based on minimising cache misses alone, namely B-tree variants.
Keywords
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.
Research supported in part by EPSRC grant GR/L92150 (Rahman, Raman), NSF grant CCR-98-00085 (Cole) and UISTRF project 2001.04/IT (Raman).
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
L. Arge, J. S. Vitter. Optimal Dynamic Interval Management in External Memory (extended abstract). FOCS 1996, pp. 560–569.
A. Andersson. Faster Deterministic Sorting and Searching in Linear Space. In Proc. 37th IEEE FOCS, pp. 135–141, 1996.
Bender, M., Cole, R. and Raman. R. Exponential trees for cache-oblivious algorithms. In preparation, 2001.
Bender, M., Demaine, E. and Farach-Colton, M. Cache-oblivous B-trees. In Proc. 41st IEEE FOCS, pp. 399–409, 2000.
Comer, D. The Ubiquitous B-Tree. ACM Comput. Surv. 11 (1979), p. 121.
Frigo, M., Leiserson, C. E., Prokop, H., and Ramachandran, S. Cache-oblivious algorithms. In Proc. 40th IEEE FOCS, pp. 285–298, 1999.
Furber, S. B. Arm System-On-Chip Architecture Addison-Wesley Professional, 2nd ed., 2000.
Hennessy, J. L. and Patterson, D. A. Computer Architecture: A Quantitative Approach (Second ed.). Morgan Kaufmann, 1996.
D. E. Knuth. The Art of Computer Programming. Volume 3: Sorting and Searching, 3rd ed. Addison-Wesley, 1997.
Ladner, R. E., Fix, J. D., and LaMarca, A. Cache performance analysis of traversals and random accesses. In Proc. 10th ACM-SIAM SODA (1999), pp. 613–622.
LaMarca, A. and Ladner, R. E. The influence of caches on the performance of sorting. J. Algorithms 31, 66–104, 1999.
Korda, M. and Raman, R. An experimental evaluation of hybrid data structures for searching. In Proc. 3rd WAE, LNCS 1668, pp. 213–227, 1999.
Mehlhorn, K. and Sanders, P. Accessing multiple sequences through set-associative cache, 2000. Prel. vers. Proc. 26th ICALP, LNCS 1555, 1999.
H. Prokop. Cache-oblivious algorithms. MS Thesis, MIT, 1999.
Rahman, N. and Raman, R. Analysing cache effects in distribution sorting. ACM J. Exper. Algorithmics, WAE’ 99 special issue, to appear. Prel. vers. in Proc. 3rd WAE, LNCS 1668, pp. 184–198, 1999.
Rahman, N. and Raman, R. Analysing the cache behaviour of non-uniform distribution sorting algorithms. In Proc. 8th ESA, LNCS 1879, pp. 380–391, 2000.
Rahman, N. and Raman, R. Adapting radix sort to the memory hierarchy. TR 00-02, King’s College London, 2000, http://www.dcs.kcl.ac.uk/technical-reports/2000.html Prel. vers. in Proc. ALENEX 2000.
Sen, S. and Chatterjee, S. Towards a theory of cache-efficient algorithms (extended abstract). In Proc. 11th ACM-SIAM SODA (2000), pp. 829–838.
Sleator, D. D. and Tarjan, R. E. Amortized efficiency of list update and paging rules. Communications of the ACM 28, 202–208, 1995.
Sun Microsystem. UltraSPARC User’s Manual. Sun Microsystems, 1997.
Vitter, J. S. External memory algorithms and data structures: Dealing with MASSIVE data. To appear in ACM Computing Surveys, 2000.
D. E. Willard. Reduced memory space for multi-dimensional search trees. In Proc. STACS’ 85, pages 363–374, 1985.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rahman, N., Cole, R., Raman, R. (2001). Optimised Predecessor Data Structures for Internal Memory. In: Brodal, G.S., Frigioni, D., Marchetti-Spaccamela, A. (eds) Algorithm Engineering. WAE 2001. Lecture Notes in Computer Science, vol 2141. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44688-5_6
Download citation
DOI: https://doi.org/10.1007/3-540-44688-5_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42500-7
Online ISBN: 978-3-540-44688-0
eBook Packages: Springer Book Archive