VMware Communities
andyt25
Enthusiast
Enthusiast
Jump to solution

Workstation 7.1 - Allocation of cores/processors and threads to the Guests

Hi,

What exactly is allocated by the settings "number of processor" and "number of cores per processors"? The first Option allocates the threads (virtual processors) and the second one the cores which include 2 threads?

The manual ist not very helpful on page 81 and 367 for me. Is there a better source?

Story: i am about to buy a new Laptop which has a core i5 or i7 with two cores and i think 4 threads. Now I wonder if I can run two virtual machines at the same time and how the settings have to be done, if I want to allocate:

a) one core (or two threads) to one VM

b) one thread to one VM

c) one remaining thread to the Host ..

is is possible or do i HAVE to allocate both VMs to the same core?

thx for help Smiley Happy

0 Kudos
1 Solution

Accepted Solutions
Scissor
Virtuoso
Virtuoso
Jump to solution

Hi,

What exactly is allocated by the settings "number of processor" and "number of cores per processors"? The first Option allocates the threads (virtual processors) and the second one the cores which include 2 threads?

When you create a Guest VM you can choose how many virtual processors (vCPU) it has. If you choose to give it 2 or more vCPUs then the options you listed above control how VMware presents those vCPUs to the Guest OS.

For example, if you choose to give a Guest 2 vCPU, then you can either have VMware present the Guest with either 2 (virtual) single-core processors or a single (virtual) dual-core processor. Performance-wise things will be the same, but this option exists because some software is licensed on a per-processor (instead of a per-core) basis so there may be a licensing advantage to configure your Guest a particular way.

The above settings have no effect on how VMware schedules processes to run on your Host CPU. By default VMware will use all available Host cores no matter how you configure the above options when creating your Guests.

Now with all this talk about multiple vCPU Guests out of the way, let me state that in my experience you will have the best overall performance if you configure your Guests with a single vCPU. In a virtualized environment, multiple vCPU per Guest does not necessarily translate into better performance. I highly suggest creating your Guests with 1 vCPU and only increase their vCPU count if testing shows that performance is increased.

You will definitely be able to run multiple Guests at a time on your Host. If you stick with 1 vCPU Guests you will almost definitely run into RAM or Disk performance constraints long before you run into Host CPU issues.

View solution in original post

0 Kudos
5 Replies
Scissor
Virtuoso
Virtuoso
Jump to solution

Hi,

What exactly is allocated by the settings "number of processor" and "number of cores per processors"? The first Option allocates the threads (virtual processors) and the second one the cores which include 2 threads?

When you create a Guest VM you can choose how many virtual processors (vCPU) it has. If you choose to give it 2 or more vCPUs then the options you listed above control how VMware presents those vCPUs to the Guest OS.

For example, if you choose to give a Guest 2 vCPU, then you can either have VMware present the Guest with either 2 (virtual) single-core processors or a single (virtual) dual-core processor. Performance-wise things will be the same, but this option exists because some software is licensed on a per-processor (instead of a per-core) basis so there may be a licensing advantage to configure your Guest a particular way.

The above settings have no effect on how VMware schedules processes to run on your Host CPU. By default VMware will use all available Host cores no matter how you configure the above options when creating your Guests.

Now with all this talk about multiple vCPU Guests out of the way, let me state that in my experience you will have the best overall performance if you configure your Guests with a single vCPU. In a virtualized environment, multiple vCPU per Guest does not necessarily translate into better performance. I highly suggest creating your Guests with 1 vCPU and only increase their vCPU count if testing shows that performance is increased.

You will definitely be able to run multiple Guests at a time on your Host. If you stick with 1 vCPU Guests you will almost definitely run into RAM or Disk performance constraints long before you run into Host CPU issues.

0 Kudos
joehecht
Enthusiast
Enthusiast
Jump to solution

I have always been advised that where possible, always use one cpu and one core.

My main laptop has an Intel i7 Q720 QuadCore CPU (hyperthreaded to show 8

cores) with 8gb ram, and Win7x64 Ultimate as a host. I track the CPU core useage via the System

Montor II gadget. I constantally notice that while all the cores get used, my overall CPU useage is generally very low, no matter how much I throw at it.

In general, I do not run anything on the host except for VM's (aside from some occasional video encoding, zipping VM's, and transferring them over the network).

