Skip to main content
QUICK REVIEW

[論文レビュー] Complexity Measures for Map-Reduce, and Comparison to Parallel Computing

Ashish Goel, Kamesh Munagala|arXiv (Cornell University)|Nov 28, 2012
Cloud Computing and Resource Management参考文献 6被引用数 30
ひとこと要約

この解説論文は、PRAMのような従来の並列モデルとは異なり、Map-Reduceの形式的複雑性測度を導入する。Map-Reduceのシャッフルフェーズが低メモリコストで効率的な集約を可能にすることを示しており、これはPRAMとは根本的に異なり、従来の並列モデルでは非効率な可能性があるアルゴリズムを可能にする。

ABSTRACT

The programming paradigm Map-Reduce and its main open-source implementation, Hadoop, have had an enormous impact on large scale data processing. Our goal in this expository writeup is two-fold: first, we want to present some complexity measures that allow us to talk about Map-Reduce algorithms formally, and second, we want to point out why this model is actually different from other models of parallel programming, most notably the PRAM (Parallel Random Access Memory) model. We are looking for complexity measures that are detailed enough to make fine-grained distinction between different algorithms, but which also abstract away many of the implementation details.

研究の動機と目的

  • 工学的および理論的コミュニティ間でMap-Reduceアルゴリズムのパフォーマンスを議論するための共通の用語を確立すること。
  • Map-Reduceが並列計算の再ブランド化に過ぎないかどうかを、特にPRAMモデルと比較して明確にすること。
  • Map-Reduceにおけるパフォーマンスのボトル neck を捉える複雑性測度を形式化し、低レベルの実装詳細から抽象化すること。
  • シャッフルフェーズの集約機能が、従来の並列モデルでは捉えきれないパフォーマンス優位性を提供することを強調すること。
  • Map-Reduceが、メモリおよびフェーズ構造の違いにより、PRAMでは非効率な可能性がある問題に対して効率的なアルゴリズムを可能にすることを示すこと。

提案手法

  • 主に2つの複雑性測度を提案:キー複雑性(マッパー/リデューサごと)と逐次複雑性(すべてのマッパーおよびリデューサにわたる集約)。
  • キー複雑性は、任意のマッパーまたはリデューサが処理する1つのキー・バリュー・ペアあたりの最大サイズ、実行時間、メモリ使用量を追跡する。
  • 逐次複雑性は、すべてのマッパーおよびリデューサにわたる総入出力サイズおよび総実行時間の集約を表す。
  • フェーズとキー複雑性の区別を導入することで、キーごとの逐次計算を並列性から分離可能にする。
  • シャッフルフェーズを、アルゴリズムに課さないディスクベースの集約ステップとしてモデル化し、Hadoop風の実装に即した実態を反映する。
  • Map-ReduceとPRAMの間のメモリと通信のトレードオフを分析し、ストリーミングリデューサを用いることでMap-Reduceは1リデューサあたり$O(1)$のメモリで実現可能であるのに対し、PRAMは$N$ノードに対して1マシンあたり$O(N/K)$のメモリを要することを示す。

実験結果

リサーチクエスチョン

  • RQ1微細な複雑性指標を用いて、異なるMap-Reduceアルゴリズムのパフォーマンスを形式的に測定・比較する方法は何か?
  • RQ2両者とも並列計算モデルであるにもかかわらず、Map-ReduceモデルはPRAMモデルと根本的にどのように異なるか?
  • RQ3Map-Reduceが特定のワークロードに対してPRAMよりも優れたメモリ効率を達成する理由は何か?この差は複雑性モデルでどのように捉えられるか?
  • RQ4シャッフルフェーズの集約機能が、従来の並列モデルにないパフォーマンス優位性を提供する程度はどの程度か?
  • RQ5Map-Reduceは、独自のフェーズ構造およびメモリ構造のおかげで、PRAMモデルでは非効率なアルゴリズムが存在する問題を効率的に解けるか?

主な発見

  • K個のリデューサを用いたMap-Reduceは、ストリーミングリデューサを用いることで1リデューサあたり$O(1)$のメモリで実現可能であるが、PRAMではNノードに対して1マシンあたり$O(N/K)$のメモリを要する。
  • Map-Reduceにおけるすべてのリデューサの合計メモリ使用量は$O(K)$であり、これはNノードに対して$O(N)$の合計メモリを要するPRAMに比べて顕著に低い。
  • シャッフルフェーズのディスクベースの集約は、複雑性モデルにおいて無料として扱われる。これは、システムレベルの最適化であり、集約コストをアルゴリズムコストから分離していることを反映している。
  • 合計や最大値などの集約操作では、マッパーで局所的に結合することでキー複雑性が$O(1)$となり、実際には無視できるほど小さい。
  • Map-Reduceでは、入力サイズnに対して$O(\sqrt{n})$のキー複雑性と$O(\log n)$のフェーズ数の間でトレードオフが可能であるが、これはPRAMモデルでは非効率に表現できない。
  • このモデルは、メモリおよびフェーズ構造の制約によりPRAMでは非効率な可能性がある問題を、Map-Reduceが効率的に解けることを明らかにしている。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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