Hash join algorithms suffer from extensive CPU cache stalls. This paper shows that the standard hash join algorithm for disk-oriented databases (i.e. GRACE) spends over 73% of its user time stalled on CPU cache misses, and explores the use of 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 2.0- 2.9X speedups for the join phase and 1.4-2.6X speedups for the partition phase over GRACE and simple prefetching approaches. Compared with previous cache-aware approaches (i.e. cache par...
Abstract—Existing main-memory hash join algorithms for multi-core can be classified into two camps. ...
While many parallel applications exhibit good spatial locality, other important codes in areas like ...
Join is an important database operation. As computer architectures evolve, the best join algorithm m...
Hash join algorithms suffer from extensive CPU cache stalls. This paper shows that the standard hash...
The widening performance gap between CPU and disk is significant for hash join performance. Most cur...
In the past decade, the exponential growth in commodity CPUs speed has far outpaced advances in memo...
Hashing is one of the fundamental techniques used to implement query processing operators such as gr...
this paper, we examine the way in which prefetching can exploit parallelism. Prefetching has been st...
Hash joins combine massive relations in data warehouses, decision support systems, and scientific da...
We present new hash tables for joins, and a hash join based on them, that consumes far less memory a...
The large number of cache misses of current applications coupled with the increasing cache miss late...
The architectural changes introduced with multicore CPUs have triggered a redesign of main-memory jo...
The hash join algorithm family is one of the leading techniques for equi-join performance evaluation...
Recently, Haas and Hellerstein proposed the hash ripple join algorithm in the context of online aggr...
We investigate various load balancing approaches for hash-based join techniques popular in multicomp...
Abstract—Existing main-memory hash join algorithms for multi-core can be classified into two camps. ...
While many parallel applications exhibit good spatial locality, other important codes in areas like ...
Join is an important database operation. As computer architectures evolve, the best join algorithm m...
Hash join algorithms suffer from extensive CPU cache stalls. This paper shows that the standard hash...
The widening performance gap between CPU and disk is significant for hash join performance. Most cur...
In the past decade, the exponential growth in commodity CPUs speed has far outpaced advances in memo...
Hashing is one of the fundamental techniques used to implement query processing operators such as gr...
this paper, we examine the way in which prefetching can exploit parallelism. Prefetching has been st...
Hash joins combine massive relations in data warehouses, decision support systems, and scientific da...
We present new hash tables for joins, and a hash join based on them, that consumes far less memory a...
The large number of cache misses of current applications coupled with the increasing cache miss late...
The architectural changes introduced with multicore CPUs have triggered a redesign of main-memory jo...
The hash join algorithm family is one of the leading techniques for equi-join performance evaluation...
Recently, Haas and Hellerstein proposed the hash ripple join algorithm in the context of online aggr...
We investigate various load balancing approaches for hash-based join techniques popular in multicomp...
Abstract—Existing main-memory hash join algorithms for multi-core can be classified into two camps. ...
While many parallel applications exhibit good spatial locality, other important codes in areas like ...
Join is an important database operation. As computer architectures evolve, the best join algorithm m...