[論文レビュー] PMV: Pre-partitioned Generalized Matrix-Vector Multiplication for Scalable Graph Mining
PMVは、分散システムにおけるスケーラブルなグラフマイニングのための事前分割型一般化行列-ベクトル乗算フレームワークを提案する。入力グラフを事前に分割し、部分行列の密度に基づいて適応的かつ水平/垂直ブロック配置を適用することで、通信およびI/Oコストを低減し、従来の分散メモリ手法に比べ最大16倍大きなグラフを処理可能にするとともに、ディスクベースのシステムに比べ9倍高速な性能を達成する。
How can we analyze enormous networks including the Web and social networks which have hundreds of billions of nodes and edges? Network analyses have been conducted by various graph mining methods including shortest path computation, PageRank, connected component computation, random walk with restart, etc. These graph mining methods can be expressed as generalized matrix-vector multiplication which consists of few operations inspired by typical matrix-vector multiplication. Recently, several graph processing systems based on matrix-vector multiplication or their own primitives have been proposed to deal with large graphs; however, they all have failed on Web-scale graphs due to insufficient memory space or the lack of consideration for I/O costs. In this paper, we propose PMV (Pre-partitioned generalized Matrix-Vector multiplication), a scalable distributed graph mining method based on generalized matrix-vector multiplication on distributed systems. PMV significantly decreases the communication cost, which is the main bottleneck of distributed systems, by partitioning the input graph in advance and judiciously applying execution strategies based on the density of the pre-partitioned sub-matrices. Experiments show that PMV succeeds in processing up to 16x larger graphs than existing distributed memory-based graph mining methods, and requires 9x less time than previous disk-based graph mining methods by reducing I/O costs significantly.
研究の動機と目的
- 数百億エッジにのぼるWeb規模のグラフに対して、既存の分散グラフマイニングシステムのスケーラビリティ制限を解消すること。
- シャッフルとディスクアクセスを最小限に抑えることで、分散行列-ベクトル乗算におけるI/Oおよび通信ボトルネックを克服すること。
- Hadoop や Spark などの主要な分散コンピューティングプラットフォームと互換性を持つ汎用フレームワークを設計すること。
- マシン数およびグラフサイズに対して線形のスケーラビリティを達成し、単一マシンや分散メモリシステムのメモリ容量を超えるグラフを処理できること。
提案手法
- 反復計算の前に、入力グラフの隣接行列をブロックに事前に分割することで、繰り返しの分割処理を排除する。
- 閾値θを用いて頂点の出次数に基づき、行列ブロックをスパース領域とディンス領域に分類する。
- スパースブロックには水平配置を、ディンスブロックには垂直配置を適用し、I/Oおよび通信コストを最小化する。
- 密度に応じて各ブロックの最適な配置を自動選択するハイブリッド戦略(PMVhybrid)を採用し、垂直配置のみの戦略(PMVvertical)に比べ最大44%のI/O削減を実現する。
- Hadoop および Spark にフレームワークを実装し、Hadoop ではインプレース更新を、Spark では反復最適化を活用する。
- 特にMapReduceシステムでボトルネックを引き起こす高次数頂点に配慮し、ワーカーへのブロック割り当てを最適化して負荷をバランスさせ、I/Oを低減する。
実験結果
リサーチクエスチョン
- RQ1事前分割された行列が、分散一般化行列-ベクトル乗算における通信およびI/Oオーバーヘッドを低減できるか?
- RQ2スパースグラフとディンスグラフにおいて、水平配置と垂直配置の戦略選択がI/Oおよび性能に与える影響は何か?
- RQ3ハイブリッド配置戦略におけるI/Oと計算コストのバランスを最適化するための最適な閾値θは何か?
- RQ4PMVはマシン数およびグラフサイズに対して線形のスケーラビリティを達成できるか?
- RQ5ClueWeb12 のようなWeb規模のグラフ処理において、PMVは既存のシステムと比較してどのように優れているか?
主な発見
- PMVは、60億頂点、710億エッジを有するClueWeb12の完全なグラフを処理でき、すべての比較対象システムがメモリ不足または時間超過で失敗する状況を克服した。
- GraphLab や GraphX などの既存の分散メモリシステムがメモリ容量を超えるグラフで失敗するのに対し、PMVは最大16倍高いスケーラビリティを達成した。
- θ = 200 の場合、垂直配置戦略(PMVvertical)に比べ、PMVはI/Oを最大44%削減し、ディスクベースのMapReduceシステムに比べ9倍の高速化を達成した。
- YahooWeb において、PMVはマシン数を2倍にした際のスループットが1.0に近い線形のスケーリングを示し、最後のリデューサーのボトルネックを回避することで PEGASUS を上回った。
- 小規模なグラフでは、Spark 上のPMVがHadoop 上のPMVよりも高速である(Sparkの反復計算最適化のおかげ)。一方、大規模なグラフでは、Hadoop 上のPMVがインプレース更新による低メモリ使用量のおかげでSpark上を上回った。
- ハイブリッド戦略(PMVhybrid)は、選択的戦略(PMVselective)に比べ最大18%の性能向上を達成し、適応的ブロック配置の有効性を実証した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。