[et-mgmt-tools] Xen, Windows 2003 and APIC

Gary Pennington Gary.Pennington at sun.com
Fri Dec 5 14:03:41 UTC 2008


Hi,

I've been investigating networking performance for Windows 2003 guests
on a Solaris dom0 and I've uncovered a couple of things which I don't 
really understand and I'm looking for some explanations.

This first question is really directed at virtinst developers...

Windows guests have different ACPI and APIC settings depending on which
variant of Windows is to be installed:

variant: unspecified	-> ACPI: true, APIC: true
variant: winxp		-> ACPI: false, APIC: false
variant: win2k		-> ACPI: false, APIC: false
variant: win2k3		-> ACPI: true, APIC: true
variant: vista		-> ACPI: true, APIC: true

The question is: why don't all Windows variants have the same ACPI and APIC
settings?

The reason I'm curious, is that it seems like different combinations of
APIC and ACPI produce different functionality in the guest and different
levels of performance.

I did some tests with win2k3 guests and measured networking performance
using iperf.

I used the same dom0 system (snv_103) and created three W2K3 guests,
each with 1 CPU but different APIC and ACPI settings:

apic/acpi setting      results (Mb/s throughput)
apic: 0 acpi: 0         834, 833
apic: 1 acpi: 1         718, 704
apic: 0 acpi: 1         872, 876

(higher numbers are better)

I only had time to perform two runs (the test is the iperf-2.0.2 1MB msg
test that I ran to microbenchmark TCP performance) for each guest,
but you can see that there is a fairly large and consistent (across two
runs for each guest) performance difference.  It's about 20% faster when
apic is not specified for the guest.

My next question is: What is really happening when APIC is specified for
a windows guest and why does performance vary so much according to whether
it's specified or not?

Thanks for any help or insight anyone can offer.

Gary
-- 
Gary Pennington
Solaris Core OS
Sun Microsystems
Gary.Pennington at sun.com




More information about the et-mgmt-tools mailing list