VMware Communities
jsa
Enthusiast
Enthusiast

Performance gain with Two Processors?

Is there any perceptible performance gain by allocating two processors

to a virtual machine configuration as opposed to simply having the host

running VMWare Workstation with dual processors?

(Presuming, of course, a host and guest OS that is capable of running

dual processors and the physical presence of dual processors in the hardware).

Reply
0 Kudos
4 Replies
KevinG
Immortal
Immortal

By allocating two virtual CPU's to a virtual machine can be a problem if you over commit CPU resources. So generally it is not recommend that you assign 2 virtual CPU's unless you have run your own benchmarks in your environment.

Reply
0 Kudos
jsa
Enthusiast
Enthusiast

Ok, but given that there is plenty of cpu to go around on the Core 2 Duo, (gkrellm never shows more than 25% during my tests other than at VM boot), which will yield

better performance to tasks running in the VM? Two virtual CPUs or just ONE, letting

the underlying OS (linux) allocate them as needed?

I initially thought two virtual cpus might perform better, but from what you say Im suspecting I would be better off letting Linux take care of allocating processor resources. But it seems you may be recommending this for reasons other than performance issues, such as messing up the host-os processor allocation.

Reply
0 Kudos
bnelson
Enthusiast
Enthusiast

I am seeing a negative performance impact allocating two processors to the VMs. I thought Workstation 6 would alleviate this issue; but it did not. I cannot find the bottleneck; but as soon as I allocate 2 vCPU to any VM on Workstation all the VMs start lagging badly.

Hang 2 LEDs in the datacenter. The students are coming! The students are coming!
Reply
0 Kudos
admin
Immortal
Immortal

Personally I wouldn't recommend allocating multiple processors to a VM unless you specifically need to test or exercise a multithreaded application.

Basically the problem is that we don't have enough control over the host operating system scheduler, and it's very hard to get good performance particularly once you start overcommitting CPU (e.g. by running multiple VMs).

You can also run into issues when the host CPUs are in a NUMA configuration, have unsynchronized TSCs, etc. Note that there's lots of information in our knowledge base about how to deal with or mitigate these issues...

Note that even a single CPU VM benefits from running on a multi-core host, because we can parallelize virtual device activity (disk, network I/O, graphics, sound etc.) on one core while continuing to execute guest instructions on another.

Reply
0 Kudos