SYSK 95: Expand Your Horizon – Learn About NUMA

NUMA stands for Non-Uniform Memory Access or Non-Uniform Memory Architecture.

 

NUMA is a computer memory design used in multiprocessors, where the memory access time depends on the memory location relative to a processor. Under NUMA, a processor can access its own local memory faster than non-local memory (a.k.a. foreign or remote memory), that is, memory which is local to another processor or shared between processors.

 

NUMA can improve the performance over a single shared memory by a factor of roughly the number of processors (or separate memory banks).

 

Did you know that Microsoft SQL Server 2005 is non-uniform memory access (NUMA) aware, and performs well on NUMA hardware without any special configuration?

 

Run the following query to find the number of memory nodes available to SQL Server:

 

SELECT DISTINCT memory_node_id

FROM sys.dm_os_memory_clerks

 

References:

How SQL Server 2005 Supports NUMA -- http://msdn2.microsoft.com/en-us/library/ms180954.aspx

Non-Uniform Memory Access – http://www.answers.com/topic/non-uniform-memory-access

Understanding Non-uniform Memory Access -- http://msdn2.microsoft.com/en-us/library/ms178144.aspx