VMware Cloud Community
JBal180
Contributor
Contributor

Numa server 2012

Hello I have a host server that shows two numa nodes.  First let me say i know next to nothing about numa but i have a vendor that is requiring we have numa nodes on our sql server.

My question is how do i enable this in the vm.  Everytime i boot the 2012 server it shows no numa nodes.  I have confirmed that two nodes exist on the host.

Thank you

Reply
0 Kudos
4 Replies
JPM300
Commander
Commander

Hey JBal180

How much memory / CPU are you assigning to the VM.

Also what are you ESXi hosts CPU / memory wise?

Also this is a pretty good blog post about Numa, its a little dated as it talks about 4.1 however its the same concepts that apply now.

http://frankdenneman.nl/2010/02/03/sizing-vms-and-numa-nodes/

Reply
0 Kudos
JBal180
Contributor
Contributor

The hosts are PowerEdge R720

12 CPU's x 2.899GHz

2 Sockets

6 Cores per socket

196 GB of memory

The guest VM is

Server 2012

1 socket

4 cores

32 GB of memory

Reply
0 Kudos
JPM300
Commander
Commander

Here is another good article on NUMA

http://www.datacenterdan.com/blog/vsphere-55-bpperformance02-numa-alignment

I'm trying to find my notes from VMware world as they have a new tool that allows you to see how many nodes your VM is running on.  I can't seem to find it, but when I do i'll post it.

So you have 2 sockets with 6 cores each, with 196GB of memory, unless your host is doing somethign special I would assume the following:

2 NUMA Nodes

98GB of memory per NUMA node

12 CPU per numa node

So when your creating your VM if you stay withing 12vCPU and 98GB of memory it should stay local to your closest NUMA node.

Check ESXTOP to see how many NUMA nodes your host has though, it could be breaking it out based off core or something

Does corespersocket Affect Performance? | VMware vSphere Blog - VMware Blogs

Also if your VM is over 8vCPU it will automatically turn on NUMA and caluclate it automatically

http://www.brentozar.com/archive/2013/01/big-changes-for-big-virtual-machines-in-vmware-vsphere-5/

I would however change your vCPU to 4 scokets at 1 core each instead of 1 core and 4 sockets.  The only reason to ever use the sockets is to get around OS limitations, IE Windows Server 2003 standard only allowed so many sockets and as each vCPU counts as a socket you couldn't get past 4 unless you used the sockets feature.  Chaning it from 1 socket 4 core to 4 socket 1 core will help the CPU scheduler do its job easier.

Reply
0 Kudos
MKguy
Virtuoso
Virtuoso

By default, virtual NUMA is only presented to a VM if it has 9 or more vCPUs.

If you really must present vNUMA to the guest with fewer vCPUs, then use a vCPU configuration of 4 sockets with a single core per socket and edit the default VM configuration parameter numa.vcpu.min to the number of vCPUs, e.g. 4 in your case:

http://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.vsphere.resmgmt.doc%2FGUID-3E956FB5-...

ESXi will automatically select the most suitable vNUMA topology depending on the host system, there is no need to play with cores per socket unless you need to do so for licensing reasons:

Does corespersocket Affect Performance? | VMware vSphere Blog - VMware Blogs

Also note that CPU hot-add must be disabled for vNUMA:

VMware KB: vNUMA is disabled if VCPU hotplug is enabled 

Here are some more good general infos on NUMA:

http://www.davidklee.net/2013/12/02/sql-server-virtual-machine-vnuma-sizing/

http://www.vxpertise.net/2012/06/summarizing-numa-scheduling/

-- http://alpacapowered.wordpress.com
Reply
0 Kudos