VMware Communities
picoli
Contributor
Contributor
Jump to solution

vmware workstation 8 + XP mode = stuck to 1 CPU

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 -

Reply
0 Kudos
1 Solution

Accepted Solutions
continuum
Immortal
Immortal
Jump to solution

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.


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

View solution in original post

Reply
0 Kudos
9 Replies
continuum
Immortal
Immortal
Jump to solution

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.


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

Reply
0 Kudos
picoli
Contributor
Contributor
Jump to solution

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 -

continuum
Immortal
Immortal
Jump to solution

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


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

Reply
0 Kudos
picoli
Contributor
Contributor
Jump to solution

Uh... that's surprising. Can you briefly explain why?

Reply
0 Kudos
continuum
Immortal
Immortal
Jump to solution

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


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

Reply
0 Kudos
picoli
Contributor
Contributor
Jump to solution

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 -

Reply
0 Kudos
continuum
Immortal
Immortal
Jump to solution

> 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.


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

Reply
0 Kudos
admin
Immortal
Immortal
Jump to solution

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.

Reply
0 Kudos
picoli
Contributor
Contributor
Jump to solution

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

Reply
0 Kudos