VMware Cloud Community
ITMgrWynne
Enthusiast
Enthusiast
Jump to solution

Cores Per Socket

Can you give me a better understanding on how the Cores Per Socket and CPUs work with the VMs, I know it has changed a bit over the years. Is it better to have more Cores Per Socket and less CPUs? Any clarification you can give would be appreciated. Thanks!

Here is what I have:
Server #1
6 CPUs
2 Cores Per Socket
3 Sockets

Server #2
8 CPUs
1 Cores Per Socket
8 Sockets

Server #3
4 CPU
1 Cores Per Socket
4 Sockets

0 Kudos
1 Solution

Accepted Solutions
daphnissov
Immortal
Immortal
Jump to solution

The general recommendation is to always prefer sockets over cores. Functionally, from the guest's perspective, they do the same thing (cores x sockets = CPUs) but they have performance implications when it comes to NUMA. If you don't want the details, always add sockets over cores unless you have a very specific reason you need cores (like licensing, primarily).

View solution in original post

8 Replies
daphnissov
Immortal
Immortal
Jump to solution

The general recommendation is to always prefer sockets over cores. Functionally, from the guest's perspective, they do the same thing (cores x sockets = CPUs) but they have performance implications when it comes to NUMA. If you don't want the details, always add sockets over cores unless you have a very specific reason you need cores (like licensing, primarily).

ITMgrWynne
Enthusiast
Enthusiast
Jump to solution

So the 3 servers I have listed look good since I have more Sockets than Cores? Thank you.

0 Kudos
daphnissov
Immortal
Immortal
Jump to solution

Except your first VM. If you don't have a specific need (again, usually comes down to licensing or OS edition) for multiple cores per socket, then I'd change that to 1 and put the remainder in sockets.

ITMgrWynne
Enthusiast
Enthusiast
Jump to solution

Server #1 is our SQL Server and I was told SQL would run better this way. Is that not true?

0 Kudos
daphnissov
Immortal
Immortal
Jump to solution

That isn't necessarily the case, but I couldn't make that determination (and no one could) without details on many other components. If it's your SQL box best to leave it alone for now. But any new VMs I'd recommend choosing sockets over cores.

ITMgrWynne
Enthusiast
Enthusiast
Jump to solution

So you are saying Sockets over Cores, and by Cores you are talking about CPUs, right? so having the same is also okay? Since on my other 2 servers, I have 8 CPU and 8 Sockets and then 4/4 on the other.

0 Kudos
daphnissov
Immortal
Immortal
Jump to solution

Also, for some more helpful information on this topic (which is a complex and long one), you might want to check these resources out.

Virtual Machine vCPU and vNUMA Rightsizing - Rules of Thumb - VMware VROOM! Blog - VMware Blogs

Amazon.com: VMware vSphere 6.5 Host Resources Deep Dive eBook: Frank Denneman, Niels Hagoort: Kindle...

The latter is an excellent book I'd strongly recommend you add to your library if you're a "VMware person" or that's a function of your job. There are many great sections that go into depth on NUMA and everything surrounding it. And although it's a bit dated, this book on virtualizing SQL server still has great, pertinent information that goes into sockets v cores and how it impacts SQL.

daphnissov
Immortal
Immortal
Jump to solution

From a virtual machine's perspective, there is no difference between sockets or cores. They each represent one vCPU at the end of the day. So 1 x 4 is the same number of vCPUs as a 4 x 1. It's how ESXi treats this topology when it comes to NUMA that matters, and for that reason the preference is for sockets over cores as this allows ESXi to make the best decision on how to lay out the VM's memory.