• DocumentCode
    610334
  • Title

    Main-memory hash joins on multi-core CPUs: Tuning to the underlying hardware

  • Author

    Balkesen, Cagri ; Teubner, Jens ; Alonso, Gustavo ; Ozsu, M. Tamer

  • Author_Institution
    Dept. of Comput. Sci., ETH Zurich, Zurich, Switzerland
  • fYear
    2013
  • fDate
    8-12 April 2013
  • Firstpage
    362
  • Lastpage
    373
  • Abstract
    The architectural changes introduced with multi-core CPUs have triggered a redesign of main-memory join algorithms. In the last few years, two diverging views have appeared. One approach advocates careful tailoring of the algorithm to the architectural parameters (cache sizes, TLB, and memory bandwidth). The other approach argues that modern hardware is good enough at hiding cache and TLB miss latencies and, consequently, the careful tailoring can be omitted without sacrificing performance. In this paper we demonstrate through experimental analysis of different algorithms and architectures that hardware still matters. Join algorithms that are hardware conscious perform better than hardware-oblivious approaches. The analysis and comparisons in the paper show that many of the claims regarding the behavior of join algorithms that have appeared in literature are due to selection effects (relative table sizes, tuple sizes, the underlying architecture, using sorted data, etc.) and are not supported by experiments run under different parameters settings. Through the analysis, we shed light on how modern hardware affects the implementation of data operators and provide the fastest implementation of radix join to date, reaching close to 200 million tuples per second.
  • Keywords
    cache storage; memory architecture; multiprocessing systems; performance evaluation; TLB miss latencies; architectural parameters; cache hiding; cache sizes; data operators; experimental analysis; hardware-oblivious approaches; main-memory hash join algorithms; memory bandwidth; multicore CPUs; radix join implementation; table sizes; tuple sizes; Algorithm design and analysis; Hardware; Instruction sets; Latches; Partitioning algorithms; Probes; Tuning;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Data Engineering (ICDE), 2013 IEEE 29th International Conference on
  • Conference_Location
    Brisbane, QLD
  • ISSN
    1063-6382
  • Print_ISBN
    978-1-4673-4909-3
  • Electronic_ISBN
    1063-6382
  • Type

    conf

  • DOI
    10.1109/ICDE.2013.6544839
  • Filename
    6544839