vCPU トポロジ (ソケット / コア / スレッド) は VM のコンピューティング パフォーマンスにどのように影響しますか?

vCPU トポロジ (ソケット / コア / スレッド) は VM のコンピューティング パフォーマンスにどのように影響しますか?

AMD Matisse プロセッサ (12C 24T) を搭載した Ubuntu ホストがあります。libvirt (QEMU+KVM) を使用して仮想マシンを起動するときに、CPU トポロジを設定するオプションがあります。

ほぼすべてのコンシューマー PC には、複数のコアとコアあたり最大 2 つのスレッド (HT) を備えたシングル ソケット CPU が搭載されているため、VM に同様のトポロジを設定することをお勧めします。この設定のみ (CPU スレッドの合計数は一定であると想定) で、たとえばスケジューリングに関して、VM のパフォーマンスやホスト CPU の使用率に影響があるかどうかが気になります。

答え1

これはおそらくゲスト OS のスケジューラに影響するでしょう。NUMA マルチソケット システムでは各 CPU に個別のキャッシュがあり、RAM アクセス時間はアクセスされた RAM が接続されている場所によって異なるためです。適切な OS であれば、これを考慮します (または、コンシューマー向け Windows のように動作を停止します)。

ゲスト OS を何らかの特殊なシステムで実行されていると思わせてテストする以外に、報告された構成を実際に割り当てられたハードウェアと異なるものにする理由はないと思います。パフォーマンスの面では、影響はない、またはマイナスの影響があるはずです。

関連情報