Skip to main content
QUICK REVIEW

[論文レビュー] In-Core Computation of Geometric Centralities with HyperBall: A Hundred Billion Nodes and Beyond

Paolo Boldi, Sebastiano Vigna|arXiv (Cornell University)|Aug 9, 2013
Complex Network Analysis Techniques参考文献 20被引用数 12
ひとこと要約

HyperBall は、2 TiB の RAM を使用して最大 1000 億ノードのグラフ上で、ハーモニック中心性やクロージネス中心性などの幾何的中心性をインメモリで近似的に計算可能にした。HyperLogLog カウンタ、圧縮されたグラフ表現、そして要約データ構造を活用することで、Hadoop に基づく手法と比べて 150 倍の高速化を達成し、コア数に比例してスケーリング可能であり、ClueWeb09 や Wikipedia といった大規模な実世界のグラフにおいても、正確で高性能な解析を実現した。

ABSTRACT

Given a social network, which of its nodes are more central? This question has been asked many times in sociology, psychology and computer science, and a whole plethora of centrality measures (a.k.a. centrality indices, or rankings) were proposed to account for the importance of the nodes of a network. In this paper, we approach the problem of computing geometric centralities, such as closeness and harmonic centrality, on very large graphs; traditionally this task requires an all-pairs shortest-path computation in the exact case, or a number of breadth-first traversals for approximated computations, but these techniques yield very weak statistical guarantees on highly disconnected graphs. We rather assume that the graph is accessed in a semi-streaming fashion, that is, that adjacency lists are scanned almost sequentially, and that a very small amount of memory (in the order of a dozen bytes) per node is available in core memory. We leverage the newly discovered algorithms based on HyperLogLog counters, making it possible to approximate a number of geometric centralities at a very high speed and with high accuracy. While the application of similar algorithms for the approximation of closeness was attempted in the MapReduce framework, our exploitation of HyperLogLog counters reduces exponentially the memory footprint, paving the way for in-core processing of networks with a hundred billion nodes using "just" 2TiB of RAM. Moreover, the computations we describe are inherently parallelizable, and scale linearly with the number of available cores.

研究の動機と目的

  • 最大 1000 億ノードのグラフ上で、インメモリで正確に幾何的中心性を計算可能にする。
  • 大規模で、場合によっては非連結なグラフにおいて、従来の全ペア最短経路法や BFS に基づく中心性計算のメモリ制限とスケーラビリティの制限を克服する。
  • マップリダスに基づくアプローチの代替として、高精度で低メモリ使用量の中心性近似手法を提供する。
  • 標準のワークステーションを用いて、ClueWeb09 や Wikipedia といった実世界のグラフで、線形スケーリングと高いパフォーマンスを実証する。
  • 空間的オーバーヘッドを最小限に抑えて、重み付きグラフに対してもこの手法を拡張する。

提案手法

  • 各ノードの周囲のボール(指定された距離内に存在するノード)のサイズを推定するために HyperLogLog カウンタを用い、距離に基づく中心性の効率的近似を実現する。
  • 隣接リストを逐次スキャンする半ストリーミングのグラフアクセスモデルを仮定し、ノードあたり数10バイト程度のメモリのみをコアメモリに保持する。
  • 圧縮されたグラフ表現と要約データ構造を統合し、メモリマップドオンディスクのグラフストレージを効率的に管理する。
  • HyperLogLog カウンタの統計的性質を活用して、高い正確性と低い分散で到達可能なノード数を推定する。
  • アルゴリズムは本質的に並列化可能であり、ノードごとの計算は独立しており、複数コアにわたってスケーラブルである。
  • 重み付きグラフの場合、エッジの重みを距離分布の一部として扱うことで、精度の損失を最小限に抑えつつ HyperLogLog 推定を拡張する。

実験結果

リサーチクエスチョン

  • RQ1最大 1000 億ノードのグラフ上で、インメモリのみを用いて幾何的中心性を正確かつ効率的に計算可能か?
  • RQ2HyperBall のパフォーマンスと正確性は、Hadoop に基づくマップリダス実装と比べてどの程度優れているか?
  • RQ3HyperLogLog カウンタの使用が、中心性推定における正確性を維持したまま、どの程度メモリ使用量を削減できるか?
  • RQ4大規模なグラフにおいて、利用可能な CPU コア数に比例してスケーリングするか?
  • RQ5このフレームワークは、空間的および正確性コストをほとんど増加させずに、重み付きグラフを処理できるか?

主な発見

  • 50 台のマシンを用いた Hadoop 実装と比較して、32 コアのワークステーションが 150 倍以上高速化した。
  • 8 コアの MacBook Pro でも、Hadoop 基盤の方法と比べて 50 倍の高速化を達成し、一般消費者向けハードウェアでも優れたパフォーマンスを示した。
  • 中心性推定における平均相対誤差は、理論的予測値に常に近く、実際にはしばしばそれよりも著しく低かった。
  • コアリーチャブルノードの推定は、巨大な強連結成分内での高い重複率のおかげで分散が小さくなった。その中で 89% のノードが同一のコアリーチャブル集合を持っていた。
  • 1 から 32 コアにわたるスケーリングにおいて、1 コアあたりのアーキの処理時間はほぼ一定であり、ほぼ完全な線形スケーリングを示した。32 コアでの 30% の増加は、キャッシュ効果によるものと想定される。
  • ClueWeb09(48 億ノード)において、HyperBall は 875 GiB のメモリと 1 ハイパーログロッグカウンタあたり 256 レジスタを用いて、200 イタレーションの全計算を 422 分で完了した。精度を向上させることで、線形を超えるスケーリング性能を示した。

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

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

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

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