[論文レビュー] Counting Triangles in Massive Graphs with MapReduce
本稿では、24000万ノードおよび85億エッジを有するグラフまで処理可能な、スケーラブルなMapReduceベースのウェッジサンプリング実装を提示し、大規模グラフにおける効率的な三角形カウントを実現した。これにより、グローバルおよび次数別にバケツ分けされたクラスタリング係数および三角形統計の正確な推定が可能となり、最大のグラフでも1時間未塔で処理が完了し、100万エッジあたり0.33秒の処理時間+オーバーヘッドを達成した。
Graphs and networks are used to model interactions in a variety of contexts. There is a growing need to quickly assess the characteristics of a graph in order to understand its underlying structure. Some of the most useful metrics are triangle-based and give a measure of the connectedness of mutual friends. This is often summarized in terms of clustering coefficients, which measure the likelihood that two neighbors of a node are themselves connected. Computing these measures exactly for large-scale networks is prohibitively expensive in both memory and time. However, a recent wedge sampling algorithm has proved successful in efficiently and accurately estimating clustering coefficients. In this paper, we describe how to implement this approach in MapReduce to deal with massive graphs. We show results on publicly-available networks, the largest of which is 132M nodes and 4.7B edges, as well as artificially generated networks (using the Graph500 benchmark), the largest of which has 240M nodes and 8.5B edges. We can estimate the clustering coefficient by degree bin (e.g., we use exponential binning) and the number of triangles per bin, as well as the global clustering coefficient and total number of triangles, in an average of 0.33 seconds per million edges plus overhead (approximately 225 seconds total for our configuration). The technique can also be used to study triangle statistics such as the ratio of the highest and lowest degree, and we highlight differences between social and non-social networks. To the best of our knowledge, these are the largest triangle-based graph computations published to date.
研究の動機と目的
- 大規模グラフにおける正確な三角形カウントが、高いメモリおよび時間コストのため計算的に非現実的であるという問題に対処すること。
- 分散コンピューティングを用いて、大規模ネットワークにおけるクラスタリング係数および三角形統計の効率的でスケーラブルな推定を可能にすること。
- MapReduceにおけるウェッジサンプリングが、10000万ノード以上および85億エッジを有するグラフを処理できることを示し、ロードバランスとデータ分散の課題を克服すること。
- 実際のネットワークおよび合成ネットワークの両方に対して、次数の相関性およびバケツ分けされたクラスタリング係数を含む、三角形の特性に関する詳細な分析を提供すること。
- 実世界およびGraph500ベンチマークグラフ上で手法を検証し、最小限のオーバーヘッドで高い精度を達成していることを示すこと。
提案手法
- 本手法はウェッジサンプリングを用いる:頂点のペアを仮のウェッジの中心としてサンプリングし、閉じるエッジが存在するかを確認することで三角形を形成する。
- MapReduceを用いてエッジデータをノード間で分散し、頂点の次数計算、ウェッジのサンプリング、三角形の閉じを確認する複数のフェーズを実行する。
- フェーズ1aで次数分布を計算し、フェーズ2cで頂点の次数に基づく確率分布を用いてウェッジをサンプリングする。
- 指数的バケツ分けを用いて頂点を次数ごとにグループ化し、各バケツにおける次数別クラスタリング係数および三角形数を計算する。
- 特に、エッジリスト全体を読み込むフェーズ(1a、2c、3b)において、データシャッフルを最小限に抑えるための特別なデータ構造を用いる。
- オプションのラベル付けフェーズ(4a、4b)により、サンプリングされた三角形に次数情報を付与し、次数相関性などの後続分析を可能にする。
実験結果
リサーチクエスチョン
- RQ1MapReduceフレームワーク上でウェッジサンプリングを効果的に並列化でき、10000万ノード以上および85億エッジを有する大規模グラフにスケーリング可能か?
- RQ2MapReduceベースのウェッジサンプリング手法は、低分散および低計算オーバーヘッドで、グローバルおよび次数別にバケツ分けされたクラスタリング係数を正確に推定できるか?
- RQ3ソーシャルネットワーク(例:hollywood-2011)と非ソーシャルネットワーク(例:Graph500、uk-union)における三角形の次数相関性およびクラスタリングプロファイルにはどのような相違があるか?
- RQ4Graph500ベンチマークは、実世界データと比較して現実的な三角形およびクラスタリング特性を有するネットワークをどれほど生成するか?
- RQ5同じMapReduceパイプラインが、グローバル係数の計算とほぼ同等のコストで、複数のクラスタリング指標(グローバル、バケツ分け、次数相関型)を効率的に計算できるか?
主な発見
- 処理した最大のグラフは24000万ノードおよび85億エッジを有し、32ノードのHadoopクラスタ上で1時間未塔で分析が完了した。
- 本手法は100万エッジあたり約0.33秒+225秒の固定オーバーヘッドを要し、エッジ数に比例する線形スケーラビリティを示した。
- hollywood-2011ソーシャルネットワークでは、最小次数と最大次数の間に強い正の相関が観察され、同種混合(アソーティビティ)を示した。
- 一方、uk-unionウェブグラフおよびGraph500ネットワークでは、最小次数のバケツごとに平均最大次数がほぼ一定であり、同種混合の欠如を示した。
- 500万のウェッジサンプルを用いた推定では、期待値と比較して許容範囲内の分散で三角形数が正確に推定された。
- 本手法により、グラフ全体をメモリに保持する必要なく、次数ごとのクラスタリング係数および各バケツごとの三角形数の計算が効率的に行えるようになった。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。