SIGs/PowerManagementBaseOS/Testcase Virtualized 32bit vs 64bit

The main aim of this test was comparison of syscall count, tick count, read/written bytes when performing the same task on virtual 32-bit and 64-bit machine.

System configuration
We used VirtualBox OSE and KVM to perform this test. All virtual machines run on the same physical machine (not simultaneously) in the same configuration.


 * The host configuration:
 * Intel Core 2 Duo E8400 3GHz
 * 4 GB of memory
 * Fedora 11 (2.6.30.5-43.fc11.x86_64)
 * VirtualBox 3.0.4_OSE r50677
 * libvirt 0.6.2-17.fc11, qemu 2:0.10.6-4.fc11


 * The guest configuration in VirtualBox:
 * 1 CPU (32bit or 64bit)
 * 1024 MB of memory
 * ACPI: enabled, PAE/NX: enabled, VT-x: enabled, Nested paging: enabled
 * Fedora Rawhide (2009-09-16), i686 or x86_64
 * VirtualBox Guest Additions


 * The guest configuration in KVM
 * 1 CPU (i686 or x86_64)
 * 1024 MB or memory
 * Fedora Rawhide (2009-09-16), i686 or x86_64
 * virtio disk

Test description
The results were measured using  (SystemTap script) which can be found in   package. However we used the newest GIT version.

The test run 10 times in sequence. Clean caches, dentries and inodes were dropped before each run:

echo 3 > /proc/sys/vm/drop_caches

The measured task was building  RPM package from src.rpm:

./scomes.stp -c "rpmbuild --rebuild squid-3.1.0.13-3.fc12.src.rpm" 0

Conclusion
According to the graphs the most stable results are provided by KVM 64-bit.

If we consider the average results to be predicative, it seems that there is almost no difference in syscall count between the architectures and virtualization tools.

As for the ticks: The 64-bit system under VirtualBox produced totally a bit more ticks than 32-bit system (mostly in userspace). In KVM the difference is much bigger, 64-bit system needs a bit more kernel ticks but far fewer user ticks, which makes totally approximately 30% ticks less than 32-bit system.

The difference in read/written bytes on both virtualization tools is not wide (as we expected). There is only i difference between 32-bit and 64-bit system. It seems that the second one is a bit better in read byte count.