Page 1 of 1

Need VBOX to use more than one core

Posted: 1. Jan 2009, 03:44
by ToddAndMargo
Hi All,

I have a server that will accept up to eight cores (two Quads). I need to stick a Windows server guest on the thing. It completely sucks that VBox will only use one of the cores. I really, really need the guest to have more performance -- a lot more than a souped up Pentium 4.

Is VB "EVER" going to support more cores?

If not, do any of the "Paid" versions of virtual box support more cores? (I'd really like to stick with VBOX if possible.)

Any words of wisdom?

Many thanks,
-T

Posted: 1. Jan 2009, 15:21
by TerryE
Todd, this isn't currently Vbox's niche. We've discussed this before on the forum so you might want to have a browse. Basically the VBox VMM is currently written to be single threaded in critical areas to keep things simple. Adding SMP support will require a top to bottom code review and is not easy. The results of doing so are mixed. VMware ESX is really targeted at this niche and does so efficiently, but it runs its own kernel on bare hardware. The SMP support in the other VMware products have very mixed reviews in terms of stability in SMP modes and actual throughput achieved, so when the market leaders here are struggling to get this right, it isn't that easy.

I suspect that VB will ultimately add SMP support, but only for AMD-V/VT-x configurations as this H/W virtualisation environment sidesteps a whole load of problems. However, this as ever is only a personal guess as the Dev team's policy is not to share any roadmap plans with the community.

Posted: 1. Jan 2009, 16:21
by TrevorPH
TerryE wrote:Adding SMP support will require a top to bottom code review and is not easy.
The VM definition xml in 2.1.0 now has this parameter so it does look like this is being worked on:

<CPU count="1">

Posted: 1. Jan 2009, 19:32
by TerryE
Trevor, thanks for this. I also notice that there have been a lot of change sets going into SVN which involve the define VBOX_WITH_SMP_GUESTS which you can see if you google site:www.virtualbox.org, so it looks closer than I thought.

Posted: 1. Jan 2009, 19:45
by sej7278
virtualbox itself is multithreaded so will spread the load across multiple cores on the host, although in my experience each guest appears to hog one core until you run more guests than you have cores.

i'd prefer to see one guest being spread between for instance 3/4 cores all working at 33%, instead of one at 100%.

vmware server's virtual smp, where the guests can see more than one cpu was nothing more than a hack i'd say, it really didn't seem to improve performance at all - in fact was slower in a lot of respects.

you have to be careful not to confuse the application itself being multithreaded, and the guests being smp-enabled.