I run a lot of VM's (mostly for development and testing purposes) and I have one "main VM" that I use for general use (32bit WinXPPro SP3 VM).

Recently, I decided to try out more cpu's/cores in my main vm, in an attempt to speed it up (it ran very slow after adding Microsoft Security Esentials), as I needed to get Dragon Natrually Speaking 10 Professional to work again at an acceptiable speed.

The VM originally had 512 MB ram, and I upped it to one GB (that helped some). I also turned up the priorty of the Dragon Natrually Speaking to real time (that helped a little). I changed the priorty of the VM to high when the input is grabbed (that helped a lot). I also ran the free Paragon Partition Alignment tool utility on both the host and all of the guest VM's (this tool seems to make a big diifference, although one piece of copy protected software in one guest did not run after the alignment).

It is worth noting that none of these changes provided enough additional horsepower to make the program run acceptably.

Then I added a second core to the VM. I could immediatly see a huge increase on two core of the CPU usage of the host, and the Intel Turbo Boost Monitor Gadget showed the clock speed ramping up more than ever, and for longer periods. The VM now ran very fast and was very responsive, however, some software would not run correctly (for example, Dragon hung when it launced, Photoshop died when exiting). In short, adding a core resulted in the same sort of instabilities I have read about.

Before giving up, I tied adding a second virtual cpu with a single core. The CPU useage (and trubo boost) on the host did increase, but the increase was not nearly as much as adding a second core, however, there was still a huge increase in the speed and responsivness of the VM, and I was unable to find any sort of instability with any of my programs. Dragon loaded just fine, and ran at a very accepable speed.

I am very pleased to report that my whole system now runs much better. I have also tweaked my global priority settings to "HIGH" when the input is grabbed.

Simply put, my "main vm" now runs like a fine swiss watch, and at rocket speeds. The CPU on the host is still very under utiliized, and I am considering playing around with adding second virtiual CPU's to a few carefully chosen VM's (or perhaps even trying adding 2nd cores to a Vista or Win7 VM's).

In general, I do not have a great need to speed up most of my VM's (I can only write code as fast as I can type), and compile speeds and program response times are generally very acceptable with a single cpu and a single core, however, in this one case, adding a 2nd CPU made such a huge difference in my daily life, I deemed it well worth the change. In fact, I can easily count the number of minutes of time I save per session, and that equates to more time available for other things such as working on billiable projects or even taking timeaway from work.

All I can say is THANK YOU VMWare!

Joe

andyt25
Enthusiast
Enthusiast
Jump to solution

thx for your comprehensive explanations

I cant remember of allocating a vCPU during set up of a guest .. When I change the processors or cores, my guest does some configuration and i have to restart...

what i got is, that it makes no difference how i will distribute the cores and its better to start with as less as necessary?

The disk performance should be no problem .. i will install a ssd drive Smiley Wink

0 Kudos
andyt25
Enthusiast
Enthusiast
Jump to solution

<<I have always been advised that where possible, always use one cpu and one core.>>

WHY? energy reasons? waste of cores? efficiency loss?

I allocated always two cores (or 4) to my guest on my desktop machine (AMD X6). I imagined that the additional cores could replace the "bad" grafical card ...

<< In general, I do not run anything on the host except for VM's >>

Exactly thats what I tried to do too. but I am running into problems with my USB TV-Stick and my USB webcam. My Favorite Game (yes, its on the compatibility list) isnt working in Multiplayer modus ... Some things which really makes me sad. Maybe thats due to my Host Ubuntu 10.04?

0 Kudos
joehecht
Enthusiast
Enthusiast
Jump to solution

I have read of people having touble running muti cpus and cores, and also read it would slow things down, and that Workstaion would do a good job of allocating cores, so I have stayed away from anything more than single core and single cpu VM's.

However, I have been doing a lot of testing the past two days, and am finding that at least on this system multi cores and multi cpu's are running just fine, and I can finally make good use of the intel i7's multi cores.

I had a Win7x64 VM absolutly rocking tonight by cranking up the cores and CPU's.

FWIW, I replaced my TiVo with a pile of $18 USB HD capture sticks coupled with Windows Media Center, and it does a far better job (much higher quality). I find I can easily record three shows at a time, and even watch a fourth previously recored show at the same time, and still have other VM's running Smiley Happy

J

0 Kudos