NUMA
Non-Uniform Memory Access
ELI5 - The Vibe Check
On a big multi-socket server, not all memory is created equal, memory attached to your CPU socket is fast to reach, and memory attached to the other socket is noticeably slower because the request has to hop across an interconnect. NUMA is that reality, and it means where you place your data and which core you run a thread on can matter more than how clever your algorithm is.
Real Talk
NUMA is a memory architecture used in multi-socket servers where each CPU socket has its own local memory bank that it can access quickly, while accessing memory attached to a different socket requires crossing an interconnect and incurs higher latency. NUMA-aware applications and operating systems try to schedule threads on the same socket as the memory they access most, since naive memory placement can silently cut throughput in half on large machines.
When You'll Hear This
"That mysterious 2x slowdown was NUMA, the process got scheduled on the wrong socket." / "We pin threads to a NUMA node so they only touch local memory."
Related Terms
Cache Line
Your CPU never fetches just the one byte you asked for, it grabs a whole chunk around it, usually 64 bytes, called a cache line, on the theory that you'll...
Context Switch
A context switch is the CPU pausing whatever thread it's running, carefully saving all its progress like a bookmark, and loading up a completely different...
Memory Ordering
Memory ordering is the unsettling fact that the order you wrote your instructions and the order the CPU and compiler actually carry them out are not the sa...
Work Stealing
Work stealing is how a pool of worker threads keeps itself busy without a manager micromanaging every task.