2011-01-06 10 views
1

私はサイバネティクス学部の学生で、Javaを使用して1つのプロジェクトを作成したいと考えています。 私は分散コンピューティングのためのシステムを作りたいと思っています。
1.ユーザのメインプログラム(各具体的な状況で異なる)
2.ユーザーのタスクプログラムのみ(いずれの場合にも異なる)いくつかの小さなタスク
3を解決することができます:それは意志分散計算のためのシステムを作成するにはどうすればよいですか?

は、次のコンポーネントが含まれています。ユーザーのメインプログラムと対話して解決する必要があるタスクを教えてください。 4.ユーザーのタスクプログラムとやりとりしてデータを入力し、出力データを取得する私のプログラム 5. Apache Tomcatと私のサーブレット+データベースでは、これですべて次のものが許可されます:

    ノード
  • から送信されるメインプログラムからDBタスクシステムにおいて
  • レジスタメインプログラムと計算ノード
  • 保存、タスクの結果を保存するには、(解決方法多くのタスク、どのように多くのノードシステムにおけるいくつかの統計情報を見るとなど)

このシステムの設計に関するいくつかのアイデアを教えてください。 私の知っているJavaプログラムは、ローカルマシン上のユーザーのプログラムとどのようにやりとりできますか(私はデータ交換を意味します)。

P.S.ありがとう、私の英語を残念に思って、私自身のシステムを書くことを覚えています。(私は既存のソリューションを使用できません)

+0

既存のアプリケーションを使用できないのはなぜですか? – Davidann

+0

既存のアプリケーションはシステムについてのアイデアを提供し、それらに関するディスカッションによって、動作するものに関する情報が追加されます。だから、他の人から学ぶことで始まり、実際にこれを知っている人は、既存のシステムを書いたり使ったりしています。 – Mark

+0

私はアイデアのために既存のアプリケーションを使うことができますが、私はゼロから自分自身を作成し​​たいと思っています:) – Timmy

答えて

0

分散リモートマシンのナットとボルトを理解するプログラミング。

http://download.oracle.com/javase/tutorial/rmi/index.html

+1

RMIを起動することはお勧めしません。それはそれ自身の特定の用途を持っていますが、それは理解するのが複雑で、起きて走っていくクマです。すべてがちょうどセットアップされなければならず、追加のライブラリやソフトウェアなしでは分散処理には適していません。 –

+1

完全に同意します:)ここではハープの講義を見ました。 http://vimeo.com/3584610 – Will

0

学習の概念については、私はどのようにHadoop作品を勉強お勧めします。あなたはトンを学ぶでしょう!

0

ネットワーク化されたシステムの速度は、主に各ノードの自律性(つまり、新しいデータへの依存度)、およびプロセスの分散さえどの程度に依存しますか。あなたのソリューションは、必要に応じてマルチプロセッシングモデルに似ていると私は信じています。

+0

私は今考えているように、各ノードは非常に自律的であり、中央ノードとのみ通信して新しいタスクを取得し、解決されたタスクの結果を送信します。プロセスの流通はどうですか、私は自分のシステムに接続するためにインターネットからローカルのネットからコンピュータを許可したいと思います。 (したがって、リアルタイムでタスクを解決する必要がある場合は、ローカルネットを使用します)。 – Timmy

+0

プロセスの配布はソケットを通して行うことができます。ブロードキャストパケットは一度に多くのストリームを開くコストを軽減しますが、大量に、または一度に1つずつ、すべてのパケットを確認するカスタムハンドシェイクが必要です。一方、サーバーまたはプロセスマネージャは、一度に特定の数のストリーム接続を受け入れ、ノードを使用して接続を再試行できます。プロセスを配布する場合、私はrun()を呼び出す直前に、スレッドを拡張しているオブジェクトに引数を渡すように、各ノードに依然として具体的な形式で作業を送ります。 – motoku

2

LindaおよびJavaSpacesを読んでください。次に、Apache HadoopMapReduceを読んでください。それは、これらのことに取り組む方法について、あなたにいくつかのアイディアを与えるはずです。

+0

+1 JavaSpaceはジョブリクエストとレスポンスのメッセージを渡すのに最適です。大量のデータを前後に送信しない限り、正常に動作します。 –

+0

ありがとうございます。私は大きなデータ(例えば大きな画像処理)を扱うことを計画していますが、このシステムではハミルトンの方法をグラフ上で見つけたり、ブルートフォースMD5ハッシュなどを探したりすることも可能ですデータ)。 – Timmy

関連する問題