Skip to main content
QUICK REVIEW

[論文レビュー] Parallel Breadth-First Search on Distributed Memory Systems

Aydın Buluç, Kamesh Madduri|arXiv (Cornell University)|Apr 22, 2011
Graph Theory and Algorithms参考文献 27被引用数 11
ひとこと要約

本論文は、分散メモリシステム向けに高度に最適化されたハイブリッド並列BFSアルゴリズムを2つ提案する。1つはレベル同期型の頂点分割手法であり、もう1つは新規の二次元スパース行列分割法である。後者は通信オーバーヘッドを最大3.5倍まで低減し、40,000コアのシステム上で1秒間に178億エッジの訪問を達成し、度数分布が偏った大規模グラフにおけるBFSのパフォーマンス記録を更新した。

ABSTRACT

Data-intensive, graph-based computations are pervasive in several scientific applications, and are known to to be quite challenging to implement on distributed memory systems. In this work, we explore the design space of parallel algorithms for Breadth-First Search (BFS), a key subroutine in several graph algorithms. We present two highly-tuned parallel approaches for BFS on large parallel systems: a level-synchronous strategy that relies on a simple vertex-based partitioning of the graph, and a two-dimensional sparse matrix-partitioning-based approach that mitigates parallel communication overhead. For both approaches, we also present hybrid versions with intra-node multithreading. Our novel hybrid two-dimensional algorithm reduces communication times by up to a factor of 3.5, relative to a common vertex based approach. Our experimental study identifies execution regimes in which these approaches will be competitive, and we demonstrate extremely high performance on leading distributed-memory parallel systems. For instance, for a 40,000-core parallel execution on Hopper, an AMD Magny-Cours based system, we achieve a BFS performance rate of 17.8 billion edge visits per second on an undirected graph of 4.3 billion vertices and 68.7 billion edges with skewed degree distribution.

研究の動機と目的

  • 不規則なメモリアクセスパターンを示す分散メモリシステムにおける並列BFSのパフォーマンス課題に対処すること。
  • 大規模グラフにおける頂点ベースと行列ベースの分割戦略の間のアルゴリズム的トレードオフを調査すること。
  • 高並列環境における通信オーバーヘッドを最小限に抑え、スケーラビリティを最大化すること。
  • ハイブリッド並列処理(MPI + マルチスレーディング)を活用して、現代のスーパーコンピュータで最先端のパフォーマンスを達成すること。
  • 既存のフレームワーク(例:PBGL)を上回る、生産用途に耐えうる高性能実装を提供すること。

提案手法

  • プロセッサ間で1次元の頂点ベース分割を用いたレベル同期型BFS戦略を採用する。
  • 関連するグラフデータを同じ場所に配置することで、プロセッサ間通信を削減する2次元スパース行列分割方式を採用する。
  • マルチコアノードにおけるデータ局所性の向上とメモリ遅延の隠蔽を図るため、ノード内マルチスレーディングを統合する。
  • 2次元アプローチにおける負荷バランスと通信歪みの低減のため、ランダムな頂点順序入れ替えを適用する。
  • MPIを用いてノード間通信を実装し、高並列環境に適した集約操作(Alltoall, Allgather)を最適化する。
  • BFSの反復処理を線形代数演算として表現するため、スパース行列-ベクトル乗算(SpMV)の抽象化を活用する。

実験結果

リサーチクエスチョン

  • RQ12次元スパース行列分割戦略は、分散BFSにおける通信量を顕著に削減できるか?
  • RQ2ハイブリッドマルチスレーディング(MPI + OpenMP)は、大規模BFSにおけるマルチコアノードでのパフォーマンスをどのように向上させるか?
  • RQ3大規模システムにおける既存の並列BFSフレームワーク(例:PBGL)のパフォーマンスボトルネックは何か?
  • RQ4通信量の低減は、プロセス数が非常に多い状況でのスケーラビリティにどの程度寄与するか?
  • RQ5現代の分散メモリアーキテクチャにおいて、先行研究を大きく上回るBFSのパフォーマンスを達成できるか?

主な発見

  • 2次元分割に基づくアルゴリズムは、標準的な頂点ベース手法と比較して通信時間を最大3.5倍まで短縮した。
  • 40,000コアのシステム(Hopper)において、頂点数43億、エッジ数687億で度数分布が偏ったグラフに対して、1秒間に178億エッジの訪問を達成した。
  • R-MATグラフにおいて、小規模なテストケース(128〜2048コア)でPBGLよりも最大16倍速くなった。
  • 単一ノードのマルチスレーディング版は、文献に報告された先行の高性能実装を、標準的なテストインスタンスで最大1.47倍上回った。
  • AMD Magny-Cours(Hopper)およびIntel Nehalem(Carver)を含む複数のアーキテクチャで、性能優位性が維持された。
  • 細粒度の通信が高性能を達成するために不可欠であるという仮定に疑問を呈し、2次元分割による粗粒度通信がより効果的であることを示した。

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

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

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

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