How to check the NUMA boundaries of an ESXi host?

Pkafkas
Pkafkas used Ask the Experts™
on
Hello,

I have been asked to increase a the number of CPU's on a sever from 4 CPU's to 8 CPU's.  

screen1
I have been told by a consultant that "You should look at the NUMA boundaries of the host to make sure we don't increase the number of vCPUs to a point where it causes processing to cross this boundary.   You could check if you are familiar with PuTTY. "

There was an article referenced; but, I am not sure how I can apply that knowledge to check for the NUMA ( http://blogs.vmware.com/vsphere/2013/10/does-corespersocket-affect-performance.html ).

Can someone explain to me how to check for the NUMA and what it is actually?  Please reference the question;  http://www.experts-exchange.com/questions/28690744/How-to-add-more-RAM-and-CPU's-to-a-VMware-sserver.html#a40838173
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
PkafkasNetwork Engineer

Author

Commented:
The ESXi Host which has the Server in question, has the following information:

screen1
We currently have 4 VM's and 1 template on this host.

16 cpu's are allocated out of 32 on the host.
36 GB of RAM are allocated out of 128 GB.

We are probably not in danger of reaching the limit where it causes processing to cross this boundary.

VM1 = 4 Virtual Sockets & 1 Core per socket.
VM2 = 1 Virtual Socket & 4 Cores per socket.
VM3 = 1 Virtual Socket & 4 Cores per socket.
VM4 = 1 Virtual Socket & 4 Cores per socket.
Template1 (powered off) unknown.

But how can I be sure?
Commented:
Cores per socket. If hyperthreading is enabled, then double the cores per socket number and that's the maximum number of vCPU you can add to a VM before it has to cross the NUMA boundary.

Same sort of thing can be used to plan for vRAM allocation as well. In a host with 128GB RAM, and 2 populated CPU sockets, 64GB would be controlled by each CPU. So, 64GB is the max vRAM that can be used before the NUMA boundary has to be crossed to get past that 64GB.

This is all for maximizing performance, and I usually tell my customers that unless you are severely scaling up on a host, or are running anything that is even remotely sensitive to CPU or memory latencies, you typically don't need to worry about it so much. If you like to get the most performance possible, no matter what, then be mindful of them.

If you're still not sure, then test. Run benchmarks prior to changing the value, then run the same after, and compare.

Also, "4 Virtual Sockets & 1 Core per socket" from a host perspective, is the exact same thing as "1 Virtual Socket & 4 Cores per socket". VMware added virtual cores to allow customers to be compliant with the licensing terms of some third party software products that charge for their products by the core or by the socket. Functionally, it makes no difference. Both of those examples will still create a VM with 4 vCPU inside it.
PkafkasNetwork Engineer

Author

Commented:
So if you have 8 cores per socket and no hyperthreading enabled does that mean 8 CPUs I can add to 1 VM before the Numa boundary is crossed?
PkafkasNetwork Engineer

Author

Commented:
I still do not understand how MUMA boundaries work.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial