Windows XP: bad SMP performance

Discussions about using Windows guests in VirtualBox.
skoehler
Posts: 117
Joined: 1. Dec 2008, 12:12

Windows XP: bad SMP performance

Post by skoehler »

Is this a known bug? In 4.3.2 the performance of my Windows XP guests just sucks if I use the ACPI Multiprocessor HAL. If I switch to the non-multiprocessor ACPI HAL, Windows XP is lightning fast. With the multiprocessor HAL, Windows XP is almost unusable! Even the installation took ages with 2 CPUs enabled.
In virtualbox's bug database I find many entries, but for ancient version of virtualbox. Has this problem been reintroduced with the rewrite in 4.3? Because I was happily using my Windows XP guest with 2 CPUs in virtualbox 4.2.x - or at least I think I was.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Any and all
Contact:

Re: Windows XP: bad SMP performance

Post by michaln »

It's a problem a few people have vaguely reported but we've not seen it and so far no one has given us a recipe to reproduce. Your report is a good example of "vague". What host OS? What running processes in the guest OS? What CPU utilization on host/guest?

Yes, there's "something". Magically it doesn't seem to affect developer systems.
skoehler
Posts: 117
Joined: 1. Dec 2008, 12:12

Re: Windows XP: bad SMP performance

Post by skoehler »

With SMP enabled, the installation of Windows XP SP3 tool about 30 minutes.
Without SMP enabled and I/O APIC disabled, the installation of Windows XP tool about 10 minutes.
That should be easier to reproduce than referring to some software running inside the guest.
It was an installation ISO from DreamSpark, and the harddisk was attached to an IDE controller using the host's I/O cache.
The guest had all virtualization stuff enabled - also PAE/NX. I'm not sure to quantify the host's CPU utilization as it varies heavily over the installation.
It seems to me, that especially I/O performance is degraded if SMP is enabled.

The host is a Linux machine with kernel 3.12.0 and virtualbox 4.3.2 installed.
The host's CPU is a Intel Core-i5 M540.
Martin
Volunteer
Posts: 2562
Joined: 30. May 2007, 18:05
Primary OS: Fedora other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: XP, Win7, Win10, Linux, OS/2

Re: Windows XP: bad SMP performance

Post by Martin »

Your CPU has two cores.
You assign two cores to your guest for SMP.
So the host has no CPU cores for the rest of the system and it has to pause the guest for most administrative and background tasks.
skoehler
Posts: 117
Joined: 1. Dec 2008, 12:12

Re: Windows XP: bad SMP performance

Post by skoehler »

Martin wrote:Your CPU has two cores.
You assign two cores to your guest for SMP.
So the host has no CPU cores for the rest of the system and it has to pause the guest for most administrative and background tasks.
I have hyperthreading enabled. I know, it's not as good as four proper cores, but I guess the host has enough reserves to handle the "administrative tasks". Also, why do I not observe this performance drop with Linux or Windows 7 guests? Even my Windows 2000 guest doesn't seem to be affected. Only Windows XP becomes reaaaallly slow.
skoehler
Posts: 117
Joined: 1. Dec 2008, 12:12

Re: Windows XP: bad SMP performance

Post by skoehler »

