Skip to main content
QUICK REVIEW

[論文レビュー] Massively Parallel Sort-Merge Joins in Main Memory Multi-Core Database Systems

Martina-Cezara Albutiu, Alfons Kemper|arXiv (Cornell University)|Jun 30, 2012
Algorithms and Data Compression被引用数 4
ひとこと要約

この論文は、メインメモリ型マルチコアデータベースシステム向けに、NUMAに配慮したパーティションベースのソーティングを活用した大規模並列ソート・マージ(MPSM)結合を提案する。独立したランをコアごとにローカルメモリ上で並列にソートし、段階的にマージすることで、32コアでニアーライニアスケーリングを達成し、10億タプルのデータセットにおいて、Vectorwiseのような最先端のハッシュ結合エンジンを4倍の性能で上回る。

ABSTRACT

Two emerging hardware trends will dominate the database system technology in the near future: increasing main memory capacities of several TB per server and massively parallel multi-core processing. Many algorithmic and control techniques in current database technology were devised for disk-based systems where I/O dominated the performance. In this work we take a new look at the well-known sort-merge join which, so far, has not been in the focus of research in scalable massively parallel multi-core data processing as it was deemed inferior to hash joins. We devise a suite of new massively parallel sort-merge (MPSM) join algorithms that are based on partial partition-based sorting. Contrary to classical sort-merge joins, our MPSM algorithms do not rely on a hard to parallelize final merge step to create one complete sort order. Rather they work on the independently created runs in parallel. This way our MPSM algorithms are NUMA-affine as all the sorting is carried out on local memory partitions. An extensive experimental evaluation on a modern 32-core machine with one TB of main memory proves the competitive performance of MPSM on large main memory databases with billions of objects. It scales (almost) linearly in the number of employed cores and clearly outperforms competing hash join proposals - in particular it outperforms the "cutting-edge" Vectorwise parallel query engine by a factor of four.

研究の動機と目的

  • I/Oがもはや主要コストではない現代のマルチコアメインメモリデータベースにおける、従来のソート・マージ結合の性能ボトルネックを解消すること。
  • 中央集権的で並列化が難しい最終マージステップに依存する古典的なソート・マージ結合のスケーラビリティの限界を克服すること。
  • コアごとにデータと計算をローカルに保つことでNUMAアーキテクチャを活用し、リモートメモリアクセスと同期オーバーヘッドを最小限に抑える結合アルゴリズムを設計すること。
  • 現代の32コア、テラバイト規模のメインメモリサーバー上で、高い性能と線形スケーリングを達成し、既存のハッシュ結合およびラジックス結合手法を上回ること。
  • インメモリデータベース上で運用ビジネスインテリジェンスワークロードに適した効率的でリアルタイムのクエリ処理を可能にすること。

提案手法

  • 部分的パーティションベースのソーティングを採用:各コアが割り当てられたデータパーティションを独立してローカルランにソートし、グローバルな同期を回避する。
  • NUMAに配慮したデータ配置を適用:各コアが自身のローカルメモリノードからのデータをソートおよび処理することで、遅延と帯域幅の圧力を低減する。
  • ソート済みランを並列で段階的にマージすることで、中央集権的な最終マージステップの必要性を排除する。
  • 同期不要なヒストグラムベースのパーティショニングを用い、ビルドフェーズにおけるコア間の効率的で低コストのデータ分散を実現する。
  • 各コアのプライベートメモリ空間内での効率的内部ソーティングのため、カスタムのラジックス/イントロソートハイブリッドを実装する。
  • マージフェーズでの連続アクセスパターンを活用し、キャッシュおよびハードウェアプリリードャー効率を最大化する。

実験結果

リサーチクエスチョン

  • RQ1メインメモリ型マルチコア環境において、数百コアにわたるほぼ線形的なスケーリングを達成できるように、ソート・マージ結合を再設計できるか?
  • RQ2中央集権的な最終マージステップを回避し、代わりに独立したランを並列でマージすることで、従来のソート・マージ結合やハッシュ結合と比較して、より高い性能とNUMA効率が得られるか?
  • RQ3大規模なインメモリデータにおいて、MPSMのようなNUMA最適化ソート・マージ結合の性能は、Vectorwise や Wisconsin ハッシュ結合といった最先端のハッシュ結合エンジンと比べてどの程度か?
  • RQ4複雑な同期や動的メモリ割り当てに依存せずに、並列ソート・マージ結合においてキャッシュの局所性とハードウェアプリリーダーをどの程度活用できるか?
  • RQ5MPSMにおけるローカルにソートされたランという物理的性質を、その後続のクエリ処理最適化に活用できるか?

主な発見

  • MPSMは、1TBメインメモリ、32コアサーバー上で32コアにわたるニアーライニアスケーリングを達成し、強力な水平スケーラビリティを示した。
  • 10億タプルのデータセットにおいて、MPSMは、高度なラジックス結合とベクトル処理を採用しているにもかかわらず、Vectorwiseの並列クエリエンジンを4倍の性能で上回った。
  • MPSMの性能優位性は、リモートメモリアクセスを最小限に抑え、細粒度の同期を回避するNUMAフレンドリーな設計に起因する。
  • 中央集権的な最終マージを排除することで、古典的なソート・マージ結合に見られる主要なスケーラビリティボトルネックを回避した。
  • 段階的なランマージにより高いキャッシュ局所性が得られ、ハードウェアプリリーダーの恩恵を受けることで、メモリアクセス効率が向上した。
  • アルゴリズムの出力であるローカルにソートされたランは、従来のマージ結合と同様に、セミジョインやセミジョインプッシュダウンなどの後続処理の最適化に活用可能である可能性がある。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。