ホストが仮想マシンのマルチタスクを実行する場合、マルチコア プロセッサにはさまざまな利点があります。
Intel および AMD は、複数のプロセッサ コアを 1 つの集積回路(通常はパッケージまたはソケットと呼ばれます)に組み合わせたプロセッサを開発しました。VMware では、1 つ以上のプロセッサ コアを装備できる 1 つのまとまりを表すのにソケットという用語を使用します。
各プロセッサ コア内には、1 つ以上の論理プロセッサが含まれます。たとえば、デュアルコア プロセッサは、同時に 2 つの仮想 CPU を実行できるため、シングルコア プロセッサのほぼ 2 倍のパフォーマンスを発揮します。同じプロセッサ内のコアは、通常、すべてのコアが使用する最終レベルの共有キャッシュを装備して構成されており、より低速のメイン メモリにアクセスする必要性は軽減されます。実行中の仮想マシンが、同じメモリ バス リソースで競合するようなメモリを多用するワークロードを実行している場合、物理プロセッサをメイン メモリに接続する共有メモリ バスによって論理プロセッサのパフォーマンスが制限されることがあります。
仮想マシンを実行するESXiCPU スケジューラによって各プロセッサ コアの各論理プロセッサが独立して使用されるため、SMP システムと同様のパフォーマンスが得られます。たとえば、2 方向の仮想マシンは、仮想プロセッサを同じコアに属する論理プロセッサ上で実行することも、異なる物理コア上の論理プロセッサで実行することもできます。
ESXiCPU スケジューラは、プロセッサ トポロジと、そのプロセッサ コアと論理プロセッサとの関係を検出します。この情報を使用して、仮想マシンをスケジュール設定し、パフォーマンスを最適化します。
ESXiCPU スケジューラは、ソケット、コア、および論理プロセッサ間の関係も含め、プロセッサ トポロジを認識できます。スケジューラはトポロジ情報を使用して、さまざまなソケットへの仮想 CPU の配置を最適化します。この最適化により、キャッシュ全体の使用率を最大化し、仮想 CPU の移行を最小化してキャッシュのアフィニティを高めることができます。