What's NUMA?

I believe NUMA stands for "Non-Uniform Memory Access", and refers to architectures, typically multprocessor ones, in which there may be pieces of physical RAM with differing latencies. For example, an SMP machine might have a range of physical RAM asociated with each CPU; each such range is a single node. Each CPU's RAM is accessible from the other CPUs, and each node has distinct physical addresses, but to access memory on a different node requires a CPU to go through an interlock mechanism that adds a lot of latency to off-node memory accesses. The Linux NUMA code (mm/numa.c) handles this sort of situation, and a lot of the NUMA machinery is visible even on non-NUMA machines at the bootmem and zone-allocation levels.

That's all I'll say about NUMA for now; possibly I'll get back to this later on.

Questions and comments to Joe Knapka

The LXR links in this page were produced by lxrreplace.tcl, which is available for free.

Credits