Databases Reference
In-Depth Information
A NUMA node can access memory belonging to another NUMA node but this incurs additional
overhead and therefore latency — this is known as remote memory .
Coreinfo, a free tool from Sysinternals that can be found on the TechNet website, displays a lot of
interesting information about your processor topology, including a mapping of the access cost for
remote memory, by processor. Figure 3-3 shows a screenshot from a NUMA system with two nodes,
indicating the approximate cost of accessing remote memory
as 1.3 times that of local — although latency in the tests can
produce outlying results as you can see in the i gure. 00 to 00 is
actually local and should report a cost of 1.0.
FIGURE 3-3
NOTE NUMA nodes are fundamental to SQL Server's architecture, so you'll be
using them even if you don't have NUMA-capable hardware. On your laptop, for
example, SQL Server treats everything as being in NUMA node 0.
SQL Server's Use of NUMA
SQL Server creates its own internal nodes on startup that map directly on to NUMA nodes, so you
can query SQL Server directly and get a representation of the physical design of your motherboard
in terms of the number processors, NUMA nodes, and memory distribution.
For example, Figure 3-4 shows a representation of a server with two processors, each with four
cores and a bank of local memory that makes up a NUMA node. When SQL Server starts, the
SQLOS identii es the number of logical processors and creates a scheduler for each one in an inter-
nal node (SQLOS and Schedulers are covered in Chapter 1 and Chapter 5).
SCHEDULER NODE 0
MEMORY NODE 0
SCHEDULER NODE 1
MEMORY NODE 1
Scheduler 0
Scheduler 1
Scheduler 0
Scheduler 1
Memory
Memory
Scheduler 2
Scheduler 3
Scheduler 2
Scheduler 3
SOFTWARE
NUMA NODE 0
NUMA NODE 1
Core 0
Core 1
Core 0
Core 1
Memory
Memory
Core 2
Core 3
Core 2
Core 3
HARDWARE
FIGURE 3-4
Search WWH ::




Custom Search