核心概念
GVE-Louvainは、Louvainアルゴリズムの最も効率的な並列実装の1つであり、大規模ネットワークのコミュニティ検出を高速に行うことができる。
摘要
本論文では、Louvainアルゴリズムの高速な並列実装であるGVE-Louvainを提案している。GVE-Louvainは以下の主な特徴を持つ:
- 非同期計算を採用し、並列プレフィックス和とプリアロケートされたCSRデータ構造を使用することで、集約フェーズの効率化を図っている。
- スレッド毎のハッシュテーブルを使用することで、ローカル移動フェーズと集約フェーズの高速化を実現している。
- OpenMPの動的ループスケジューリング、反復回数の制限、しきい値スケーリング最適化、頂点プルーニングなどの手法を組み合わせることで、全体的な性能を向上させている。
評価の結果、GVE-Louvainは、Vite、Grappolo、NetworKit Louvainと比較して、それぞれ50倍、22倍、20倍高速であることが示された。また、3.8Bエッジのグラフに対して560Mエッジ/秒の処理速度を達成している。さらに、スレッド数を2倍にするごとに平均1.6倍の性能向上が得られることが確認された。
統計資料
3.8Bエッジのグラフに対して560Mエッジ/秒の処理速度を達成
GVE-Louvainは、Vite、Grappolo、NetworKit Louvainと比較して、それぞれ50倍、22倍、20倍高速
引述
"GVE-Louvainは、Louvainアルゴリズムの最も効率的な並列実装の1つである。"
"GVE-Louvainは、3.8Bエッジのグラフに対して560Mエッジ/秒の処理速度を達成している。"
"GVE-Louvainは、Vite、Grappolo、NetworKit Louvainと比較して、それぞれ50倍、22倍、20倍高速である。"