Questions tagged [numa]

Non-Uniform Memory Access is what it stands for. For x86 architectures this is the method used to handle memory architectures where each processor has local memory and accessing another processor's memory is appreciably more expensive.

Non-Uniform Memory Access describes a memory architecture in which RAM is partitioned into more than one locality. Localities are called Nodes, and in most commodity hardware correlates to CPU processor sockets. In such systems access times to RAM is dependent upon which CPU is calling the FETCH and which NUMA Node the requested RAM resides in. RAM that is local to the CPU node will be fetched faster than RAM local to another CPU node.

NUMA-enabled systems provide hints to the OS in the form of certain BIOS structures. One such structure is the System Locality Information Table, which describes the relative cost of certain nodes communicating. In a fully-connected system where each node can talk directly to every other node this table is likely to have the same values for each node. In a system where nodes do not have direct connection, such as a ring topology, this table tells the OS how much longer it takes for the distant nodes to communicate.

NUMA allows NUMA-aware operating systems and programs an additional optimization center. Such programs ( is one such) will keep process-local memory on the same NUMA-node, which in turn allows for faster memory response times. For NUMA-aware operating systems operating policy is usually set for processes to be served out of a specific NUMA node's memory for as long as possible, which also restricts execution to the cores associated with that node.

For systems that will not be running NUMA-aware programs the differential memory access times can cause seemingly undiagnosable performance differences. The severity of this disparity is very dependent upon the Operating System being used. Because of this, most server manufacturers have a BIOS option to interleave memory between NUMA nodes to create uniform access times.

Historically, older servers (before 2011) set this BIOS setting to interleave by default. However, advances in OS support of NUMA and CPU manufacturers inter-node connection architecture advances have change this, and such settings are increasingly set to let the OS handle memory interleaving.

For Linux operating systems the command numactl can be used to manage the memory policy for a NUMA-enabled system.

70 questions
0
votes
1 answer

NUMA processor definition

NUMA, non-uniform memory access designates a symetric multi-processing system where processors are grouped into nodes, with each group sharing some level of memory, so that memory access on same node is faster than memory access to another node. To…
kiriloff
  • 129
  • 4
0
votes
1 answer

HP Server ProLiant DL360 Gen9 vs IBM System x3850 X5 ==> Numa Processor group usage

The same C# executable programmed to run on every nodes have those different behavior: HP: Run on one node only (one processorGroup) (any one of the 2). Problem: it suppose to run on every nodes. IBM: Run on all nodes (every processorGroup) Both…
0
votes
0 answers

Optimizing CPU and Memory use on Multi-socket NUMA server

I am building a server that will be used by interns in my company to connect to and perform some tasks. The server is running AlmaLinux 9 and using KVM to run Windows 11 guests. The server has 2 CPU sockets, each running 8-core CPU's. After reading…
Fabz
  • 1
0
votes
1 answer

Should I worry about "Unknown NUMA node; performance will be reduced"?

I have a NUMA system with two Xeon E5-2680 v3's. System is running Debian 11.5 (Proxmox VE 7.3-3). When making sure that NUMA was enabled I noticed this in my dmesg: root@(host):~# dmesg | grep -i numa [ 0.012447] NUMA: Initialized distance…
0
votes
1 answer

Use of dual-port NIC

I was wondering, what is the purpose of a dual-port NIC on a blade compute unit, in the context of a datacenter rack, like which of these configurations is more in line with modern datacenter architecture? Having a backup top-of-rack switch (is…
Mihir Shah
  • 11
  • 2
0
votes
1 answer

Uneven cpu utilization linux dual socket server

Recently I noticed on two of our servers strange distribution of tasks. Both servers are dual cpu EPYC 7402 physically the same platforms, running the same tasks, differ in numa configuration, kernel and ubuntu. Server 1 configuration and…
Mardaker
  • 1
  • 1
0
votes
1 answer

How to calculate the QuickPath Interconnect (QPI) bandwidth?

For Xeon E5-2697 v2, Intel lists: Bus Speed = 8 GT/s # of QPI Links = 2 According to Wikipedia, one must know the QPI frequency and link width to calculate the QPI bandwidth, but these don't seem to be listed here. How to calculate it then?
MWB
  • 187
  • 9
0
votes
1 answer

how libvirt cputune config goes to qemu-kvm

I am porting xml libvirt config to qemu executable arguments. Simply I have .xml vm config from virsh edit vm-name and I want to run the same vm machine by executing qemu-system-x86_64 with special command line parameters. Die to my specific needs I…
Andrey
  • 3
  • 2
0
votes
1 answer

NUMA 1 not used on SQL Server 2008 R2 on Windows Server 2008 R2 on ESXi

We've got Microsoft SQL Server 2008 R2 running on Windows Server 2008 R2, virtualized on VMWare ESXi 6.7.0. The server has 2 CPU sockets with 22 cores each. The VM is allocated 8 sockets with 3 cores each and 64 GB RAM (ServerEnterprise). Inside the…
-1
votes
2 answers

Hyper-V NUMA setting

My machine is running on Window 2012 R2, with 48 Logical processors and 240GB RAM. I have create a VM with 48 processors and 230GB ram. I am double about the NUMA nodes I should create and memory assign to each nodes. By click a the 'Hardware…
Louis Lee
  • 7
  • 2
1 2 3 4
5