A: Hyper-threading provides some additional processing power by splitting a single core into two logical processors. However, these two logical processors aren't each as powerful as a normal processor core.

Windows Server 2008 R2 Hyper-V supports up to 64 logical processors, so a 40-core server, which is fairly easy with four 10-core processors, would be seen as 80 logical processors with hyper-threading enabled.

This would mean the last 16 logical processors (those over the 64 supported count), wouldn't be initialized by the OS kernel and would basically be parked. That is eight physical cores of processing power unused, almost a whole processor's worth.

It isn't possible in Windows to turn on hyper-threading for some processors and not for others--today, hyper-threading is enabled or disabled at the BIOS level.

The best performance option would, therefore, be to not enable hyper-threading and let Hyper-V use all the cores on the system, which would be seen as 40 logical processors.

Basically, any time hyper-threading pushes a server over the supported number of logical processors, which is 64 for Windows Server 2008 R2, then turn off hyper-threading.

This guidance is backed up by vendors such as HP, in its best practices document

Get more help at John Savill's FAQs page.