Skip to main content
QUICK REVIEW

[論文レビュー] Pangolin: An Efficient and Flexible Graph Mining System on CPU and GPU

Xuhao Chen, Roshan Dathathri|arXiv (Cornell University)|Nov 16, 2019
Data Mining Algorithms and Applications被引用数 6
ひとこと要約

Pangolin は、拡張-還元-フィルターモデルに基づく高水準な抽象化を用いて、CPU および GPU でのモチーフカウントを高速化する、高性能で柔軟性のあるグラフパターンマイニング(GPM)フレームワークである。ユーザー定義のプルーニングにより同型性テストを排除することで、メモリアクセスの最適化、動的メモリ割り当ての削減、および同型性テストの排除により、CPU では既存のフレームワーク比最大 88× の高速化、GPU ではさらに 15× の高速化を達成している。

ABSTRACT

There is growing interest in graph pattern mining (GPM) problems such as motif counting. GPM systems have been developed to provide unified interfaces for programming algorithms for these problems and for running them on parallel systems. However, existing systems may take hours to mine even simple patterns in moderate-sized graphs, which significantly limits their real-world usability.We present Pangolin, an efficient and flexible in-memory GPM framework targeting shared-memory CPUs and GPUs. Pangolin is the first GPM system that provides high-level abstractions for GPU processing. It provides a simple programming interface based on the extend-reduce-filter model, which allows users to specify application specific knowledge for search space pruning and isomorphism test elimination. We describe novel optimizations that exploit locality, reduce memory consumption, and mitigate the overheads of dynamic memory allocation and synchronization.Evaluation on a 28-core CPU demonstrates that Pangolin outperforms existing GPM frameworks Arabesque, RStream, and Fractal by 49×, 88×, and 80× on average, respectively. Acceleration on a V100 GPU further improves performance of Pangolin by 15× on average. Compared to state-of-the-art hand-optimized GPM applications, Pangolin provides competitive performance with less programming effort.

研究の動機と目的

  • 中程度のサイズのグラフを処理するのに数時間もかかる現在のグラフパターンマイニング(GPM)システムにおけるパフォーマンスボトルネックを解消すること。
  • 共有メモリ型の CPU および GPU で効率的かつスケーラブルな GPM を、最小限のプログラミングオーバーヘッドで実現すること。
  • ユーザーがアプリケーション固有の知識を用いて探索空間のプルーニングや同型性テストの排除を表現できる高水準な抽象化を提供すること。
  • GPMワークロードにおけるメモリ消費量と動的メモリ割り当てのオーバーヘッドを低減すること。
  • 実装作業の手間を大幅に減らしながら、手で最適化されたアプリケーションと同等のパフォーマンスを達成すること。

提案手法

  • Pangolin は、GPU および CPU 実行を想定した高水準な抽象化を用いて GPM アルゴリズムを表現する、革新的な拡張-還元-フィルタープログラミングモデルを採用している。
  • データローカリティを活用する最適化により、メモリアクセスパターンの改善とレイテンシの低減を実現している。
  • 中間データ構造の最小化と計算フェーズ間でのメモリバッファの再利用により、メモリ消費量を削減している。
  • メモリプール管理と非同期キーナル起動により、動的メモリ割り当てと同期のオーバーヘッドを軽減している。
  • ユーザーがアプリケーション固有の知識を探索空間のプルーニング論理に組み込むことで、同型性テストの排除を可能にしている。
  • 統一されたプログラミングインターフェースにより、CPU および GPU 実行をサポートしており、低レベルの GPU プログラミングの複雑さを抽象化している。

実験結果

リサーチクエスチョン

  • RQ1GPM における高水準プログラミングモデルは、手で最適化された GPU カーネルと同等のパフォーマンスを達成しつつ、実装作業の手間を減らすことができるか?
  • RQ2高水準な抽象化は、グラフパターンマイニングにおける効率的な探索空間のプルーニングおよび同型性テストの排除にどの程度効果を発揮するか?
  • RQ3CPU および GPU の GPM ワークロードにおいて、メモリアクセスパターンと動的メモリ割り当てはどの程度最適化可能か?
  • RQ4統一された CPU-GPU GPM フレームワークのパフォーマンスは、既存の最先端システムと比べてどの程度か?
  • RQ5高度な最適化を施した高水準抽象化を用いることで、従来の GPM フレームワークに比べてどの程度のパフォーマンス向上が得られるか?

主な発見

  • 28コア CPU では、Pangolin は Arabesque、RStream、Fractal に対してそれぞれ平均 49×、88×、80× の高速化を達成した。
  • V100 GPU を使用した場合、Pangolin は CPU 僅用の実行に比べて平均 15× の追加的高速化を達成した。
  • Pangolin は、著しく少ないプログラミング作業で、最先端の手で最適化された GPM アプリケーションと同等のパフォーマンスを実現している。
  • メモリアクセスおよび動的メモリ管理の最適化により、メモリ消費量とランタイムオーバーヘッドが顕著に削減された。
  • 拡張-還元-フィルターモデルにより、プルーニングおよび同型性テストの排除にアプリケーション固有の知識を効果的に統合でき、全体の効率性が向上した。
  • Pangolin の高水準な抽象化は、異種アーキテクチャ上での複雑な GPM アルゴリズムの開発を簡素化しながら、高いパフォーマンスを維持している。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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