Abstract
The cache hierarchy prevalent in todays high performance processors has to be taken into account in order to design algorithms which perform well in practice. We start from the empirical observation that external memory algorithms often turn out to be good algorithms for cached memory. This is not self evident since caches have a fixed and quite restrictive algorithm choosing the content of the cache. We investigate the impact of this restriction for the frequently occurring case of access to multiple sequences. We show that any access pattern to k = Θ(M=B1+1/a) sequential data streams can be efficiently supported on an a-way set associative cache with capacity M and line size B. The bounds are tight up to lower order terms.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
L. Arge. The buffer tree: A new technique for optimal I/O-algorithms. In 4th Workshop on Algorithms and Data Structures, number 955 in LNCS, pages 334–345. Springer, 1995.
R.D. Barve, E.F. Grove, and J.S. Vitter. Simple randomized mergesort on parallel disks. Parallel Computing, 23(4):601–631, 1997.
Gerth Stølting Brodal and Jyrki Katajainen. Worst-case efficient external-memory priority queues. In 6th Scandinavian Workshop on Algorithm Theory, number 1432 in LNCS, pages 107–118. Springer Verlag, Berlin, 1998.
A. Crauser, P. Ferragina, and U. Meyer. Efficient priority queues in external memory. working paper, October 1997.
R. Fadel, K.V. Jakobsen, J. Katajainen, and J. Teuhola. External heaps combined with effective buffering. In 4th Australasian Theory Symposium, volume 19-2 of Australian Computer Science Communications, pages 72–78. Springer, 1997.
C. Fricker and P. Robert. An analytical cache model. Technical Report 1496, INRIA, Le Chesnay, 1991.
J.L. Hennessy and D.A. Patterson. Computer Architecture a Quantitative Approach. Morgan Kaufmann, 1996.
Intel Corporation, P.O. Box 5937, Denver, CO, 80217-9808, http://www.intel.com. Intel Archtecture Software Developer’s Manual. Volume I: Basic Architecture, 1997. Ordering Number 2431-90.
J. Keller. The 2126-4: A superscalar alpha processor with out-of-order execution. In Microprocessor Forum, October 1996.
A. LaMarca and R.E. Ladner. The influence of caches on the performance of heaps. ACM Journal of Experimental Algorithmics, 1(4), 1996.
A. LaMarca and R.E. Ladner. The influence of caches on the performance of sorting. In 8th ACM-SIAM Symposium on Discrete Algorithm, pages 370–379, 1997.
MIPS Technologies, Inc. R1000-0 Microprocessor User’s Manual, 2.0 edition, 1998. http://www.mips.com.
J. von Neumann. First draft of a report on the EDVAC. Technical report, University of Pennsylvania, 1945.
W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery. Numerical Recipes in C. Cambridge University Press, 2nd edition, 1992.
G. Rao. Performance analysis of cache memories. Journal of the ACM, 25(3): 378–395, 1978.
P. Sanders. Random permutations on distributed, external and hierarchical memory. Information Processing Letters, 67(6):305–310, 1998.
Peter Sanders. Fast priority queues for cached memory. In ALENEX’ 99, Workshop on Algorithm Engineering and Experimentation, LNCS. Springer, 1999.
J. Sibeyn. From parallel to external list ranking. Technical Report MPI-I-97-1-021, Max-Planck Institut für Informatik, 1997.
D.E. Vengroff. TPIE User Manual and Reference, 1995. http://www.cs.duke.edu/~dev/tpie_home_page.html.
J.S. Vitter. External memory algorithms. In 6th European Symposium on Algorithms, number 1461 in LNCS, pages 1–25. Springer, 1998.
J.S. Vitter and E.A.M. Shriver. Algorithms for parallel memory I: Two level memories. Algorithmica, 12(2-3):110–147, 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sanders, P. (1999). Accessing Multiple Sequences Through Set Associative Caches. In: Wiedermann, J., van Emde Boas, P., Nielsen, M. (eds) Automata, Languages and Programming. Lecture Notes in Computer Science, vol 1644. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48523-6_62
Download citation
DOI: https://doi.org/10.1007/3-540-48523-6_62
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66224-2
Online ISBN: 978-3-540-48523-0
eBook Packages: Springer Book Archive