0

Java と Windows OS を使用してクラスター コンピューティング システムを実装しようとしています。私はその解決策を探しています

  1. 古すぎない
  2. インストールとセットアップがかなり簡単です
  3. MPI の予備知識がなくても、クラスとメソッドを使い始めるのに十分なドキュメントがあります。
  4. 少なくともある程度ユーザーフレンドリーです

これは不可能かもしれませんが、Java Concurrent フレームワークに近い使用法があればよいでしょう。

私は最初に Java Concurrent パッケージについて少し学び、Runnable Interface と ExecutorService を使用してローカルの 8 コア マシンで並列プログラムを作成する方法を簡単に学ぶことができ、その過程ですべてのクラスをスレッドセーフにしました。ただし、このプログラミング フレームワークをクラスターに拡張するための標準的なメカニズムはまだ見つかっていません。

その後、Microsoft HPC Pack で使用できるJava-Interop-Library ( https://github.com/MicrosoftHPC/Java-Interop-Library )という GitHub プロジェクトについて知りました。Amazon EC2 経由でいくつかのクラウド コンピューターをネットワーク化し、HPC Pack をインストールしました。Java-Interop-Library をコンパイルしてセットアップするのは悪夢でした。コンパイルするには、いくつかのバッチ ファイルと Java コードを手動で編集する必要がありました。ほとんどの作業が (すべてではありませんが) 完了するまでに、もっと簡単な方法が必要だと考え始め、再び検索を開始しました。

新しい検索により、MPJ-Express ( http://mpj-express.org ) にたどり着きました。サイトのドキュメントを読みましたが、セットアップは簡単に思えます。Eclipse と統合してデバッグする方法についてのドキュメントもあります。しかし、クラスとメソッドが実際にどのように使用されているかについてのドキュメントを見つけることができませんでした (単純な hello world の例がありますが、十分とは言えません)。

さらに検索すると、MPIJava、Hadoop、および GridGain にたどり着きました。MPI や MPJ の経験がなく、MPJ が MPIJava から派生したことを知っていたので、代わりにそのドキュメントを探し始めました。いくつかのドキュメントを見つけましたが、かなり古いものもあり、正しい軌道に乗っているかどうか確信が持てません。StackOverflow の別の投稿で GridGain の言及を見て、彼らの Web サイトにアクセスしました。それらはクラスター コンピューティング フレームワークを持っているようで、投稿された単純な例では、Runnable オブジェクトを使用するクラスのように見えるものさえ使用しています。可能性があるということ以外は、Hadoop については何も知りません。

Java でクラスター コンピューティングを実現するための最良の方法について、より良い方向性が必要です。車輪を回しているだけのような気がします。

4

1 に答える 1

3

MPJ Express を使用することができます。既に使用しており、環境のセットアップは完了していると思います。MPJ Express は、マルチコア モードとクラスター モードの両方で並列 Java アプリケーションを実行できます。同じアプリケーションが変更なしで両方のモードで機能するため、アプリケーションをマルチコア モードで開発およびテストするオプションがあり、完了したらクラスター モードもシームレスに実行されることに注意してください。最終的に何を開発したいかは明確ではありませんが、Java ドキュメントに関する限り、http: //mpj-express.org/docs/javadocs/index.htmlで見つけることができます。これらは、並列 Java アプリケーションを開発するために必要なすべてのクラスとメソッドです。

クラスターの学習 MPJ Express を使用したプログラミングは、包括的な一連の実用的な例にアクセスできるため、非常に簡単です。この目的のために、MPJ Express を解凍し、test ディレクトリを調べます。これには、並列 Java アプリケーションの複数のテスト ケースと動作例が含まれています。それぞれ mpj-v0_xx/test/mpi/pt2pt と mpj-v0_xx/test/mpi/ccl にポイントツーポイント通信と集団通信の例があります。ポイントツーポイントおよび集団通信メソッドを使用するだけで、基本的な並列アプリケーションを開発できます。Java を使用したクラスター プログラミングの学習に有利なスタートを切ることができます。

クラスターで MPJ Express をセットアップする際、またはテスト ディレクトリにあるサンプルを実行する際に問題が発生した場合はお知らせください。次のページの MPJ Express メーリング リストに質問を投稿することもできます: http://sourceforge.net/p/mpjexpress/mailman/?source=navbar

于 2014-06-13T07:42:30.697 に答える