Java と Windows OS を使用してクラスター コンピューティング システムを実装しようとしています。私はその解決策を探しています
- 古すぎない
- インストールとセットアップがかなり簡単です
- MPI の予備知識がなくても、クラスとメソッドを使い始めるのに十分なドキュメントがあります。
- 少なくともある程度ユーザーフレンドリーです
これは不可能かもしれませんが、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 でクラスター コンピューティングを実現するための最良の方法について、より良い方向性が必要です。車輪を回しているだけのような気がします。