VMware Communities
sugarmonster
Contributor
Contributor

Best configuration for multi CPU VM?

I'm setting up a development VM box on my shiny new i7-930. It's going to be running Visual Studio 2010 with all the stuff that goes along with it and it's going to get some pretty regular use so I want to allocate a decent amount of the available physical resources to it.

A simple (and possibly naive) question - in terms of the way VMWare deals with multiple CPUs, is it "better" to set the machine up as 1 CPU with 2 cores, or 2 CPUs with 1 core? Or does it not make any difference?

Host is Windows 7 x64, guest is Win7 x86.

(By "better" I mean "the way that delivers the most grunt to the virtual machine")

Ta,

Marc.

Tags (1)
0 Kudos
3 Replies
golddiggie
Champion
Champion

Start with 1 vCPU (1 core) and see how that works... Adding more cores/vCPU's is not always a good thing to do. Get as much RAM as your box can handle so that you can feed the apps you'll be installing. There will be some overhead in memory for the virtual machines, so don't expect to have all of the 'free' memory actually available/usable.

For a system that's being set up for development use, I would have gone with dual quad core Xeon's (5500 series) or dual 6 core Xeon's (5600 series) instead. Maybe even dual 7500 series (6 or 8 core each)... The more 'raw power' you have in the host, the more you'll be able to allocate to the VM's and still be able to run your normal apps in the host.

Make sure you set an exclusion in your AV software so that it doesn't scan the Virtual Machines directory for VMware Workstation. Otherwise, your performance will suffer (both VM and host)...

VMware VCP4

Consider awarding points for "helpful" and/or "correct" answers.

0 Kudos
sugarmonster
Contributor
Contributor

Sadly money was a concern, otherwise I'd have had a z800! I'll try it with 1 core and see how it goes. Good point about the virus checker though, I'll do that (although the VM is sitting on an SSD which mitigates the disk I/O bottleneck)

In a more general sense I'm uncertain how the physical CPU resources get allocated virtually. For example, with a multi threaded application running on physical hardware the threads (may) get distributed across the cores by the host OS. When you go virtual on a single core VM, the guest OS can only "see" one CPU so that balancing across physical cores doesn't occur.... or does it?

I'm making the assumption that there is a mapping between the physical CPU and the virtual one but if that's not true and VMWare does something funky to run guest processes across multiple cores then actually it doesn't matter what I set the VM up as.

Can anyone confirm how the physical/virtual CPU resources are allocated?

0 Kudos
AWo
Immortal
Immortal

In a more general sense I'm uncertain how the physical CPU resources get allocated virtually. For example, with a multi threaded application running on physical hardware the threads (may) get distributed across the cores by the host OS. When you go virtual on a single core VM, the guest OS can only "see" one CPU so that balancing across physical cores doesn't occur.... or does it?

If an OS sees only one CPU it can't distribute the load over more CPU's. A core in the host is a CPU in the guest. So if you assign one vCPU to the guest it can only use one core at a time. VMware Workstation will distribute the load over all cores available, but the guest will be able to use only one at a time.

I'm making the assumption that there is a mapping between the physical CPU and the virtual one but if that's not true and VMWare

does something funky to run guest processes across multiple cores then actually it doesn't matter what I set the VM up as.

Sure? If the guest has two vCPU's the guest OS would be able to distribute the load over two cores at a time. BUT, as symmetric multiprocessoring is used assigning more than one vCPU without an appropriate number of cores would slow down the whole thing.


AWo

VCP 3 & 4

Author @ vmwire.net

\[:o]===\[o:]

=Would you like to have this posting as a ringtone on your cell phone?=

=Send "Posting" to 911 for only $999999,99!=

vExpert 2009/10/11 [:o]===[o:] [: ]o=o[ :] = Save forests! rent firewood! =