Wednesday, February 3, 2016

VMWare Workstation proc vs core

I had a couple questions about my old Image Mule article and configuring VM procs so thought I’d share with everyone. Basically unless you have licensing issues just use 2 sockets with one core each. This will allow you to have A LOT of machines going with more resources spread out. For example:

While a single proc with two cores appears to present the same thing as shown here,

It actually is NOT presented to the OS the same. Simply put, a Core is ≠ to a processor. Intel, AMD, and even ARM define cores differently. The OS is actually told how many virtual processors (sockets) and cores within those processors. Coreinfo is a great tool to see the underpinnings of how Windows interprets how compute is presented to a VM. Great fun to compare settings. Performance wise you generally don’t see much difference between processors/cores counts. People smarter than me have done the benchmarks and it comes down to the task at hand mostly, but firmly the licensing of the product you want to run in the VM. This is part of why Microsoft has moved SQL to per core costs and Windows 2016 is going to be that way as well.

While licensing generally applies more on the servers it can apply with what you do on the workstation side. Windows 7 only allows two physical processors (aka sockets) for example. and WIndows 10 has the same hardware requirements back to Windows 7. We don’t necessarily have NUMA concerns like ESXI does so much but it can apply if you are doing something intensive. 

I would also suggest you keep the processor cores below what your host system has per VM, and quite frankly, workstation gets mad if you try more. The host does need some resources, however with that said, VMWare is really good about slicing and dicing. I generally see 4:1 vCPU to physical most of the time.

You can read through this to understand CPU socket vs core from VMWare perspective whereas this is Microsoft's take on it. For Imaging, the captures go great deal faster if you use multiple procs and more memory, like anything else. Capturing a six GB Windows 7 image takes ~40 minutes on a virtual machine with one vCPU, but only ~25 minutes when using two vCPU’s. Additionally Windows 7 has a couple hundred patches these days that may cause you to run out of memory. Settings the VM memory to 4GB solves that problem whereas I use 2GB for other deployment testing.

Also, VMWare workstation has support for BIOS or UEFI so as you mess more with Windows 10 I suggest you start using UEFI so you can learn those features and get your Task Sequences to support UEFI anyhow. Johan has a list of Windows 10 features that require it for example.

No comments:

Post a Comment