VCPUがどのように機能し、実際のCPUにどのように「接続」されているか(ESXiが実際のCPUハードウェアリソースを管理してvCPUのニーズを満たす方法)を知りたいのですが。 vCPUは、使用可能なすべてのコア、マルチスレッドなどを使用しますか? vCPUパフォーマンスの特定のアルゴリズムを説明しているドキュメントはどこにありますか? VMwareサイトには、私が調べたドキュメントがたくさんありますが、vCPUの構成に関するものしか見つかりませんでした。しかし、「内部で」何が起こるかを知りたいのです。
この記事を見つけました: http://www.zdnet.com/virtual-cpus-the-overprovisioning-penalty-of-vcpu-to-pcpu-ratios-4010025185/ しかし、もっと詳しく調べる必要があります。
使用中のアルゴリズムに関する情報が見つかるとは思えません。 VMwareは、CPUスケジューラを企業秘密と見なしている可能性があります(ただし、ここでは間違っている可能性があります)。
大まかに言えば、vCPUは、ゲストにはCPUコアとして表示される抽象的な構造です。次に、VMware CPUスケジューラーは、vCPUから実行する必要のあるデータを取得し、それを物理CPUコアで実行します。そのvCPUの最後のスレッドと同じ物理コアで実行することは保証されていませんが、スケジューラーはキャッシュの理由で可能な場合は同じCPUで実行を維持しようとし、それが不可能な場合は継続しようとします。同じNUMAノード-パフォーマンスのために。
したがって、vCPUは物理コアではありません。物理CPUではありません。すべての物理コアで同時に実行されるわけではありません。これは、リソース競合のないシステムのパフォーマンスという点では物理CPUコアとほぼ同じですが、vCPUと物理コアの1:1の関係ではありません。