hello all,
did anyone succeed in using multiple CPUs inside a "windows xp mode" machine?
anyhow I play with number of processors / number of cores per processor, I can only use one CPU inside the VM --
the device manager reports two, but the task manager only shows one... even the env variable NUMBER_OF_PROCESSORS is always 1.
since the device manager sees two but the system actually uses only one, I guess there is some sort of hard-lock into the XP mode installation...
that's a shame since I'm running on a 6-core xeon... any clue?
thanks to all - Lorenzo -
if I remember right a XP installed on a host with 1 CPU can not use more than one without changing the HAL first.
Also do not expect that it will run faster with 2 - which is the max for XP anyway.
if I remember right a XP installed on a host with 1 CPU can not use more than one without changing the HAL first.
Also do not expect that it will run faster with 2 - which is the max for XP anyway.
Ulli: you pointed me in the right direction.
I downloaded devcon (http://support.microsoft.com/kb/311272/en-us) and issued the following commands from a CMD prompt:
devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up
devcon update c:\windows\inf\hal.inf acpiapic_mp
It did the trick. Now I can use two+ cores in my VM.
That's not a big improvement by why limit to 1 when I have 6 (and paid for them!!!) 😄
thank you mate!
- Lorenzo -
thatsa limitation of the guest OS - not one of Workstation
also the idea that more CPUs inside a VM means better performance is way off
in most cases it is the other way round
Uh... that's surprising. Can you briefly explain why?
consider you give the VM all 6 cores
then your Windows-host can only allow Workstation to run the VM if the host itself has nothing to do at all.
But then a Windows host is always busy with something - that means the VM has to wait a while until the windows task scheduler says that he has 6 cores free for an application.
consider you give the VM just one core
in this case the VM can run all the time and never has to wait
in daily practice VMs with just a single core feel snappy and responsive - while VMs with more cores spend a lot of their time waiting until all cores they want to are free at the same time.
Here I use a quadcore CPU - my VMs all have one single core - with a few exceptions where the guest requires 2
Interesting. I always thought that VMware could use a core whenever the host OS kernel gave it its time slice.
You're now asserting that if a VM has n vCPUs, VMware has to wait for n physical cores to become simultaneously idle before using them alltogether for the VM's tasks. This sounds odd to my ears, still I must admit I'm almost ignorant on how things go on in the virtual world.
Is there any literature on this subject? Where did you acquire such information? Thank you again - Lorenzo -
> Where did you acquire such information?
Hmm - common sense ? - how else should it work ?
I would expect that a VM that thinks it has a 4 core CPU would immediatly crash if the host gives it 1,2 or 3 cores only.
A guest would regard such a case as a defect CPU I think
And of course observation.
You can also find whitepapers on this matter that explains how it exactly works.
Workstation does not actually use gang scheduling. However, there are some synchronization issues that can impact vSMP performance under Workstation. For example, if one vCPU thread gets too far ahead of its siblings, it will relinquish its time slice until its siblings have an opportunity to catch up. Also, there are some virtual machine events which require all vCPUs to participate in a synchronous operation. Until all vCPUs have participated, no vCPU thread can proceed past the synchronization event.
ESXi, on the other hand, uses co-scheduling (a weak form of gang scheduling) to try to schedule all active vCPU threads simultaneously, which generally provides better vSMP performance than Workstation.
Thank you for your comments and suggestions guys. I'm going to carry out some experiments; today I've learnt not to take anything for granted, not even those things that seem obvious at a first sight.
Cheers - Lorenzo -
EDIT: for anyone else interested in this subject, many good advices can be found here: http://www.vmware.com/pdf/ws7_performance.pdf