Encyclopedia of Database Systems

2018 Edition
| Editors: Ling Liu, M. Tamer Özsu

Cache-Conscious Query Processing

  • Kenneth A. Ross
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-9_658

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 to check access.

Recommended Reading

  1. 1.
    Ailamaki A, DeWitt DJ, Hill MD, Skounakis M. Weaving relations for cache performance. In: Proceedings of the 27th International Conference on Very Large Data Bases; 2001.Google Scholar
  2. 2.
    Ailamaki A, et al. DBMSs on a modern processor: where does time go? In: Proceedings of the 25th International Conference on Very Large Data Bases; 1999.Google Scholar
  3. 3.
    Bender MA, Ebrahimi R, Fineman JT, Ghasemiesfeh G, Johnson R, McCauley S. Cache-adaptive algorithms. In: Proceedings of the 25th Annual ACM-SIAM Symposium on Discrete Algorithms; 2014. p. 958–71.Google Scholar
  4. 4.
    Boncz PA, Manegold S, Kersten ML. Database architecture optimized for the new bottleneck: memory access. In: Proceedings of the 25th International Conference on Very Large Data Bases; 1999.Google Scholar
  5. 5.
    Chen S, Ailamaki A, Gibbons PB, Mowry TC. Improving hash join performance through prefetching. In: Proceedings of the 20th International Conference on Data Engineering; 2004.Google Scholar
  6. 6.
    Chen S, et al. Inspector joins. In: Proceedings of the 31st International Conference on Very Large Data Bases; 2005. p. 817–28.Google Scholar
  7. 7.
    Chen S, Gibbons PB, Mowry TC. Improving index performance through prefetching. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 2001.Google Scholar
  8. 8.
    Chilimbi TM, Hill MD, Larus JR. Cache-conscious structure layout. In: Proceedings of the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation; 1999.Google Scholar
  9. 9.
    Cieslewicz J, Ross KA. Adaptive aggregation on chip multiprocessors. In: Proceedings of the 33rd International Conference on Very Large Data Bases; 2007. p. 339–50.Google Scholar
  10. 10.
    Frigo M, Leiserson CE, Prokop H, Ramachandran S. Cache-oblivious algorithms. In: Proceedings of the 40th Annual Symposium on Foundations of Computer Science; 1999. p. 285–98.Google Scholar
  11. 11.
    Garcia P, Korth HF. Database hash-join algorithms on multithreaded computer architectures. In: Proceedings of the 3rd Conference on Computing Frontiers; 2006. p. 241–51.Google Scholar
  12. 12.
    Graefe G, Larson P. B-tree indexes and CPU caches. In: Proceedings of the 17th International Conference on Data Engineering; 2001.Google Scholar
  13. 13.
    MacNicol R, French B. Sybase IQ multiplex – designed for analytics. In: Proceedings of the 30th International Conference on Very Large Data Bases; 2004. p. 1227–30.Google Scholar
  14. 14.
    Manegold S, et al. What happens during a join? Dissecting CPU and memory optimization effects. In: Proceedings of the 26th International Conference on Very Large Data Bases; 2000.Google Scholar
  15. 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.CrossRefGoogle Scholar
  16. 16.
    Padmanabhan S, Malkemus T, Agarwal R, Jhingran A. Block oriented processing of relational database operations in modern computer architectures. In: Proceedings of the 17th International Conference on Data Engineering; 2001.Google Scholar
  17. 17.
    Polychroniou O, Ross KA. A comprehensive study of main-memory partitioning and its application to large-scale comparison- and radix-sort. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 2014.Google Scholar
  18. 18.
    Rao J, Ross KA. Cache conscious indexing for decision-support in main memory. In: Proceedings of the 25th International Conference on Very Large Data Bases; 1999.Google Scholar
  19. 19.
    Rao J, Ross KA. Making B+ trees cache conscious in main memory. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 2000.Google Scholar
  20. 20.
    Shatdal A, Kant C, Naughton JF. Cache conscious algorithms for relational query processing. In: Proceedings of the 20th International Conference on Very Large Data Bases; 1994. p. 510–21.Google Scholar
  21. 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: Proceedings of the 31st International Conference on Very Large Data Bases; 2005.Google Scholar
  22. 22.
    Wassenberg J, Sanders P. Engineering a multi-core radix sort. In: Proceedings of the 17th International Euro-Par Conference; 2011. p. 160–9.CrossRefGoogle Scholar
  23. 23.
    Zhou J, Cieslewicz J, Ross KA, Shah M. Improving database performance on simultaneous multithreading processors. In: Proceedings of the 31st International Conference on Very Large Data Bases; 2005. p. 49–60.Google Scholar
  24. 24.
    Zhou J, Ross KA. Buffering accesses to memory-resident index structures. In: Proceedings of the 29th International Conference on Very Large Data Bases; 2003.CrossRefGoogle Scholar
  25. 25.
    Zhou J, Ross KA. Buffering database operations for enhanced instruction cache performance. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 2004.Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Columbia UniversityNew YorkUSA