Today more and more systems are coming with NUMA Architecture and I came across this architecture when I was dealing with wait stats.
So whats is NUMA or Non-Uniform Memory Access is all about?
At this point of time we have real fast processors and its getting faster day by day. Sometimes it has to wait for the Memory which runs at a slower speed and technically this is called as Memory latency.Most of the time the CPU has to sit idle and wait for the memory.If we can reduce memory latency,then we can definitely gain performance.
The traditional Symmetrical Memory Access or SMA was having a shared memory and CPU’s accessing that memory.
NUMA refers to a memory design option available for multiprocessor systems.In NUMA architecture each processor will have a portion of memory directly attached to it.
Lets consider this simple figure which will explain the concept well –
Under NUMA architecture for multiple processor systems there will be group of processors and memory dedicated to that group and each group is called a NUMA node.
Lets taken a example of a server with 4 processor cards and each card contains 8 processor cores and 8 memory slots.Each group is called a NUMA Node.
Each CPU can access memory associated with the other groups in a coherent way too.