This Blog is to share our knowledge and expertise on Linux System Administration and VMware Administration

Tuesday, November 14, 2017

What is NUMA (Non-Uniform Memory Access)?

NUMA stands for Non-Uniform Memory Access,describes a system with more than one system bus. CPU resources and memory resources are grouped together into a “NUMA node.

The memory in a NUMA node is thus much more easily accessed by an associated CPU. A CPU that needs to access memory in a different node (“Remote Access”) will experience much higher latency, and thus reduced application performance. 

NUMA is, in short, an alternative approach to server architecture that links several small, high-performing nodes together inside a single server case.  

So long as the memory and CPU being used falls within the bounds of the NUMA node, local communication within a NUMA node allows a CPU much faster access to memory than in an ordinary system layout. This is especially important in the multi-GHz era of today, when CPUs operate significantly faster than the memory they are using. NUMA helps keep CPUs from entering a stalled state, waiting for data, by allowing the fastest possible access to memory. 

 Numactl is a Linux tool that you can use to view NUMA topology on Linux.

numactl -- hardware

[root@nsk ~]# numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0
node 0 size: 2047 MB
node 0 free: 1454 MB
node distances:
node   0
  0:  10

numactl -- show

[root@nsk ~]# numactl --show
policy: default
preferred node: current
physcpubind: 0
cpubind: 0
nodebind: 0
membind: 0

No comments:

Post a Comment