アプリケーションインスタンスが複数のコンピューターで実行されるシナリオはありますか?

StackOverflow https://stackoverflow.com/questions/439714

質問

単一のアプリケーションインスタンスが複数のコアと複数の物理プロセッサを使用できることを知っています。クラウドとクラスターコンピューティング、またはその他の特別なシナリオでは、単一のスタンスが複数のコンピューターまたは複数のOSインスタンスで実行できるかどうかはわかりません。

これは私にとって重要です。悪いプログラミングと見なされることに加えて、静的な(C#のように)(グローバル)変数を使用します。コンピューター間で共有されます。

更新具体的には、.NETアプリケーションを作成します。このアプリケーションには、アクティブなIP接続の数をカウントする変数が1つあり、接続の数がコンピューターごとの制限を超えています。コンピューターごとに変数のインスタンスが1つある場合、そのアプリケーションをクラウドコンピューティングホストに展開するかどうかが心配です。

役に立ちましたか?

解決

そのようなシナリオ(複数のコンピューターにまたがる単一のインスタンス)を実現する方法を学びたい場合、 MPI

  

これは、事実上の標準になりました   プロセス間の通信   で実行される並列プログラムをモデル化する   分散メモリシステム。

心配事について:明らかに、プログラムを何らかの方法で意識的に変更して、複数のコンピューターで1つのインスタンスとして実行する必要があります。それ以外の場合、コースの共有は行われず、シャイな書き込み、心配することはありません。このようなことは自動的には行われません。

他のヒント

使用しているプログラミング環境(言語)は何ですか?静的なものを正確に定義する必要があります。手段。ほとんどの場合、MPIやRPCなどの明示的なチャネルを介した場合を除き、異なるコンピューター間で情報を共有することはできません。

ただし、抽象化された高レベル環境は、「複数のコンピューターで実行する」という概念を隠すように設計されている場合があります。あなたから完全に。クラスター上で実行でき、異なる物理マシン間で静的変数を実際に共有する仮想マシンを設計することも考えられますが、この場合、プログラムは単一の仮想マシンで実行され、1つ以上の物理マシンで実行する必要があります違いはありません。

これが起こる状況を想像することさえできないなら、なぜあなたはそれを心配していますか?

通常、これは何らかのRPCを含むシナリオで発生する可能性があります。

まあはい、distccがあります。配布されているGCCコンパイラです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top