Affiliation:
1. Intel Research Pittsburgh, Pittsburgh, PA
2. Carnegie Mellon University, Pittsburgh, PA
3. Carnegie Mellon University and Intel Research Pittsburgh, Pittsburgh, PA
Abstract
Hash join algorithms suffer from extensive CPU cache stalls. This article shows that the standard hash join algorithm for disk-oriented databases (i.e. GRACE) spends over 80% of its user time stalled on CPU cache misses, and explores the use of CPU cache
prefetching
to improve its cache performance. Applying prefetching to hash joins is complicated by the data dependencies, multiple code paths, and inherent randomness of hashing. We present two techniques,
group prefetching
and
software-pipelined prefetching
, that overcome these complications. These schemes achieve 1.29--4.04X speedups for the join phase and 1.37--3.49X speedups for the partition phase over GRACE and simple prefetching approaches. Moreover, compared with previous cache-aware approaches (i.e. cache partitioning), the schemes are at least 36% faster on large relations and do not require exclusive use of the CPU cache to be effective. Finally, comparing the elapsed real times when disk I/Os are in the picture, our cache prefetching schemes achieve 1.12--1.84X speedups for the join phase and 1.06--1.60X speedups for the partition phase over the GRACE hash join algorithm.
Publisher
Association for Computing Machinery (ACM)
Reference34 articles.
1. An effective on-chip preloading scheme to reduce data access penalty
2. Chen S. 2005. Redesigning database systems in light of CPU cache prefetching. Ph.D. thesis Carnegie Mellon University. Chen S. 2005. Redesigning database systems in light of CPU cache prefetching. Ph.D. thesis Carnegie Mellon University.
Cited by
67 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Asynchronous Memory Access Unit: Exploiting Massive Parallelism for Far Memory Access;ACM Transactions on Architecture and Code Optimization;2024-09-14
2. Simple, Efficient, and Robust Hash Tables for Join Processing;Proceedings of the 20th International Workshop on Data Management on New Hardware;2024-06-09
3. Tyche: An Efficient and General Prefetcher for Indirect Memory Accesses;ACM Transactions on Architecture and Code Optimization;2024-03-23
4. CoroGraph: Bridging Cache Efficiency and Work Efficiency for Graph Algorithm Execution;Proceedings of the VLDB Endowment;2023-12
5. Decoupled Vector Runahead;56th Annual IEEE/ACM International Symposium on Microarchitecture;2023-10-28