• 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