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


 


Comments (2)

  1. Stating D. Obvious, jr says:

    "a processor can access its own local memory faster than non-local memory "

    Where are the news?

  2. DeepICE2 says:

    NUMA does not refer to the processor onboard cache rather it refers to a special region of regular memory that is dedicated (and possibly directly connected via a special bus) to each processer – howver oother processers can still accces and use that memory (unlike the chip cache)

    So that is big news.