Skip to main content

Accessing Multiple Sequences Through Set Associative Caches

  • Conference paper
  • First Online:
Automata, Languages and Programming

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

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.

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.

Similar content being viewed by others

References

  1. 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.

    Chapter  Google Scholar 

  2. R.D. Barve, E.F. Grove, and J.S. Vitter. Simple randomized mergesort on parallel disks. Parallel Computing, 23(4):601–631, 1997.

    Article  MathSciNet  Google Scholar 

  3. 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.

    Google Scholar 

  4. A. Crauser, P. Ferragina, and U. Meyer. Efficient priority queues in external memory. working paper, October 1997.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. C. Fricker and P. Robert. An analytical cache model. Technical Report 1496, INRIA, Le Chesnay, 1991.

    Google Scholar 

  7. J.L. Hennessy and D.A. Patterson. Computer Architecture a Quantitative Approach. Morgan Kaufmann, 1996.

    Google Scholar 

  8. 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.

  9. J. Keller. The 2126-4: A superscalar alpha processor with out-of-order execution. In Microprocessor Forum, October 1996.

    Google Scholar 

  10. A. LaMarca and R.E. Ladner. The influence of caches on the performance of heaps. ACM Journal of Experimental Algorithmics, 1(4), 1996.

    Article  MathSciNet  Google Scholar 

  11. 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.

    Google Scholar 

  12. MIPS Technologies, Inc. R1000-0 Microprocessor User’s Manual, 2.0 edition, 1998. http://www.mips.com.

  13. J. von Neumann. First draft of a report on the EDVAC. Technical report, University of Pennsylvania, 1945.

    Google Scholar 

  14. W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery. Numerical Recipes in C. Cambridge University Press, 2nd edition, 1992.

    Google Scholar 

  15. G. Rao. Performance analysis of cache memories. Journal of the ACM, 25(3): 378–395, 1978.

    Article  MathSciNet  Google Scholar 

  16. P. Sanders. Random permutations on distributed, external and hierarchical memory. Information Processing Letters, 67(6):305–310, 1998.

    Article  MathSciNet  Google Scholar 

  17. Peter Sanders. Fast priority queues for cached memory. In ALENEX’ 99, Workshop on Algorithm Engineering and Experimentation, LNCS. Springer, 1999.

    Google Scholar 

  18. J. Sibeyn. From parallel to external list ranking. Technical Report MPI-I-97-1-021, Max-Planck Institut für Informatik, 1997.

    Google Scholar 

  19. D.E. Vengroff. TPIE User Manual and Reference, 1995. http://www.cs.duke.edu/~dev/tpie_home_page.html.

  20. J.S. Vitter. External memory algorithms. In 6th European Symposium on Algorithms, number 1461 in LNCS, pages 1–25. Springer, 1998.

    MATH  Google Scholar 

  21. J.S. Vitter and E.A.M. Shriver. Algorithms for parallel memory I: Two level memories. Algorithmica, 12(2-3):110–147, 1994.

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics