Hyper-Vを使った場合の仮想プロセッサーの割り当て数
Hyper-Vの仮想マシンにどれだけ仮想プロセッサーを割り当てられるかがわかったので、メモしておこうと思います。 仮想プロセッサーの割り当て これまでもHyper-Vを使ってはいたものの、悩みの種だったのが仮想マシンへの仮想プロセッサーの割り当てです。 今どきのCPUだと物理コア10個、ハイパースレッディングを使えば20個なんてものが普通にあります。仮想技術ではそれぞれ物理プロセッサー、論理プロセッサーとも呼びます。 仮想マシンにはそれらを仮想プロセッサーとして割り当てていきます。 この仮想プロセッサーを割り当てる数について調べてみると、色々なことがネットには書かれています。厳しいものだと仮想プロセッサーの割り当て総数は物理コアの数までというものまであります。それ以上割り当てるとトラブルが起こると。 いやでも、それじゃ、仮想化してリソース(ハードウェア資源)を有効利用できないんでないのと思っていました。 そこで先日、あらためて検索したところ、富士通がとても良い資料を作ってくれていました。 Windows Server 2008 R2 Hyper-V2.0におけるHyper Threading性能検証 物理コア数までは性能低下はなく浮動小数点演算なら論理コアもイケる それによれば、仮想プロセッサーの割り当て数の性能低下は、整数演算と浮動小数点演算で異なるし、浮動小数点演算でもハイパースレッディングをオンにした時とオフにした時でまた異なるという事でした。 整数演算の場合は、割り当て数のトータルが物理コアの数までは性能低下はなく、それを超えると性能が急に低下を始め、ハイパースレッディングの効果はそれほどありませんでした。 浮動小数点演算の場合には、物理コアの数までは性能低下がないのは同じで、ハイパースレッディングをオンにすれば、論理コアの数までは割とよく粘り、それを超えるとやはり急に低下しています。 つまり、割り当て数が物理コアもしくは論理コアを超えると急に性能が低下するということになります。 フル稼働でなければ、もっと割り当てても良いのでは ただし、これは各仮想マシンがフル稼働している場合の話だと思います。そういう使い方なら確かに割り当てるのは物理コアもしくは用途によっては論理コア数までというのが妥当かもしれません。 しかし、そうではなく、同時にフル稼働する事なんてほと