ここにいくつかの質問があります、私があなたに私を啓発できることを望みます。
- 2台のコンピューターの処理能力を組み合わせることは可能ですか?
- どうすればいいのですか?
ここにいくつかの質問があります、私があなたに私を啓発できることを望みます。
回答:
実行中のプログラムが2番目のマシンを使用してコードを実行できる場所は、CPUが互いに通信したりアクセスしたりすることなく論理的に分離されているため、透過的ではありません。
それは、処理能力を組み合わせることができないという意味ではありません。
セカンダリコンピューターを何らかの方法で利用したい場合、リモートコンピューターを制御できることが重要です。これを行う2つの方法は、ある種のリモートアクセス(RDP、VNC)を使用する方法、または相乗効果+のような方法を使用する方法です。
私の最も使用されている行の1つ-はいといいえ!
はい、可能です-この方法で動作するように設計された特定のアプリケーションの場合。(一般にクラスターとして知られている- 詳細はこちら)
いいえ(少なくとも私の知る限り)、市販のコンピューターを2台取り出し、それらを「結び付け」て、結合されたメモリー、処理能力、その他すべてを取得することはできません。
とても可能です!しかし、あなたの質問の単純さから判断すると、魔法のようにコンピューターを2倍速くするプログラムを単に実行したいと思いますが、これは不可能です。
プログラムを実行すると、CPUを起動してHDD、RAM、CPUレジスタ間でメモリを移動し、さまざまなコンポーネント(ビデオカードやネットワークカードなど)のアドレスを移動することで状態を維持することを理解する必要があります。他のコンピューターのCPUを使用して問題が発生するのは、同じメモリーにアクセスする必要があるということです。また、コンピューターのメモリのミラーイメージを別のコンピューターに保持すると、オーバーヘッドが非常に大きくなるため、パフォーマンスを上げるために別のコンピューターを追加しようとする目的を簡単に破ってしまいます。
しかし、複数のコンピューター間で分割できるものの種類は、イメージレンダリングまたは独立して動作できるいくつかの数学的な計算です。
探しているのが2台のPCの処理能力を1つに結合する方法である場合、「最も簡単な」方法は、VMWare ESXiなどのソフトウェアを使用して、両方を仮想マシンホストとして構成することです(あらかじめご了承くださいデバイスに互換性のあるハードウェアを持たせる)、リソースグループまたはクラスターを作成し、両方のコンピューターのリソースを使用する仮想マシンを作成します。これは完全な2倍の速度を実現するものではなく(仮想化によりリソースが失われます)、互換性要件が考えられるため制限されたソリューションですが、質問に対する最も「正しい」回答です。仮想マシンは、両方のホストの処理能力から仮想化を維持するために必要なオーバーヘッドを差し引いた単一のPCのように動作します。
私は他の答えに同意します:
分散(マルチコンピューター)環境で実行するソフトウェアの開発について話している場合、いくつかの提案があります。