Skip to main content

Cache-Oblivious Sorting

1999; Frigo, Leiserson, Prokop, Ramachandran

  • Reference work entry
Encyclopedia of Algorithms
  • 160 Accesses

Keywords and Synonyms

Funnel sort      

Problem Definition

Sorting a set of elements is one of the most well-studied computational problems. In the cache‐oblivious setting the first study of sorting was presented in 1999 in the seminal paper by Frigo et al. [8] that introduced the cache‐oblivious framework for developing algorithms aimed at machines with (unknown) hierarchical memory.

Model

In the cache‐oblivious setting the computational model is a machine with two levels of memory: a cache of limited capacity and a secondary memory of infinite capacity. The capacity of the cache is assumed to be M elements and data is moved between the two levels of memory in blocks of Bconsecutive elements. Computations can only be performed on elements stored in cache, i. e. elements from secondary memory need to be moved to the cache before operations can access the elements. Programs are written as acting directly on one unbounded memory, i. e. programs are like standard RAM programs. The necessary...

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 399.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Recommended Reading

  1. Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Commun. ACM 31(9), 1116–1127 (1988)

    Article  MathSciNet  Google Scholar 

  2. Arge, L., Bender, M.A., Demaine, E.D., Holland‐Minkley, B., Munro, J.I.: Cache‐oblivious priority queue and graph algorithm applications. In: Proc. 34th Annual ACM Symposium on Theory of Computing, pp. 268–276. ACM Press, New York (2002)

    Google Scholar 

  3. Brodal, G.S., Fagerberg, R.: Cache oblivious distribution sweeping. In: Proc. 29th International Colloquium on Automata, Languages, and Programming. Lecture Notes in Computer Science, vol. 2380, pp. 426–438. Springer, Berlin (2002)

    Google Scholar 

  4. Brodal, G.S., Fagerberg, R.: On the limits of cache‐obliviousness. In: Proc. 35th Annual ACM Symposium on Theory of Computing, pp. 307–315. ACM Press, New York (2003)

    Google Scholar 

  5. Brodal, G.S., Fagerberg, R., Vinther, K.: Engineering a cache‐oblivious sorting algorithm. ACM J. Exp. Algoritmics (Special Issue of ALENEX 2004) 12(2.2), 23 (2007)

    Google Scholar 

  6. Department of Computer Science, Duke University. TPIE: a transparent parallel I/O environment. http://www.cs.duke.edu/TPIE/. Accessed 2002

  7. Franceschini, G.: Proximity mergesort: Optimal in-place sorting in the cache‐oblivious model. In: Proceedings of the 15th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), SIAM, p. 291. Philadelphia, 2004

    Google Scholar 

  8. Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache‐oblivious algorithms. In: Proc. 40th Annual Symposium on Foundations of Computer Science, pp. 285–297. IEEE Computer Society Press, Los Alamitos (1999)

    Google Scholar 

  9. Hoare, C.A.R.: Quicksort. Comput. J. 5(1), 10–15 (1962)

    Article  MathSciNet  MATH  Google Scholar 

  10. Williams, J.W.J.: Algorithm 232: Heapsort. Commun. ACM 7(6), 347–348 (1964)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag

About this entry

Cite this entry

Stølting Brodal, G. (2008). Cache-Oblivious Sorting. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-30162-4_63

Download citation

Publish with us

Policies and ethics