Is setting "Number of Logical Processors" useful?
I was very glad to get the opportunity to try out Hyper-V since the features described at: http://www.microsoft.com/windowsserver2008/virtualization/default.mspx
specifically claim:
"SMP support: Ability to support up to 4 multiple processors (SMP) in a virtual machine environment to enable you to take full advantage of multi-threaded applications in a virtual machine. "
This seemed great.
So, after configuring my initial VM under Hyper-V, I visited the "Settings" dialog of the VM and went to the "Processor" tab and selected 2 for the Number of Logical Processors. While doing this, I noticed the "fine print" at the bottom of the dialog box which said:
"Virtual machines with multiple virtual processors are only supported with Windows Server 2008 as a guest operating system. If you are using a different guest operating system, please configure this virtual machine with a single virtual processor."
Hmmm.... I really want workloads that I need to host as separate VMs to leverage all of the available Cores on my 4 core or 8 core systems. None of these workloads are hosted on WS2008 today and some never will be (i.e. SBS 2003, or Linux based problems).
Is this restriction a permanent plan or merely one which affects the current beta and it will be relaxed in before Hyper-V's RTM? It would be nice if the description of "SMP Support" on the product pages truly spelled out the details....
Inquiring minds want to know.
Thanks.
- Mark Pizzolato
Answers
Other operating systems may run fine with multi-processors. We are just stating what we have currently tested and will provide support for.
Cheers,
Ben
- We have not yet released the final operating system support matrix, including MP VM support.
All Replies
Hi,
Good question!
I am also curious what the answer of MS Product Management is..
With regards,
Ruben SPruijt
In the release notes for the current build available (here) it has the following snippet :-
- Windows Server 2008 RC1 with Hyper-V Beta, with a maximum of 4 virtual processors. No other release of Windows Server 2008 is supported with this release of Hyper-V.
-
The Windows Server 2003 operating system, with a maximum of 1 virtual processor. You can install either a 32-bit version or an x64-based version.
With that said I have had test VM's running W2K3SP2 Server's with 2 Virtual Processors and they 'appear' to run fine though at this stage I believe it to be just a 'supported' type scenario and this will change once Hyper-V is ready to ship and full SMB support will be available for supported Guest OS's.
Cheers,
Stephen
- Windows Server 2008 RC1 with Hyper-V Beta, with a maximum of 4 virtual processors. No other release of Windows Server 2008 is supported with this release of Hyper-V.
Other operating systems may run fine with multi-processors. We are just stating what we have currently tested and will provide support for.
Cheers,
Ben
OK for now.
Meanwhile will at least other Microsoft Operating systems be added beyond WS2008 as supported for SMP operation by the time RTM rolls around?
- FWIW I have Vista Ultimate running with 4 virtual processors running very nicely now on the Hyper-V Beta.
Cheers,
Jon - It really depends on what OS is running in the vm. It would be a waste of time to allocate multiple cores to a vm if the OS running inside that vm did not handle multiple cores. If the OS can handle multiple cores on a hard metal multicore processor it is worth a try.
You can also look on http://connect.microsoft.com for the 'Linux Integration Components for Microsoft Hyper-V'
Cheers,
Stephen Edgar
To follow up on my own issue.
I have tested installing SBS 2003R2 with 2 CPUs.
The installation seemed to run fine, but after installation, strange events were being reported in the Event Log relating to Active Directory, Group Policy and DNS.
The event reported most frequently was: Source: Userenv Event ID: 1054 Description: Windows cannot obtain the domain controller name for your computer network. (An unexpected network error occurred.). Group Policy processing aborted.
I shutdown the guest, reconfigured that VM to only use a single CPU and restarted. After the restart, these issues do not appear any longer....
Just to prove the point again. I shutdown the VM, reconfigured it to use 2 CPUs and restarted. After the restart, these issues appear once again.
It would be nice to know MS's goals for what guest OS support will work in the RTM Hyper-V product.
-- Mark Pizzolato
- We have not yet released the final operating system support matrix, including MP VM support.
FYI - we are running 1 x SBS 2003 and 2 x Server 2003 all on the same box with 10GB and 2 x quad core xeons all with 2 CPUs working perfectly, when we increased the SBS box to 4 CPUs it blue screened quite quickly....
Jon
Hey Mark,
I'm running RC0 on an Intel CPU based system and I'm getting this on all my multicore 2003 guests. It's driving me nuts!
Has anyone else confirmed this? Thanks.Chris
I'm seeing this with SBS 2003 R2 SP2 and Windows 2003 Svr R2 SP2 Standard when configured for multiple logical processors.
Revert to one logical processor and the error goes away.
Vista SP1 hosted on the same Hyper-V RC0 server core host does not exhibit the problem, even when configured for two logical processors.
Based on my research, it appears this may be due to Hyper-V meddling with processor clock speed which causes the cpu timer funtion in 2003 to go all haywire. If you ping something, it'll spit out some crazy values(and in a hurry). This problem seems to have first cropped up with people who installed 2003 on Opteron processors. It had something to do with AMD's powernow feature which caused the processor to do some clock shifting that windows could not understand. I believe there's a hotfix for this or a driver update now even, but there was also a boot switch that was talked about which fixes this problem. In your boot.ini, add the switch "/usepmtimer". Supposedly the 2003 installer actually autodetects and adds this switch for AMD machines anymore and I'm wondering if my installing windows 2003 with a single core proc to start and subsequently making it multi-core causes this problem.
In any case, even though googling the /usepmtimer command gives somewhat obscure information on what it does, it fixed my problem perfectly and I have yet to detect any performance problems or instability with the 10 guests I've applied it to. My next step is to test and see if building a virtual machine that already is set to use multi-cores before installing windows will cause this switch to be added automatically during the set up as some have suggested it should(at least for AMD procs). FYI, I'm running Intel Procs so I'm not sure why this is still an issue other than maybe the Hyper-V layer is meddling with things and is confusing the window clock/timer.
Curious if this falls under the bug category(maybe something the integration services could handle) or under installation guidelines for setting up a 2003 guest OS in hyper-v.
Chris
- We notice the same behavior on our 2003 hyper-v guest systems. I just set the /usepmtimer on a boot.ini.
I need to wait till around tomorrow cause the userenv error sometimes appears every 5 minute, sometimes takes till around two hours to reappear.
Besides that it also looks like that boot.ini entry solves the ping problems.
Windows 2003 guest systems tend to respond to pings with times in the tentousend or even negative values.
I'd like a statment from Microsoft about this. Can this be used as a solution or is there a chance we run into other problems cause of this added boot.ini entry?
EDIT: disscused this with my coworkers. For the ping it looks like there somewhere is a official paper from Microsoft which names the /usepmtimer as the solution. The userenv error wasn't named in that. - This resolution worked for me. I have an Std Svr 2003 DC, which I virtualised, and I got the userenv error every five minutes of so.
I could not perform nslookups, and pings returned abnormal responses. After editing the boot.ini - I have had none of these issues, and all is back to normal... :)
Thanks for your help all.
