What is NUMA? Where it is used? [Resolved]

Posted by Amatya under C# on 4/7/2016 | Points: 10 | Views : 1729 | Status : [Member] | Replies : 3
What is NUMA? Where it is used and what are the applications of it?

Feel free to share informations.
mail Id ' adityagupta200@gmail.com


Posted by: Rajnilari2015 on: 4/12/2016 [Member] [Microsoft_MVP] [MVP] Platinum | Points: 50


NUMA: Non-Uniform Memory Architecture is a hardware design that improves server scalability by removing motherboard bottlenecks.

Over the years, symmetric multiprocessing (SMP) architecture has been very popular. A common characteristic of SMP architecture is that all CPUs share a single front bus that is used to access memory, manage tasks and threads. This front bus becomes a point of contention, making it very difficult to scale.

Now with this understanding, NUMA addresses this issue very effectively. In NUMA, we have multiple nodes (localized structures) that make up the larger machine, and each node has its own bus. This minimizes front bus contention, leading to better scalability than SMP architecture offers. However, in NUMA each node also has its own local memory. So if a node has to access non-local (foreign) memory, it can be multiple times slower when compared to local memory access. An application that is NUMA-aware can address this issue by doing most of its work on the local node.


a) Each node (or CPU) has its own memory bank
b) Memory access management is now distributed

Reference: https://msdn.microsoft.com/en-us/library/ms178144(v=sql.105).aspx

Applications of NUMA

- NUMA is fundamental to sQL Server's internal memory management
- SQL Server memory nodes map directly to hardware NUMA nodes
- SQL Server’s objective is to reduce the need for remote memory access where NUMA helps a lot since a task’s memory objects get created within the same NUMA node wherever possible

Hope this helps

Thanks & Regards,
RNA Team

Amatya, if this helps please login to Mark As Answer. | Alert Moderator

Posted by: Debendra256 on: 4/11/2016 [Member] Starter | Points: 25

NUMA refers to the computer memory design choice available for multiprocessors. NUMA means that a processor has memory attached to it directly (local memory) and also has connection to memory that is attached to other processors (remote memory). It will take longer to access some regions of memory than others.

For more detail about NUMA please check the below link.

Debendra Dash

Amatya, if this helps please login to Mark As Answer. | Alert Moderator

Posted by: Professionaluser on: 4/7/2016 [Member] [MVP] Bronze | Points: 25

NUMA (Non-Uniform Memory Access) is a method of configuring a cluster of microprocessor in a multiprocessing system so that they can share memory locally, improving performance and the ability of the system to be expanded.

NUMA design is used in multiprocessing, where the memory access time depends on the memory location relative to the processor. Under NUMA, a processor can access its own local memory faster than non-local memory (memory local to another processor or memory shared between processors). The benefits of NUMA are limited to particular workloads, notably on servers where the data are often associated strongly with certain tasks or users.

The main benefit of NUMA is scalability. It is extremely difficult to scale SMP past 8-12 CPUs. At that number of CPUs, the memory bus is under heavy contention. NUMA is one way of reducing the number of CPUs competing for access to a shared memory bus.

SMP and NUMA systems are typically used for applications such as data mining and decision support system in which processing can be parceled out to a number of processors that collectively work on a common database. Sequent, Data General, and NCR are among companies that produce NUMA SMP systems.

Amatya, if this helps please login to Mark As Answer. | Alert Moderator

Login to post response