Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Multi-core, main-memory joins: sort vs. hash revisited

Published: 01 September 2013 Publication History

Abstract

In this paper we experimentally study the performance of main-memory, parallel, multi-core join algorithms, focusing on sort-merge and (radix-)hash join. The relative performance of these two join approaches have been a topic of discussion for a long time. With the advent of modern multi-core architectures, it has been argued that sort-merge join is now a better choice than radix-hash join. This claim is justified based on the width of SIMD instructions (sort-merge outperforms radix-hash join once SIMD is sufficiently wide), and NUMA awareness (sort-merge is superior to hash join in NUMA architectures). We conduct extensive experiments on the original and optimized versions of these algorithms. The experiments show that, contrary to these claims, radix-hash join is still clearly superior, and sort-merge approaches to performance of radix only when very large amounts of data are involved. The paper also provides the fastest implementations of these algorithms, and covers many aspects of modern hardware architectures relevant not only for joins but for any parallel data processing operator.

References

[1]
Intel architecture code analyzer. http://software.intel.com/en-us/articles/intel-architecture-code-analyzer. Online, accessed February 2013.
[2]
M.-C. Albutiu, A. Kemper, and T. Neumann. Massively parallel sort-merge joins in main memory multi-core database systems. PVLDB, 5(10): 1064--1075, 2012.
[3]
C. Balkesen, J. Teubner, G. Alonso, and M. T. Özsu. Main-memory hash joins on multi-core CPUs: Tuning to the underlying hardware. Technical report, ETH Zurich, Nov. 2012.
[4]
C. Balkesen, J. Teubner, G. Alonso, and M. T. Özsu. Main-memory hash joins on multi-core CPUs: Tuning to the underlying hardware. In ICDE, 2013.
[5]
S. Blanas, Y. Li, and J. M. Patel. Design and evaluation of main memory hash join algorithms for multi-core CPUs. In SIGMOD Conference, pages 37--48, 2011.
[6]
K. Bratbergsengen. Hashing methods and relational algebra operations. In VLDB, pages 323--333, 1984.
[7]
J. Chhugani, A. D. Nguyen, V. W. Lee, W. Macy, M. Hagog, Y.-K. Chen, A. Baransi, S. Kumar, and P. Dubey. Efficient implementation of sorting on multi-core simd cpu architecture. PVLDB, 1(2): 1313--1324, 2008.
[8]
D. J. DeWitt, R. H. Gerber, G. Graefe, M. L. Heytens, K. B. Kumar, and M. Muralikrishna. Gamma - a high performance dataflow database machine. In VLDB, pages 228--237, 1986.
[9]
S. Fushimi et al. An overview of the system software of a parallel relational database machine grace. In VLDB, 1986.
[10]
B. Gedik, R. Bordawekar, and P. S. Yu. Cellsort: High performance sorting on the cell processor. In VLDB, 2007.
[11]
G. Graefe. Sort-merge-join: An idea whose time has(h) passed? In ICDE, pages 406--417, 1994.
[12]
G. Graefe, A. Linville, and L. D. Shapiro. Sort versus hash revisited. IEEE Trans. Knowl. Data Eng., 6(6): 934--944, 1994.
[13]
H. Inoue et al. Aa-sort: A new parallel sorting algorithm for multi-core simd processors. In PACT, pages 189--198, 2007.
[14]
C. Kim, J. Park, N. Satish, H. Lee, P. Dubey, and J. Chhugani. Cloudramsort: fast and efficient large-scale distributed ram sort on shared-nothing cluster. In SIGMOD, pages 841--850, 2012.
[15]
C. Kim, E. Sedlar, J. Chhugani, T. Kaldewey, A. D. Nguyen, A. D. Blas, V. W. Lee, N. Satish, and P. Dubey. Sort vs. hash revisited: Fast join implementation on modern multi-core CPUs. PVLDB, 2(2): 1378--1389, 2009.
[16]
M. Kitsuregawa et al. Application of hash to data base machine and its architecture. New Generation Comput., 1(1), 1983.
[17]
D. E. Knuth. The Art of Computer Programming, Volume 3: Sorting and Searching. Addison-Wesley, 2nd edition, 1998.
[18]
Y. Li, I. Pandis, R. Müller, V. Raman, and G. M. Lohman. Numa-aware algorithms: the case of data shuffling. In CIDR, 2013.
[19]
S. Manegold, P. A. Boncz, and M. L. Kersten. Optimizing main-memory join on modern hardware. IEEE Trans. Knowl. Data Eng., 14(4): 709--730, 2002.
[20]
T. H. Merrett. Why sort-merge gives the best implementation of the natural join. SIGMOD Rec., 13(2): 39--51, Jan. 1983.
[21]
R. Müller, J. Teubner, and G. Alonso. Sorting networks on fpgas. VLDB J., 21(1), 2012.
[22]
N. Satish, C. Kim, J. Chhugani, A. D. Nguyen, V. W. Lee, D. Kim, and P. Dubey. Fast sort on CPUs and GPUs: A case for bandwidth oblivious SIMD sort. In SIGMOD, 2010.
[23]
D. A. Schneider and D. J. DeWitt. A performance evaluation of four parallel join algorithms in a shared-nothing multiprocessor environment. SIGMOD '89, pages 110--121, 1989.
[24]
A. Shatdal, C. Kant, and J. F. Naughton. Cache conscious algorithms for relational query processing. In VLDB, 1994.

