1

Javaで書かれた互いに独立した個々のタスクを取り、LANを介してコンピューターでタスクを実行してタスクを効率的に解決するプロジェクトがあります。タスクがスレッド セーフである場合、タスクはスレッドとして実行されます。それ以外の場合は、新しい JVM (元のコンピューターで決定される) として実行され、結果は元のコンピューターに返されて出力されます。

この件についてググってみましたが、グリッド、クラスター、分散コンピューティングの間で混乱し続けています。上記のシナリオでは、これらのうちどれを使用する必要がありますか?

LAN上のコンピューターはWindows 7を実行していることに注意してください。つまり、私が見つけた解決策が何であれ、Windowsで実行する必要があります(一部の解決策は* nixのみである可能性があります)。

4

1 に答える 1

4

あなたが言及した3つの単語の間であなたがどのように混乱するかは理解していますが、それらを互いに比較することはできません。その理由を説明させてください。

ウィキ:

クラスター:コンピューター クラスターは、多くの点で単一のシステムと見なすことができるように連携して動作する、疎結合または密結合のコンピューターのセットで構成されます。

グリッド:グリッド コンピューティングは、共通の目標を達成するために複数の場所からコンピューター リソースを収集することです。

分散コンピューティング:分散コンピューティングは、分散システムを研究するコンピューター サイエンスの分野です。分散システムは、ネットワーク化されたコンピューター上に配置されたコンポーネントがメッセージを渡すことによって通信し、それらのアクションを調整するソフトウェア システムです。

  1. したがって、基本的にクラスターは (ネットワークまたはソフトウェア層で) 1 つのコンピューターとして機能する多数のコンピューターです。
  2. グリッド(計算)はクラスターを使用してタスクを実行します。
  3. 分散コンピューティングは、タスクを実行する 1 つの方法です。

ここで必要なのは、そのようなタスクに Hadoop または Apache Spark を使用するか、そのような目的でメモリ内 DataGrid を使用することですが、何をしているのか正確にわからない限り、やり過ぎかもしれません。

于 2015-09-06T15:22:10.917 に答える