アプリケーションインスタンスが複数のコンピューターで実行されるシナリオはありますか?
-
22-07-2019 - |
質問
単一のアプリケーションインスタンスが複数のコアと複数の物理プロセッサを使用できることを知っています。クラウドとクラスターコンピューティング、またはその他の特別なシナリオでは、単一のスタンスが複数のコンピューターまたは複数のOSインスタンスで実行できるかどうかはわかりません。
これは私にとって重要です。悪いプログラミングと見なされることに加えて、静的な(C#のように)(グローバル)変数を使用します。コンピューター間で共有されます。
更新具体的には、.NETアプリケーションを作成します。このアプリケーションには、アクティブなIP接続の数をカウントする変数が1つあり、接続の数がコンピューターごとの制限を超えています。コンピューターごとに変数のインスタンスが1つある場合、そのアプリケーションをクラウドコンピューティングホストに展開するかどうかが心配です。
他のヒント
使用しているプログラミング環境(言語)は何ですか?静的なものを正確に定義する必要があります。手段。ほとんどの場合、MPIやRPCなどの明示的なチャネルを介した場合を除き、異なるコンピューター間で情報を共有することはできません。
ただし、抽象化された高レベル環境は、「複数のコンピューターで実行する」という概念を隠すように設計されている場合があります。あなたから完全に。クラスター上で実行でき、異なる物理マシン間で静的変数を実際に共有する仮想マシンを設計することも考えられますが、この場合、プログラムは単一の仮想マシンで実行され、1つ以上の物理マシンで実行する必要があります違いはありません。
これが起こる状況を想像することさえできないなら、なぜあなたはそれを心配していますか?
通常、これは何らかのRPCを含むシナリオで発生する可能性があります。
まあはい、distccがあります。配布されているGCCコンパイラです。