Page 2 of 2

Re: VirtualBox performance improvement

Posted: 31. Aug 2009, 11:33
by vbox4me2
For those interested, from AMD forums:
Virtualization performance highly depends on the hypervisor's virtual memory management efficiency. Here is where nested paging comes into play. The typically time consuming process of mapping guest physical addresses to host physical addresses does not have to be calculated in software anymore, but can be done in hardware instead. Memory management in software was achieved using shadow paging. However, that was revealed being a major performance bottleneck. Nested paging is a feature that lays off this address mapping to hardware.

Re: VirtualBox performance improvement

Posted: 1. Sep 2009, 00:17
by ezjd
It is good to hear the paging is the big bottleneck with SW virtualization and VBox team is working on that. Seem I can't get big improvement soon until I buy a new CPU (Core i7 or Phenom) :(

Re: VirtualBox performance improvement

Posted: 2. Sep 2009, 02:00
by es1
Hi ezjd,

The benchmark is really interesting.

I would like to point out that as you get to the limit of the number of I/O operation of the storage you might be hitting the factor of two issue with VDI.
I initiated short discussion with TerryE, http://forums.virtualbox.org/viewtopic.php?f=1&t=19788

The idea is that every 4k page in the VM's disk image is mapped to two different pages in the host VDI file, which might double the number of I/O operations.

Would you please add to the benchmark runs logging of the number of I/O operation in the host and in the guest and verify if both see same number of I/O per second during the benchmarks ? That might explain the reason for the drop of performance in some of your benchmarks (random access to files during compile time ...)

This is my 2c input, HIH 8)

Re: VirtualBox performance improvement

Posted: 7. Sep 2009, 03:39
by ezjd
Does different image format improve this?

Unfortunatly, I am trying out Arch Linux right now, and all test settings are gone :( BTW, what tool to be used to measure IO access count?