2011-01-14 5 views
0

実行するクラスタ(IPアドレス/マシン名)とプログラム(Java言語)のマシンに関する情報があれば、このプログラムを実行するソフトウェアが存在し、出力を返しますそれぞれのマシンでランタイムを使用していますか?Distributed Program Execution Manager

現在、私はこれを行うためにシェルスクリプトを使用していますが、私はJavaプログラムを実行するのに時間を要しませんでした(秒単位)。上記のような分散プログラム実行マネージャがあれば良いでしょう。

+0

"ランタイムは何ですか?" – skaffman

+0

実行時私は、Javaプログラムを実行するのにかかる時間(秒単位)を意味しました – Raghava

答えて

1

独自のスクリプトを書く代わりに、アプリケーションを複数のノードで並列に実行する場合は、tentakelまたはshmuxなどの単純なコードを使用できます。 tentakelを実行して、アプリケーションの実行に要する時間と出力を得るには、

tentakel 'time <your application name>' 

とすることができます。

+0

提案ありがとうございました:)これらは私が必要とするもののように見えます。私はそれらをチェックアウトします。しかし、これらのツールの開発はずっと停止されているようです。しかし、私は、ここではあまり心配していないと思う。 – Raghava

1

私はそのようなもののためにHudsonを使いたいです。もともとはソフトウェアビルドとテストを実行するために書かれていましたが、それより汎用的です。基本的に、ジョブと実行をクライアントと共に管理し、ノードにデプロイするコントローラ。 Hadoopは、特定の分散コンピューティングフレームワークのためにアプリケーションを書き直す柔軟性がある場合、別のオプションです。

+0

返信いただきありがとうございます。私はHadoopを念頭に置いていました。私は、Hadoopのジョブコントローラのような機能が必要です。すべてのノードでmap&reduceを実行する方法と同様に、マネージャーがすべてのノードでJavaプログラムを実行し、出力を収集するようにします。 – Raghava

+0

ハドソンはあなたのプログラムに変更を加えることなくあなたにそれをさせるでしょう。スレーブがインストールされているホスト上の任意のコマンドを呼び出すことができ、結果(コマンド出力と指定したファイル)はコントローラマシンに返され、そこで必要に応じて見直すことができます。他のジョブの結果に応じてトリガーするジョブをセットアップし、実行する順列などを作成することができます。 –

+0

ありがとうございます。私はハドソンを見ます。 – Raghava

0

あなたの質問は非常にわかりません。どのような「ランタイム」を元に戻したいですか?どのようなクラスタリングソリューションを使用していますか? Javaでの分散通信の場合、JGroupsをお勧めします。分散JVMチェックTerracotta。

+0

私はプログラムを実行するのにかかる時間を得たいと思いますし、プログラムが実行されているクラスター内の各マシンのプログラムの出力を取得したいと思います。クラスタリングのソリューションとはどういう意味ですか? – Raghava