3

MPI (Massage Passing Interface) を使用している (または使用できる) データ マイニング ライブラリはありますか? Apache Mahout に似ているが、MPI 環境に簡単に統合できるものを探しています。

MPIを使いたい理由は(Hadoopに比べて)設定が簡単だからです。それとも、データ マイニングのシナリオで MPI を使用する意味がないのでしょうか?

4

3 に答える 3

4

MPI (これは概念であり、ソフトウェア自体ではありません!) が必ずしも Hadoop/Mahout よりも簡単にインストールできる理由はありません。実際、後者の 2 つは現在混乱しており、特に Java ライブラリのカオスが原因です。Apache Bigtop は、インストールを簡単にするように努めています。いくつかの基本を理解しておけば、問題ありません。

でも:

  • データが小さい (つまり、単一ノードで処理できる) 場合は、クラスター ソリューションをインストールしないでください。オーバーヘッドが発生します。Hadoop は、単一のホストではあまり意味がありません。Weka、ELKI、RapidMiner、KNIME などを使用します。
  • データが大きい場合は、データ転送を最小限に抑える必要があります。これが Hadoop/Mahout の強みであり、データ転送を最小限に抑えます。一般的なメッセージ パッシング API は、データ量の多い操作に対して同じようにスケーリングすることはできません。

Apache Hama など、MPI の IMHO と非常によく似た取り組みがいくつかあります。これはメッセージに基づいていますが、バリア同期によって一括処理されます。また、トラフィックを減らすために、送信前にメッセージを集約する場合もあります。

于 2012-10-04T07:51:24.903 に答える
2

グラフラボを強くお勧めします。現在、Distributed Graph-Parallel API である graphlab には、以下を含むツールキットがあります。

  • トピックモデリング
  • 協調フィルタリング
  • クラスタリング
  • グラフィカルモデル

http://docs.graphlab.org/toolkits.html

GraphLab は、C++ で記述されたグラフベースの高性能分散計算フレームワークです。GraphLab はもともと機械学習タスク用に開発されましたが、他の幅広いデータ マイニング タスクで大きな成功を収めています。他の抽象化よりも桁違いに優れています。

グラフラボの機能:

統合されたマルチコアおよび分散 API: 共有メモリ システムと分散メモリ システムの両方で効率的にライト ワンスを実行します パフォーマンスの調整: 最適化された C++ 実行エンジンは、広範なマルチスレッドと非同期 IO を活用します スケーラブル: GraphLab は、洗練された新しいアルゴリズムを使用してデータと計算をインテリジェントに配置します HDFS 統合: アクセスHDFS の強力な機械学習ツールキットから直接データを取得: BigData を実用的な知識に簡単に変換

于 2012-10-19T08:24:38.560 に答える
0

このアイデアは意味がなく、誤解があると思います。MPIは密結合システム向けであり、99%は外部の場所にメッセージを送信しないと確信していますが、MPIを使用してデータを処理または分析することはできます。より迅速に(ハードウェアによって異なります)。私の2セントは、 AMQPプロトコルのオープンソース実装の1つを使用する方が良いということです。つまり、zeromqが最善の策であり、Rまたはpythonで取得するすべてのデータを処理するか、データセットが非常に大きいMPIである場合です。もう1つのオプションは、MPIが接続され、実行されているさまざまなマシンでシリアルライブラリを呼び出すことができ、それらがすべてインターネットに個別に接続されている場合です。RはMPIで呼び出すのが本当に簡単で、Pythonもそうです。

于 2012-10-04T05:21:11.990 に答える