Cited By

View all
  • (2024)Enabling Adaptive Sampling for Intra-Window Join: Simultaneously Optimizing Quantity and QualityProceedings of the ACM on Management of Data10.1145/36771342:4(1-31)Online publication date: 30-Sep-2024
  • (2024)Optimization of Sparse Matrix Computation for Algebraic Multigrid on GPUsACM Transactions on Architecture and Code Optimization10.1145/366492421:3(1-27)Online publication date: 15-May-2024
  • (2024)How Does Software Prefetching Work on GPU Query Processing?Proceedings of the 20th International Workshop on Data Management on New Hardware10.1145/3662010.3663445(1-9)Online publication date: 10-Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Proceedings of the VLDB Endowment
Proceedings of the VLDB Endowment  Volume 7, Issue 1
September 2013
96 pages
ISSN:2150-8097
  • Editors:
  • H. V. Jagadish,
  • Aoying Zhou
Issue’s Table of Contents

Publisher

VLDB Endowment

Publication History

Published: 01 September 2013
Published in PVLDB Volume 7, Issue 1

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)96
  • Downloads (Last 6 weeks)12
Reflects downloads up to 14 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Enabling Adaptive Sampling for Intra-Window Join: Simultaneously Optimizing Quantity and QualityProceedings of the ACM on Management of Data10.1145/36771342:4(1-31)Online publication date: 30-Sep-2024
  • (2024)Optimization of Sparse Matrix Computation for Algebraic Multigrid on GPUsACM Transactions on Architecture and Code Optimization10.1145/366492421:3(1-27)Online publication date: 15-May-2024
  • (2024)How Does Software Prefetching Work on GPU Query Processing?Proceedings of the 20th International Workshop on Data Management on New Hardware10.1145/3662010.3663445(1-9)Online publication date: 10-Jun-2024
  • (2024)SIMDified Data Processing - Foundations, Abstraction, and Advanced TechniquesCompanion of the 2024 International Conference on Management of Data10.1145/3626246.3654694(613-621)Online publication date: 9-Jun-2024
  • (2023)Cache-Efficient Top-k Aggregation over High Cardinality Large DatasetsProceedings of the VLDB Endowment10.14778/3636218.363622217:4(644-656)Online publication date: 1-Dec-2023
  • (2023)Analyzing Vectorized Hash Tables across CPU ArchitecturesProceedings of the VLDB Endowment10.14778/3611479.361148516:11(2755-2768)Online publication date: 24-Aug-2023
  • (2023)Cracking-Like Join for Trusted Execution EnvironmentsProceedings of the VLDB Endowment10.14778/3598581.359860216:9(2330-2343)Online publication date: 10-Jul-2023
  • (2023)A Design Space Exploration and Evaluation for Main-Memory Hash Joins in Storage Class MemoryProceedings of the VLDB Endowment10.14778/3583140.358314416:6(1249-1263)Online publication date: 20-Apr-2023
  • (2023)NOCAP: Near-Optimal Correlation-Aware Partitioning JoinsProceedings of the ACM on Management of Data10.1145/36267391:4(1-27)Online publication date: 12-Dec-2023
  • (2023)Design and Analysis of a Processing-in-DIMM Join Algorithm: A Case Study with UPMEM DIMMsProceedings of the ACM on Management of Data10.1145/35892581:2(1-27)Online publication date: 20-Jun-2023
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media