Databases Reference
In-Depth Information
The memory node is separate from the scheduler node, not grouped together as it is at the hardware
level. This provides a greater degree of l exibility and independence; it was a design decision to
overcome memory management limitations in earlier versions of Windows.
NOTE Intel's Hyper-Threading (HT) technology duplicates the state of each
CPU core and presents two logical processors to Windows per core. SQL Server
sees whatever Windows presents, so if the processors in Figure 3-4 subsequently
had HT enabled, you would see eight schedulers being created per node. You can
read more about HT in Chapter 2.
SQL Server NUMA CPU Confi guration
You can view information about the NUMA coni guration
in SQL Server using several DMVs. Figure 3-5 shows
results from sys.dm_os_schedulers on a server with 24
logical processors and two NUMA nodes. The
parent_node_id column shows the distribution of
schedulers and CPU references across the two NUMA
nodes. You can also see a separate scheduler for the
dedicated administrator connection (DAC), which isn't
NUMA aware.
The sys.dm_os_nodes DMV also returns information
about CPU distribution, containing a node_id column
and a cpu_affinity_mask column, which when converted
from decimal to binary provides a visual representation of
CPU distribution across nodes. A system with 24
logical processors and two NUMA nodes would look like
the following:
node_id dec-to-bin CPU mask
0 000000000000111111111111
1 111111111111000000000000
FIGURE 3-5
When SQL Server starts, it also writes this information to the Error Log, which you can see for the
same server in Figure 3-6.
FIGURE 3-6
SQL Server NUMA Memory Confi guration
As you learned earlier in the chapter, SQL Server memory nodes map directly onto NUMA nodes at
the hardware level, so you can't do anything to change the distribution of memory across nodes.
Search WWH ::




Custom Search