SQL SERVER NUMA Architecture


SQL Server 2008 is NUMA–aware, and both scheduling and memory management can take advantage of NUMA hardware by default. You can use some special confi gurations when you work with NUMA, so we’ll provide some general  background here before discussing scheduling and memory. 

The main benefit of NUMA is scalability, which has defi nite limits when you use symmetric multiprocessing (SMP) architecture. With SMP, all memory access is posted to the same shared memory bus. This works fi ne for a relatively small number of CPUs, but problems appear when you have many CPUs competing for access to the shared memory bus. The trend in hardware has been to have more than one system bus, each serving a small set of  processors. NUMA limits the number of CPUs on any one memory bus. Each group of  processors has its own memory and possibly its own I/O channels. However, each CPU can access memory associated with other groups in a coherent way. Each group is called a NUMA node, and the nodes are linked to each other by a high-speed interconnection. The number of CPUs within a NUMA node depends on the hardware vendor. It is faster to access local memory than the memory associated with other NUMA nodes. This is the reason for the name Non-Uniform Memory Access. 

SQL Server 2008 allows you to subdivide one or more physical NUMA nodes into smaller NUMA nodes, referred to as software NUMA or soft-NUMA. You typically use soft-NUMA when you have many CPUs and do not have hardware NUMA because soft-NUMA allows only for the subdividing of CPUs but not memory. You can also use soft-NUMA to subdivide hardware NUMA nodes into groups of fewer CPUs than is provided by the hardware NUMA. Your soft-NUMA nodes can also be configured to listen on their own ports.

Only the SQL Server scheduler and SNI are soft-NUMA–aware. Memory nodes are created based on hardware NUMA and are therefore not affected by soft-NUMA.
TCP/IP, VIA, Named Pipes, and shared memory can take advantage of NUMA round-robin scheduling, but only TCP and VIA can affi nitize to a specific set of NUMA nodes.