Skip to main content
QUICK REVIEW

[論文レビュー] Algorithms and Heuristics for Scalable Betweenness Centrality Computation on Multi-GPU Systems

Flavio Vella, Giancarlo Carbone|arXiv (Cornell University)|Feb 2, 2016
Graph Theory and Algorithms参考文献 41被引用数 7
ひとこと要約

本稿では、大規模な無向グラフにおける正確なバッケンシー・セントラリティ(BC)計算のためのスケーラブルでマルチGPU対応のアルゴリズムを提示する。2次元グラフ分割、前缀和を用いた最適化されたスレッド-データマッピング、および1度の次数と2度の次数を持つ頂点に対する新しいヒューリスティクスを組み合わせたものである。実グラフにおいて最大2.8倍の高速化を達成し、R-MAT EF32など規模28のグラフに対してもBC計算を可能にした。ヒューリスティクスに基づく pruning と2度の次数頂点のための新規DFMアルゴリズムにより、時間とメモリの大幅な削減が実現された。

ABSTRACT

Betweenness Centrality (BC) is steadily growing in popularity as a metrics of the influence of a vertex in a graph. The BC score of a vertex is proportional to the number of all-pairs-shortest-paths passing through it. However, complete and exact BC computation for a large-scale graph is an extraordinary challenge that requires high performance computing techniques to provide results in a reasonable amount of time. Our approach combines bi-dimensional (2-D) decomposition of the graph and multi-level parallelism together with a suitable data-thread mapping that overcomes most of the difficulties caused by the irregularity of the computation on GPUs. Furthermore, we propose novel heuristics which exploit the topology information of the graph in order to reduce time and space requirements of BC computation. Experimental results on synthetic and real-world graphs show that the proposed techniques allow the BC computation of graphs which are too large to fit in the memory of a single computational node along with a significant reduction of the computing time.

研究の動機と目的

  • マルチGPUシステムを用いた大規模グラフにおける正確なバッケンシー・セントラリティ(BC)計算のスケーラビリティとメモリ制限を解決すること。
  • 不規則なグラフワークロードにおけるGPU固有のボトル neck(負荷の不均衡や非コalescedメモリアクセス)を克服すること。
  • 隣接行列の分散2次元分割により、1つのGPUのメモリに収まらないほど大きなグラフに対しても正確なBC計算を可能にすること。
  • 低次数の頂点に対してブランドスアルゴリズムの高コストなステップをスキップする新しいヒューリスティクスにより、計算および通信のオーバーヘッドを低減すること。
  • 既存の1度の次数削減ヒューリスティクスを分散システムに拡張し、最短経路木の再構築に基づく新しい2度の次数頂点ヒューリスティクスを導入すること。

提案手法

  • スパース隣接行列の2次元分割を用いて、複数のGPUにグラフデータを分散し、GPU間通信を最小限に抑え、負荷のバランスを取ること。
  • 前缀和演算に基づくスレッド-データマッピング戦略を採用し、BFS走査と最短経路数え上げを効率的に管理することで、コalescedメモリアクセスと負荷のバランスを確保すること。
  • マルチGPUのBFSおよびBC計算中に、データ転送と計算を重ねるオーバーラップ最適化技術を導入し、通信遅延を隠ぺいすること。
  • 2度の次数頂点のための新規ヒューリスティクス(DFMアルゴリズム)を提案し、隣接頂点の最短経路木から直接バッケンシー・セントラリティ寄与度を計算することで、完全なブランドス実行を回避すること。
  • 後続頂点の伝搬を回避することで、1ステップあたりのデータ交換量をO(m)からO(n)に削減する通信最適化戦略を実装すること。
  • 1度の次数頂点削減ヒューリスティクスを分散システムに拡張し、BC計算の前処理として高速なアルゴリズムを導入し、1度の次数頂点を事前に特定・削除すること。

実験結果

リサーチクエスチョン

  • RQ1複数GPUを用いた無向グラフにおけるバッケンシー・セントラリティを、通信およびメモリオーバーヘッドを最小限に抑えて、どのように効率的かつスケーラブルに計算できるか?
  • RQ21度の次数頂点削減ヒューリスティクスは、計算コストおよび通信コストを低減するために、分散マルチGPUシステムにどの程度まで拡張可能か?
  • RQ3完全なブランドスアルゴリズムを実行せずに、2度の次数頂点のバッケンシー・セントラリティ寄与度を計算する新しいヒューリスティクスを設計可能か?
  • RQ41度の次数および2度の次数ヒューリスティクスを組み合わせた場合、全体のBC計算時間およびスケーラビリティに及ぼす理論的および実用的影響は何か?
  • RQ5提示された2次元分割および通信最適化フレームワークは、実グラフおよび合成グラフにおいて最大256GPUにわたってどのようにスケーリングするか?

主な発見

  • 提示されたマルチGPUアルゴリズムは、com-Youtubeグラフにおいて、単一GPUベースラインと比較して最大2.8倍の高速化を達成し、合計処理時間の顕著な削減を実現した。
  • R-MAT EF32グラフ(スケール23)では、BC計算が5.0時間で完了(単一GPU比1.3倍の高速化)し、12.1%の頂点が1度の次数ヒューリスティクスにより削減された。
  • RoadNet-PAでは、2度の次数頂点ヒューリスティクス(DFM)により、ブランドス計算をスキップできる頂点が77,265に上り、1度の次数削減と組み合わせることで、合計実行時間は21.8時間から15.9時間に削減された。
  • オーバーラップ最適化により、データ転送と計算を重ねることで通信遅延が低減され、マルチGPUシステムにおけるパフォーマンスが向上した。
  • 本アルゴリズムは、1ノードのメモリに収まらない規模28(例:R-MAT EF32)のグラフに対してもBC計算を成功裏に実行し、256GPUでの強力なスケーラビリティを示した。
  • DFMアルゴリズムの理論的基盤は、2度の次数頂点の最短経路木が、その2つの隣接頂点の木から再構築可能であることを証明しており、直接的なBC寄与度計算が可能であることを示している。

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

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

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

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