DocumentCode
269532
Title
Main-Memory Hash Joins on Modern Processor Architectures
Author
Balkesen, Çagrı ; Teubner, Jens ; Alonso, Gustavo ; Ozsu, M. Tamer
Author_Institution
Dept. of Comput. Sci., Syst. Group, ETH Zurich, Zurich, Switzerland
Volume
27
Issue
7
fYear
2015
fDate
July 1 2015
Firstpage
1754
Lastpage
1766
Abstract
Existing main-memory hash join algorithms for multi-core can be classified into two camps. Hardware-oblivious hash join variants do not depend on hardware-specific parameters. Rather, they consider qualitative characteristics of modern hardware and are expected to achieve good performance on any technologically similar platform. The assumption behind these algorithms is that hardware is now good enough at hiding its own limitations-through automatic hardware prefetching, out-of-order execution, or simultaneous multi-threading (SMT)-to make hardware-oblivious algorithms competitive without the overhead of carefully tuning to the underlying hardware. Hardware-conscious implementations, such as (parallel) radix join, aim to maximally exploit a given architecture by tuning the algorithm parameters (e.g., hash table sizes) to the particular features of the architecture. The assumption here is that explicit parameter tuning yields enough performance advantages to warrant the effort required. This paper compares the two approaches under a wide range of workloads (relative table sizes, tuple sizes, effects of sorted data, etc.) and configuration parameters (VM page sizes, number of threads, number of cores, SMT, SIMD, prefetching, etc.). The results show that hardware-conscious algorithms generally outperform hardware-oblivious ones. However, on specific workloads and special architectures with aggressive simultaneous multi-threading, hardware-oblivious algorithms are competitive. The main conclusion of the paper is that, in existing multi-core architectures, it is still important to carefully tailor algorithms to the underlying hardware to get the necessary performance. But processor developments may require to revisit this conclusion in the future.
Keywords
multi-threading; multiprocessing systems; storage management; SMT; automatic hardware prefetching; configuration parameters; explicit parameter tuning; hardware-conscious implementations; hardware-oblivious hash join variants; main-memory hash join algorithm; modern processor architectures; multicore; out-of-order execution; qualitative characteristics; simultaneous multithreading; Hardware; Instruction sets; Latches; Multicore processing; Probes; Tuning; Databases; modern hardware; multi-core; parallelism; query processing;
fLanguage
English
Journal_Title
Knowledge and Data Engineering, IEEE Transactions on
Publisher
ieee
ISSN
1041-4347
Type
jour
DOI
10.1109/TKDE.2014.2313874
Filename
6778794
Link To Document