問題タブ [mpj-express]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
209 参照

ubuntu - MPJ Express がハングする

mpj Linux ガイドの付録 Aで説明されているように、ランタイムなしでクラスター モードでMPJ Expressを実行しようとしています。

私のクラスには渡す必要のあるいくつかのコマンドライン引数があり、このスクリプトはそれを受け入れないため、 runmpj.shスクリプトを使用できません。したがって、私の唯一の賭けは、コマンドで実行することです

java -cp .:$MPJ_HOME/lib/mpj.jar World mpj.conf niodev

しかし、これを行うと、コマンドライン引数をさらに待っているかのように、コンソールが単にハングし、さらに引数を追加しようとしても何も変わらないようです。私のプラットフォームは、 Ubuntu Linaro を実行するARM Cortex-A9です。このマシンは mpj ミドルウェアでサポートされていないため、mpjbootまたはmpjrunスクリプトを使用できません。

考えられる理由について何か考えはありますか?

0 投票する
1 に答える
432 参照

java - mpjboot 使用時の MPJ -Express エラー

MpJ-Express 用に Linux クラスターを構成しようとしています。PATH と MPJ_HOME を正しく設定しました。

コマンド mpjboot マシンを実行すると

次のメッセージが表示されます。

java.lang.ArrayIndexOutOfBoundsException: 1 at runtime.starter.PortScan.main(PortScan.java:42) mpjboot は、ヘッド マシンでポートがビジーであることを検出しました。2 つの可能性があります: (1) デーモンが既に実行されている可能性があります... (2) デーモンが実行されていない場合は、:/home/actdir の wrapper.app.parameter.2 プロパティを変更して別のポートを設定します。 /mpj-v0_38/conf/wrapper.conf ファイル

マシン ファイルには、ホスト名が含まれているはずです。ホスト名を変更してポート番号の使用法を確認しても、同じエラーが発生します。

エラーについて教えてください。

0 投票する
1 に答える
1265 参照

java - MPJ Express の送受信 - ClassCastException

私はこれを見てきましたが、オブジェクトではなくプリミティブを扱っているため、あまり役に立ちませんでした。これは、余分なセクションであるプロジェクトの一部にすぎません。このままでもいいけど、頑張ってほしい。

正常にコンパイルされていますが、実行すると、20 行目で ClassCastException が発生します。

私はこのCバージョンから変換しています

0 投票する
1 に答える
255 参照

spn - MPJ-Express エラー mpjdev.MPJDevException: Comm.irecv() で、要求されたソース 1 がサイズ 1 のコミュニケーターに存在しません

http://alchemy.cs.washington.edu/spn/にある Sum Product Network コードを実行しようとしています。

これを自分の Mac (ver 10.8.4) で実行しようとすると、次のエラーが発生します。

これは、私が与える np の任意の値に対して発生します。これは SPN コードの問題ではなく、MPJ-Express で行っていることだと思います。MPJ-Express のバージョン 0.40 と 0.37 の両方を試しましたが、同じ結果が得られました。

御時間ありがとうございます。

0 投票する
1 に答える
1534 参照

java - Java での高性能クラスター コンピューティング (および MPI)

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

0 投票する
2 に答える
3087 参照

mpi - Message Passing Interface を使用して文字列の配列を送信する

Messgae Passing Interface (MPI) を使用して、文字列の配列をマスターからスレーブ スレッドに送信したいと考えています。つまり、文字列 [] str = 新しい文字列 [10] str[0]= "XXX" ... など

この配列の各要素を文字のチェーンとして送信することを避けながら、どうすればそれを行うことができますか?

1回の送信操作で整数の配列を送信することに成功しました...しかし、文字列の配列についての場合、それを行う方法がわかりません

0 投票する
1 に答える
311 参照

mpi - MPI でより良い値をブロードキャストする

MPI(Java実装)で小さなプログラムを書きたい 変数x(double変数)を宣言しています。スレッドは変数を変更しようとします (ランダムな変更としましょう)。スレッド i が古い値よりも小さい X の新しい値を見つけると、変数 X の値を更新できるように、他のスレッドへのブロードキャストが行われます。

MPI で Bcast 関数を見てきましたが、すべての例で、変数が変更されているかどうかに関係なく、すべてのスレッドによって呼び出されていました。

0 投票する
0 に答える
2139 参照

java - Java から起動すると外部プログラムの実行が遅くなる

getRuntime().exec(...) メソッドを使用して Java からアプリケーションを起動していますが、1 つのことを除いてすべてが完全に機能します。つまり、タスクを実行する場合、Java からシミュレーターを起動すると、同じタスクを端末から起動した場合よりも 10 秒多くかかることがあります。

この動作の原因は何ですか?

-Xmx と -Xms を使用して JVM で使用できるメモリを 4 GB に増やしてみましたが、同じ結果で、mpj-express を使用してさまざまなシミュレーターを同時に開いて管理しています。シミュレーターは次のとおりです。

8 GB の RAM を搭載した 4 コアの Intel Core i5 で Linux 14.04 64 ビットを実行しています。Java のバージョンは次のとおりです。

ありがとう