2

私の質問は、サーバーを使用してネットワーク全体でタスクを明示的に共有し、各コンピューターに個別にジョブを割り当てて「負荷を共有する」要求の厳しいネットワーク アプリケーションで作業するときに熟考したものです。

私は疑問に思いました: これはもっと暗黙的な方法で行うことができますか?

質問

ジョブのプログラムやプロセスを各コンピューターにインストールする必要なく、ジョブをより効率的に実行するために、コンピューターの任意のパブリック ネットワークの周りにプロセッサ集中型のタスクを分散させる可能性はありますか?

シナリオ

1 から 10,000,000 までのすべての数値のすべての素因数分解をコンピューターに計算させ、それらをデータベースに保存しようとしている、途方もなく集中的な数学シナリオがあるとしましょう (スペースがあり、アルゴリズムが既に実装されていると仮定します)。独自のクラス、プログラム、ダイナミック リンク ライブラリ、または任意の実行可能なプロセスで。)

この負荷のかかるプロセスをネットワークまたはマルチコア スーパー コンピューターで共有する方が効率的ですが、どちらもコストがかかります。私の知る限り、特定のアルゴリズムを実行するために特別に設計されたプログラムが必要であり、そのプログラムを上記のクラウド/分散コンピューティング ネットワーク全体にインストールし、サーバーで各コンピューターが何を行っているか (つまり、現在計算している数) を追跡する必要があります。の素数)。

結論

全体:

  • 不特定の種類のプロセスのプロセッサ時間を共有できるクラウド プログラム/OS/スイートを作成することは可能でしょうか?

  • もしそうなら、それをどのように実装しますか? どこから始めますか?

  • 特定されていない非明示的なタスクを実行できるようにするための専用の OS を作成しますか?それとも、一般的なコミュニティを支援するためにプロセッサ クロックの割合を喜んで共有するボランティアのコンピューターにインストールされたクラウド対応プログラムで行うことが可能でしょうか)。 .

  • これが実現可能であるとしたら、より大きなクラウドの自発的な一部になりますか?

これは素晴らしいプロジェクトなので、皆さんの考えと考えられる解決策をぜひお聞きしたいと思います。

4

3 に答える 3

2

私は過去数ヶ月間同じ課題に取り組んできました。これまでの私の結論:

クラウドコンピューティングにパブリックネットワーク(インターネット)を使用する際の主な問題は、NATとファイアウォールを介してコンピューターをアドレス指定することです。これを解決することは簡単ではありません。

すべての参加者にファイアウォールでポートを開き、ポート転送用にルーターを構成するように依頼することは、一般に95%のユーザーに依頼するには多すぎて、深刻なセキュリティ上の脅威をもたらす可能性があります。

解決策は、すべてのピアが自分自身を登録し、他のピアと連絡を取ることができる登録サーバーを使用することです。接続はサーバーによって開いたままになり、通信はサーバーを介してルーティングされます。いくつかのバリエーションがあります。ただし、すべてのシナリオで、これにはすべてをスケーラブルに保つために膨大なリソースが必要であるため、大企業以外の誰もが手の届かないところにあります。

より実用的なソリューションは、Azure(.Netの場合)や.NetServiceBusなどの商用クラウドプラットフォームによって提供されます。すべてがクラウドで実行されるため、NATやファイアウォールの背後にあるコンピューターに到達するのに問題はありません。「オンプレミス」コンピューターやクライアントのコンピューターに到達する必要がある場合でも、ServiceBusを介してこれを行うことができます。

于 2010-08-17T13:21:41.473 に答える
1

他人のコードが自分のコンピューターで実行されることを信頼できますか?

彼らの許可を求めない方が実際的です: ;)

私はかつて、Haxe で書かれたプログラミング コンテスト ソルバーを友人のかなり人気のある Web サイトの Flash バナーに書きました...

于 2010-08-17T12:21:31.403 に答える
1

「特定されていないタイプのプロセスにプロセッサ時間を共有する」ことを許可するプログラムは期待できません。プロセッサ時間を共有するための前提条件は、タスクを複数のサブタスクに分割できることです。

分割可能なタスクのプロセッサ時間を自動的に共有できるようにするには、タスクをサブタスクに分割する方法を知っているほど賢い AI プログラムが解決の鍵となりますが、これは現実的ではないようです。

于 2010-08-17T14:32:24.520 に答える