web-dev-qa-db-ja.com

vSphere 8コアの最大値とはどういう意味ですか?

実行に約12コアを必要とするソフトウェアを構成していますが、vSphere仮想マシンで実行しています。つまり、最大8つの(仮想)コアを構成できます。[1]これが実行される物理マシンには24個のコアがあり、他の1台の仮想マシンのみをホストします。そのVMには、8つのコアも割り当てられています。

私のマシンには8つのコアがあり、他のマシンには8つのコアがあるため、8つのコアが完全にアイドル状態のままになっているように見えます。これは間違っているようです。

VMWareは何か賢いことをしたと思います-マシンに割り当てることができるコアは8つだけですが、実際には、バックエンドに24のコアがある場合、そのうちの8つを取得することが保証されていますが他のマシンが使用していない場合は、24個を使用できます。

VSphereでの共同共有について読んでいますが[2]、少し頭がおかしいです。

誰かがこれがどのように機能するか説明できますか?

編集:これは、8 CPUの制限について説明したものですが、確認する必要があります。

vSphereは、動的プロセッサ負荷分散を使用して、ゲスト内の割り当てられた各コアがホスト上のすべてのコアにアクセスできるようにします。ゲストOSは8つの物理プロセッサーしか認識しませんが、各プロセッサーは24コアのプールにアクセスできます。これは、メインフレームの動作とよく似ています。

これは、8コアが24コアのように動作することを示唆していますが、今ではこれは間違っているように見えます。それは...ですか?

参考文献:

4
mlissner

これが意味するのは、仮想マシンで8つを超えるスレッドが並行して実行されることは決してないということです。ただし、ESXリソース割り当ての魔法により、これらのスレッドにかなりの馬力を与えることができます。実際のCPUの最大レートに制限されるわけではありません。ESXのCPUロードバランシングメソッドは、それよりも高速に実行できるようにします。 。

これは、CPUリソースのキュー構造を活用することで実現されます。作業は、必要に応じて複数のプロセッサーにディスパッチされます。単一のvCPUは、システム上の物理CPU(または、NUMAシステムの場合はローカルノード内のCPU)のanyで実行できます。物理CPUパフォーマンスを超えるvCPUパフォーマンスを達成するには、単一のvCPUから複数の物理CPUに並列に、または少なくとも非常に接近して作業をディスパッチします。

複数のCPUから返された作業を再構成して単一のvCPUをエミュレートするときになると、VMは単一のCPUが非常に高速に動作しているように見えます。ESXは複数の作業ユニットを正しいものに再構成します注文。

もちろん、すべてのワークロードがこれに適しているわけではありません。相互に大まかに関連している多くの反復作業を送信するジョブは、おそらくこれに最適なケースです。暗号化アルゴリズムの再帰呼び出しなど、以前の命令との多くの緊密な依存関係を伴うジョブは、ほとんど拡大することができません。

8
sysadmin1138

vSphere 4.0には、8つのvCPUのハード制限があります。使用するのはそれだけで、かなり賢明な制限です。 vSphereは、2つだけではなく、ホスト上の多くのゲストVMを処理するように設計されています。 2つだけではなく、3〜6個のVMをクラスター化できるかどうかを確認することをお勧めします。

3
Hyppy