Encyclopedia of Algorithms

2016 Edition
| Editors: Ming-Yang Kao

Analyzing Cache Misses

  • Naila Rahman
Reference work entry
DOI: https://doi.org/10.1007/978-1-4939-2864-4_14

Years and Authors of Summarized Original Work

  • 2003; Mehlhorn, Sanders

Problem Definition

The problem considered here is multiple sequence access via cache memory. Consider the following pattern of memory accesses. k sequences of data, which are stored in disjoint arrays and have a total length of N, are accessed as follows:

for t : = 1 to N do

select a sequence si ∈ { 1, … k}

work on the current element of sequence si

advance sequence si to the next element.

The aim is to obtain exact (not just asymptotic) closed form upper and lower bounds for this problem. Concurrent accesses to multiple sequences of data are ubiquitous in algorithms. Some examples of algorithms which use this paradigm are distribution sorting, k-way merging, priority queues, permuting, and FFT. This entry summarizes the analyses of this problem in [5, 8].

Caches, Models, and Cache Analysis

Modern computers have hierarchical memory which consists of registers, one or more levels of caches, main memory, and external...


Cache analysis 
This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Bertasi P, Bressan M, Peserico E (2011) Psort, yet another fast stable sorting software. ACM J Exp Algorithmics 16:Article 2.4Google Scholar
  2. 2.
    Bingmann T, Sanders P (2013) Parallel string sample sort. In: Proceedings of the 21st European symposium on algorithms (ESA’13), Sophia Antipolis. Springer, pp 169–180Google Scholar
  3. 3.
    Frigo M, Leiserson CE, Prokop H, Ramachandran S (1999) Cache-oblivious algorithms. In: Proceedings of the 40th annual symposium on foundations of computer science (FOCS’99), New York. IEEE Computer Society, Washington, DC, pp 285–297Google Scholar
  4. 4.
    Ladner RE, Fix JD, LaMarca A (1999) Cache performance analysis of traversals and random accesses. In: Proceedings of the 10th annual ACM-SIAM symposium on discrete algorithms (SODA’99), Baltimore. Society for Industrial and Applied Mathematics, Philadelphia, pp 613–622Google Scholar
  5. 5.
    Mehlhorn K, Sanders P (2003) Scanning multiple sequences via cache memory. Algorithmica 35:75–93MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Rahman N, Raman R (2000) Analysing cache effects in distribution sorting. ACM J Exp Algorithmics 5:Article 14Google Scholar
  7. 7.
    Rahman N, Raman R (2001) Adapting radix sort to the memory hierarchy. ACM J Exp Algorithmics 6:Article 7Google Scholar
  8. 8.
    Rahman N, Raman R (2007) Cache analysis of non-uniform distribution sorting algorithms. http://www.citebase.org/abstract?id=oai:arXiv.org:0706.2839. Accessed 13 Aug 2007 Preliminary version in: Proceedings of the 8th annual European symposium on algorithms (ESA’00), Saarbrücken. Lecture notes in computer science, vol 1879. Springer, Berlin/Heidelberg, pp 380–391 (2000)
  9. 9.
    Sanders P (2000) Fast priority queues for cached memory. ACM J Exp Algorithmics 5:Article 7Google Scholar
  10. 10.
    Sen S, Chatterjee S (2000) Towards a theory of cache-efficient algorithms. In: Proceedings of the 11th annual ACM-SIAM symposium on discrete algorithms (SODA’00), San Francisco. Society for Industrial and Applied Mathematics, pp 829–838Google Scholar
  11. 11.
    Vitter JS (2001) External memory algorithms and data structures: dealing with massive data. ACM Comput Surv 33, 209–271CrossRefGoogle Scholar
  12. 12.
    Wassenberg J, Sanders P (2011) Engineering a Multi-core Radix Sort, In: Proceedings of the 17th international conference, Euro-Par (2) 2011, Bordeaux. Springer, pp 160–169Google Scholar
  13. 13.
    Wickremesinghe R, Arge L, Chase JS, Vitter JS (2002) Efficient sorting using registers and caches. ACM J Exp Algorithmics 7:9MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  1. 1.University of HertfordshireHertfordshireUK