いくつかの「簡単な質問」:
MapReduceパラダイムでリキャストできるアルゴリズムのタイプ/クラスは何ですか?(たとえば、k-meansにはMR実装があります)
このように表現できないものはありますか?
どのアルゴリズムの特性により、MRパラダイムで再キャストするのが魅力的/複雑でなくなるか
助けてくれてありがとう。
最大。
いくつかの「簡単な質問」:
MapReduceパラダイムでリキャストできるアルゴリズムのタイプ/クラスは何ですか?(たとえば、k-meansにはMR実装があります)
このように表現できないものはありますか?
どのアルゴリズムの特性により、MRパラダイムで再キャストするのが魅力的/複雑でなくなるか
助けてくれてありがとう。
最大。
Map Reduceパラダイムは、「驚異的並列」、つまり2つのタスク間に依存関係がない問題に最適です。ウィキペディアの驚異的並列の記事をチェックしてください。
また、操作が可換または連想的である場合、MapReduceプログラムを簡単に最適化してパフォーマンスを向上させることができます。
私は、MPIの世界から来たビッグデータアルゴリズムのコレクションについて、これらの同じ質問に取り組んでいます。これが私の見解です。
MR製剤の基本的なパイプラインは、拡大/縮小のようです。マップは大きなセットに適用され、場合によってはさらに大きなセットが作成されます。次に、reduceを使用してそのセットを並べ替え/整理し、統合されたデータセット(できればはるかに小さい)に集約できるようにします。必要なマップと削減の数は、MRアルゴリズムの巧妙さです。
一般的な計算アプローチとして、MRを使用した計算問題を解決できますが、実用的な観点からは、MRのリソース使用率は、同時I/O要件が高い計算問題に偏っています。単語数のような驚異的並列アルゴリズムは確かにその法案に適合しますが、それよりも広いです。たとえば、k-meansアルゴリズムは制約最小化問題であり、誰も驚異的並列として分類されませんが、それでも効率的なMR定式化があります。
私の現在の正式なフレームワークは、5つの属性の観点から分散コンピューターシステムを特徴づけています。
SSDがPCIeを介して統合されている場合に限り、回転vs SSDストレージテクノロジーはパフォーマンスに大きな影響を与えるため、ディスクパフォーマンスは私がまだきれいに組み込むのに苦労しています。がSASまたはSATAを介して統合されている場合は、インターフェイスの制限に達し、回転によってそのインターフェイスも簡単に飽和する可能性があります。その場合、SSDの優れたレイテンシーのみがパフォーマンスの向上に役立ちますが、それはより小さなデータセットとより小さなデータレコードにのみメリットがあります。したがって、今のところ、真のビッグデータの問題があり、データをコスト効率よく格納するためにローテーションストレージが必要であると仮定しましょう。
MapReduceは、その拡張/縮小フローで上記の分散リソースのリストを使用します。プロセッサ+メモリ+ディスクを使用してマップ機能を実行し、ネットワークのパフォーマンスに大きく依存してreduce機能を実行します。サーバーを追加するとプロセッサ+メモリ+ディスクリソースが拡張されるため、残念ながら、ネットワークパフォーマンスは容量がわずかに増加するだけで、遅延パフォーマンスは低下します。ネットワーク遅延は分散システムで最小化するのが非常に難しいパフォーマンス特性であるため、MRアルゴリズムは、帯域幅中心のオペレーター、つまり、独立した数十億の小さなパケットを持つアルゴリズムに最も効果的です。
偏微分方程式ソルバー用の効率的なMRアルゴリズムや、整数計画法などの最適化アルゴリズムが存在するかどうかについての洞察を探しています。FutureGridをやっている人々から素晴らしいグラフィックを見つけました: