Skip to main content
QUICK REVIEW

[論文レビュー] Finding Connected Components on Map-reduce in Logarithmic Rounds

Vibhor Rastogi, Ashwin Machanavajjhala|arXiv (Cornell University)|Mar 24, 2012
Graph Theory and Algorithms参考文献 14被引用数 4
ひとこと要約

本稿では、対数的ラウンド数で動作する大規模グラフの連結成分を計算する2つの新しいマップ・リダース・アルゴリズム—Hash-Greater-to-Min および Hash-to-Min—を提案する。ランダム化ハッシュと2段階ソーティングを活用してクラスタのマージを効率的に行うことで、両アルゴリズムとも $O(\log n)$ ラウンド、ラウンドあたり線形通信量を達成し、特にデータの偏りが大きく、メモリ制約がある環境下でも、従来の手法を著しく上回る性能を発揮する。

ABSTRACT

Given a large graph G = (V,E) with millions of nodes and edges, how do we compute its connected components efficiently? Recent work addresses this problem in map-reduce, where a fundamental trade-off exists between the number of map-reduce rounds and the communication of each round. Denoting d the diameter of the graph, and n the number of nodes in the largest component, all prior map-reduce techniques either require d rounds, or require about n|V| + |E| communication per round. We propose two randomized map-reduce algorithms -- (i) Hash-Greater-To-Min, which provably requires at most 3log(n) rounds with high probability, and at most 2(|V| + |E|) communication per round, and (ii) Hash-to-Min, which has a worse theoretical complexity, but in practice completes in at most 2log(d) rounds and 3(|V| + |E|) communication per rounds. Our techniques for connected components can be applied to clustering as well. We propose a novel algorithm for agglomerative single linkage clustering in map-reduce. This is the first algorithm that can provably compute a clustering in at most O(log(n)) rounds, where n is the size of the largest cluster. We show the effectiveness of all our algorithms through detailed experiments on large synthetic as well as real-world datasets.

研究の動機と目的

  • マップ・リダースにおける連結成分計算において、ラウンド数と通信コストの根本的トレードオフを解消すること。
  • 非常に大きな連結成分を含むグラフに対しても、$O(\log n)$ ラウンドで完了し、ラウンドあたりの通信量を抑えた効率的でスケーラブルなマップ・リダースアルゴリズムを設計すること。
  • クラスタのマージ中に全クラスタをメモリ上に保持する必要を回避することで、大規模グラフ処理におけるメモリ制約とデータの偏り問題を克服すること。
  • 提案手法を単一リンクアグロメラティブクラスタリングに拡張し、初めて $O(\log n)$ ラウンドで実行可能なマップ・リダースでのクラスタリングを実現すること。
  • 実験を通じて、共有で混雑したクラスタ環境下で、提案アルゴリズムが既存のマップ・リダースおよびBSPベースの手法を上回ることを示すこと。

提案手法

  • Hash-Greater-to-Min では、PRAMアルゴリズムを模倣するためにランダム化ハッシュ戦略を用い、各クラスタが正確に1回だけ複製されるように保証することで通信量を最小限に抑える。
  • マップ・リダースにおける2段階ソーティングを活用し、クラスターキーごとにソート済みのノードリストを維持することで、クラスタマージ時に完全なクラスタの保持を伴わずにメモリ上での重複削除を実現する。
  • PRAM文脈におけるポインタ・ダブルイング技術を応用し、グラフ上の距離を対数的ラウンド数で効率的にクラスタIDを伝搬する。
  • Hash-to-Min は、パスグラフに対して $O(\log n)$ ラウンドで終了することが保証された新規アルゴリズムであり、非タイトなが新しい証明技法を用いている。
  • 同様のマージおよびソーティング戦略を応用し、単一リンクアグロメラティブクラスタリングのための Hash-to-All および Hash-to-Min の変種を設計することで、フレームワークをクラスタリングに拡張する。
  • マッパーがクラスタIDを添付したノードを出力し、リデューサーがソート済みノードリストをマージして重複を除去するハイブリッドアプローチを採用する。

実験結果

リサーチクエスチョン

  • RQ1マップ・リダースにおいて、ラウンドあたり線形通信量を維持しながら、$O(\log n)$ ラウンドで連結成分を計算できるか?
  • RQ2全クラスタをメモリ上に保持せずに、大きな連結成分を効率的にマップ・リダースで処理する方法は何か?
  • RQ3従来の $\Theta(d)$ ラウンドまたは $\Theta(n|V|+|E|)$ 通信量を要する手法よりも、マップ・リダースアルゴリズムの性能を向上させられるか?
  • RQ4単一リンククラスタリングにおいて、$O(\log n)$ ラウンドで完了するマップ・リダースクラスタリングアルゴリズムを設計できるか?
  • RQ5共有で混雑したクラスタワークローディング環境下で、マップ・リダースはバルク同期並列(BSP)モデルに比べてスケーラビリティに優れているか?

主な発見

  • Hash-to-Min は実際には最大 $2\log d$ ラウンドで完了し、ラウンドあたり $3(|V|+|E|)$ の通信量を示すが、理論的バインディングがややタイトでないにもかかわらず、Hash-Greater-to-Min よりも高速に動作する。
  • パスグラフに対して $O\left(\log n\right)$ ラウンドで終了することが保証され、非タイトなが実際の挙動を的確に捉えた新しい証明技法が用いられている。
  • 実験により、Hash-to-Min は合成データおよび MovieW や BizW といった実世界のデータセットにおいて、Hash-Greater-to-Min よりも高速であることが示された。
  • 共有で混雑したクラスタ環境下では、マップ・リダースに Hash-to-Min を適用した場合、BSP(例:Giraph)よりもスケーリングに優れ、mr-15 は約20分で完了したが、bsp-15 は1時間以上かかっており、BSPにおけるジョブレベルの並列性の欠如が要因である。
  • 2段階ソーティングの活用により、クラスタマージ時に完全なクラスタの保持を伴わず、重複削除を効率的に行えるようになり、メモリ制約とデータの偏り問題を解決した。
  • 本稿は、単一リンククラスタリングにおいて $O(\log n)$ ラウンドで完了する最初のマップ・リダースアルゴリズムを提示した。Hash-to-Min は $O(\log d)$ ラウンド、ラウンドあたり $O(|V|+|E|)$ 通信量を要するものと予想されている。

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

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

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

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