Update:
Let T denote the time from clicking the start button in virtualbox to seeing the windows desktop (the guest has auto-login enabled).
Let H denote the Windows HAL, C denote the number of guest CPUs, and A denote whether I/O-APIC is enabled.
If C=2, A=yes, and H=ACPI-Multiprocessor, then T=25 seconds.
If C=1, A=yes, and H=ACPI-Multiprocessor, then T=15 seconds.
If C=1, A=yes, and H=ACPI-PC, then T=10 seconds.
(Note: the ACPI-PC HAL doesn't use APIC, as far as i know)
(Note 2: the Windows XP guest uses Intel AHCI driver 10.1.0.1008)

Are you sure that would be kind of slow down that would be expect?
For fun, I will test VMWare Player now.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Any and all
Contact:

Re: Windows XP: bad SMP performance

Post by michaln »

skoehler wrote:Also, why do I not observe this performance drop with Linux or Windows 7 guests?
Are they all 32-bit like XP?
Even my Windows 2000 guest doesn't seem to be affected.
Is it SMP?
skoehler
Posts: 117
Joined: 1. Dec 2008, 12:12

Re: Windows XP: bad SMP performance

Post by skoehler »

michaln wrote:
skoehler wrote:Also, why do I not observe this performance drop with Linux or Windows 7 guests?
Are they all 32-bit like XP?
Yes
michaln wrote:
Even my Windows 2000 guest doesn't seem to be affected.
Is it SMP?
Yes.

Anyhow: I oberserve the same performance issue with VMWare.
With the ACPI-Multiprocessor HAL, even if the guest only has one CPU, Windows XP starts super slow (T=30sec).
But with with the ACPI-PC HAL, Windows XP almost starts as fast with virtualbox (T=12sec).
skoehler
Posts: 117
Joined: 1. Dec 2008, 12:12

Re: Windows XP: bad SMP performance

Post by skoehler »

I've also measured the startup time (from clicking the startbutton to seeing the user icons) of my Windows 7 32bit guest.
Regardless of whether the guest had 1 or 2 CPUs, the startup time was 13seconds (both for the ACPI multiprocessor HAL). With 4 guest CPUs the startup time was 16 seconds (also ACPI multiprocessor HAL). For some reason I couldn't boot without I/O-apic enabled even after switching the HAL.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Any and all
Contact:

Re: Windows XP: bad SMP performance

Post by michaln »

skoehler wrote:Anyhow: I oberserve the same performance issue with VMWare.
Okay, you're the second person saying the same thing. We are not observing such behavior, which means either our VMs are configured differently or there's different software installed inside the guest (potentially including Microsoft's own updates).

We did find one problem that would affect Intel hosts, but that would affect XP performance only after the guest rebooted. I assume you see poor performance right away, so you must be seeing something else.
With the ACPI-Multiprocessor HAL, even if the guest only has one CPU, Windows XP starts super slow (T=30sec).
That's actually not too surprising... because the HAL itself very significantly changes how XP works. The added CPU(s) is then a relatively minor change.
skoehler
Posts: 117
Joined: 1. Dec 2008, 12:12

Re: Windows XP: bad SMP performance

Post by skoehler »

michaln wrote:
skoehler wrote:Anyhow: I oberserve the same performance issue with VMWare.
Okay, you're the second person saying the same thing. We are not observing such behavior, which means either our VMs are configured differently or there's different software installed inside the guest (potentially including Microsoft's own updates).
Well, what are you using then? Are you using Windows XP without the latest updates installed? Maybe even without any service pack installed?
Remember, that I mentioned that even the installation (with XP SP3 iso) would takes ages. So the patch in question would also be included in SP3.
michaln wrote:We did find one problem that would affect Intel hosts, but that would affect XP performance only after the guest rebooted. I assume you see poor performance right away, so you must be seeing something else.
I powered the VM off and then fired it up again each time to measure the startup time. So yes, it must have been a different issue.
michaln wrote:
With the ACPI-Multiprocessor HAL, even if the guest only has one CPU, Windows XP starts super slow (T=30sec).
That's actually not too surprising... because the HAL itself very significantly changes how XP works. The added CPU(s) is then a relatively minor change.
Most surprisingly, Microsoft seems to have done a much better job with the HAL in the Windows 7. Nevermind.

So how are we treating this? Two virtualization products exhibit the same behaviour. Is it a bug in both of them? Or should be blame Microsoft (a certain patch)?
skoehler
Posts: 117
Joined: 1. Dec 2008, 12:12

Re: Windows XP: bad SMP performance

Post by skoehler »

I was wrong. Windows 2000 also is affected as it seems. After switching the HAL and increasing the number of CPUs from 1 to 2, the startup time increased from 43sec to 55sec.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Any and all
Contact:

Re: Windows XP: bad SMP performance

Post by michaln »

skoehler wrote:Well, what are you using then? Are you using Windows XP without the latest updates installed? Maybe even without any service pack installed?
Remember, that I mentioned that even the installation (with XP SP3 iso) would takes ages. So the patch in question would also be included in SP3.
We normally use XP SP3 for testing, usually with all updates installed. We use official installation ISOs from MSDN.
michaln wrote:I powered the VM off and then fired it up again each time to measure the startup time. So yes, it must have been a different issue.
OK, thanks for the confirmation. Just for reference, how exactly do you define "startup time"?
michaln wrote:Most surprisingly, Microsoft seems to have done a much better job with the HAL in the Windows 7. Nevermind.
I'm sure supporting several very different HALs was just as much of a pain for Microsoft as for everyone else :)
Two virtualization products exhibit the same behaviour. Is it a bug in both of them? Or should be blame Microsoft (a certain patch)?
I don't have enough data to say. I think the chance of both VirtualBox and VMware having the same bug is really low, though it's not zero.
thanar
Posts: 40
Joined: 21. Nov 2013, 19:18
Primary OS: Mac OS X other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: winXP, win7
Location: Kozani, Greece
Contact:

Re: Windows XP: bad SMP performance

Post by thanar »

I am seeing the same effect:

OS X 10.8.5 host on an i5 iMac, tried an XPsp3 VM from Parallels (had 4 CPUs enabled under Parallels) and it was terribly slow (did not check the active SMP XP driver though). Thought it was due to the transition.

Created a new VM with XP (no sp, that's my OEM Windows disk) and selected 4 CPUs, install took ages. Installed Virtualbox tools. Tested uncompressing a 150MB zip file took almost half an hour.

Tried viewtopic.php?f=1&t=58445 (wtf, I can't post urls, pls fix it) and the VM got blazing fast. Tested the same zip decompress, completed in a couple of minutes (was over LAN both times).

Will create a new 1CPU VM tomorrow and report back.
skoehler
Posts: 117
Joined: 1. Dec 2008, 12:12

Re: Windows XP: bad SMP performance

Post by skoehler »

thanar wrote:I am seeing the same effect:
yay I'm not alone!
thanar wrote:OS X 10.8.5 host on an i5 iMac, tried an XPsp3 VM from Parallels (had 4 CPUs enabled under Parallels) and it was terribly slow (did not check the active SMP XP driver though). Thought it was due to the transition.
Now I'm terribly curious: did XP run fast with 4 CPUs in Parallels?
thanar wrote:Tried viewtopic.php?f=1&t=58445 (wtf, I can't post urls, pls fix it) and the VM got blazing fast. Tested the same zip decompress, completed in a couple of minutes (was over LAN both times).
What exactly from that thread did you try?
Post Reply