Skip to main content

Cache-Conscious Query Processing

  • Living reference work entry
  • First Online:
Encyclopedia of Database Systems
  • 59 Accesses

Synonyms

Cache-aware query processing; Cache-sensitive query processing

Definition

Query processing algorithms that are designed to efficiently exploit the available cache units in the memory hierarchy. Cache-conscious algorithms typically employ knowledge of architectural parameters such as cache size and latency. This knowledge can be used to ensure that the algorithms have suitable temporal and/or spatial locality on the target platform.

Historical Background

Between 1980 and 2005, processing speeds improved by roughly four orders of magnitude, while memory speeds improved by less than a single order of magnitude. As of 2017, it is common for data accesses to RAM to require several hundred CPU cycles to resolve. Many database workloads have shifted from being I/O bound to being memory/CPU-bound as the amount of memory per machine has been increasing. For such workloads, improving the locality of data-intensive operations can have a direct impact on the system’s overall performance.

S...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Recommended Reading

  1. Ailamaki A, DeWitt DJ, Hill MD, Skounakis M. Weaving relations for cache performance. In: Proceedings of International Conference on Very Large Data Bases; 2001.

    Google Scholar 

  2. Ailamaki A, et al. DBMSs on a modern processor: where does time go? In: VLDB; 1999.

    Google Scholar 

  3. Bender MA, Ebrahimi R, Fineman JT, Ghasemiesfeh G, Johnson R, McCauley S. Cache-adaptive algorithms. In: SODA; 2014. p. 958–71.

    Google Scholar 

  4. Boncz PA, Manegold S, Kersten ML. Database architecture optimized for the new bottleneck: memory access. In: Proceedings of International Conference on Very Large Data Bases; 1999.

    MATH  Google Scholar 

  5. Chen S, Ailamaki A, Gibbons PB, Mowry TC. Improving hash join performance through prefetching. In: Proceedings of International Conference on Data Engineering; 2004.

    Book  Google Scholar 

  6. Chen S, et al. Inspector joins. In: VLDB; 2005. p. 817–28.

    Google Scholar 

  7. Chen S, Gibbons PB, Mowry TC. Improving index performance through prefetching. In: Proceedings of ACM SIGMOD International Conference on Management of Data; 2001.

    Book  Google Scholar 

  8. Chilimbi TM, Hill MD, Larus JR. Cache-conscious structure layout. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation; 1999.

    Book  Google Scholar 

  9. Cieslewicz J, Ross KA. Adaptive aggregation on chip multiprocessors. In: VLDB; 2007. p. 339–50.

    Google Scholar 

  10. Frigo M, Leiserson CE, Prokop H, Ramachandran S. Cache-oblivious algorithms. In: FOCS; 1999. p. 285–98.

    MATH  Google Scholar 

  11. Garcia P, Korth HF. Database hash-join algorithms on multithreaded computer architectures. In: Conference on Computing Frontiers; 2006. p. 241–51.

    Google Scholar 

  12. Graefe G, Larson P. B-tree indexes and CPU caches. In: Proceedings of International Conference on Data Engineering; 2001.

    Book  Google Scholar 

  13. MacNicol R, French B. Sybase IQ multiplex – designed for analytics. In: Proceedings of the VLDB Conference; 2004. p. 1227–30.

    Google Scholar 

  14. Manegold S, et al. What happens during a join? Dissecting CPU and memory optimization effects. In: VLDB; 2000.

    Google Scholar 

  15. Nyberg C, Barclay T, Cvetanovic Z, Gray J, Lomet DB. Alphasort: a cache-sensitive parallel external sort. VLDB J. 1995;4(4):603–27.

    Article  Google Scholar 

  16. Padmanabhan S, Malkemus T, Agarwal R, Jhingran A. Block oriented processing of relational database operations in modern computer architectures. In: Proceedings of ICDE Conference; 2001.

    Book  Google Scholar 

  17. Polychroniou O, Ross KA. A comprehensive study of main-memory partitioning and its application to large-scale comparison- and radix-sort. In: SIGMOD; 2014.

    Book  Google Scholar 

  18. Rao J, Ross KA. Cache conscious indexing for decision-support in main memory. In: Proceedings of International Conference on Very Large Data Bases; 1999.

    Google Scholar 

  19. Rao J, Ross KA. Making B+ trees cache conscious in main memory. In: Proceedings of ACM SIGMOD International Conference on Management of Data; 2000.

    Book  Google Scholar 

  20. Shatdal A, Kant C, Naughton JF. Cache conscious algorithms for relational query processing. In: Proceedings of International Conference on Very Large Data Bases; 1994. p. 510–21.

    Google Scholar 

  21. Stonebraker M, Abadi DJ, Batkin A, Chen X, Cherniack M, Ferreira M, Lau E, Lin A, Madden S, O’Neil EJ, O’Neil PE, Rasin A, Tran N, Zdonik SB. C-store: a column-oriented DBMS. In: VLDB; 2005.

    Google Scholar 

  22. Wassenberg J, Sanders P. Engineering a multi-core radix sort. In: Euro-par (2); 2011. p. 160–9.

    Google Scholar 

  23. Zhou J, Cieslewicz J, Ross KA, Shah M. Improving database performance on simultaneous multithreading processors. In: Proceedings of the 2005 VLDB Conference; 2005. p. 49–60.

    Google Scholar 

  24. Zhou J, Ross KA. Buffering accesses to memory-resident index structures. In: Proceedings of International Conference on Very Large Data Bases; 2003.

    Book  Google Scholar 

  25. Zhou J, Ross KA. Buffering database operations for enhanced instruction cache performance. In: Proceedings of ACM SIGMOD International Conference on Management of Data; 2004.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kenneth A. Ross .

Editor information

Editors and Affiliations

Section Editor information

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer Science+Business Media LLC

About this entry

Cite this entry

Ross, K. (2017). Cache-Conscious Query Processing. In: Liu, L., Özsu, M. (eds) Encyclopedia of Database Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4899-7993-3_658-2

Download citation

  • DOI: https://doi.org/10.1007/978-1-4899-7993-3_658-2

  • Received:

  • Accepted:

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4899-7993-3

  • Online ISBN: 978-1-4899-7993-3

  • eBook Packages: Springer Reference Computer SciencesReference Module Computer Science and Engineering

Publish with us

Policies and ethics