LearnViz CompSci
Home / Learn / Concurrency & Parallelism / NUMA

Advanced Topic 42 of 51 Concurrency & Parallelism

NUMA

Memory architecture with non-uniform access times.

How it works

Non-uniform memory access describes multiprocessor systems where each CPU socket has its own local memory, and accessing memory attached to another socket is slower, because it travels over an interconnect. The operating system tries to allocate memory on the node where the thread runs, first-touch policy, and schedulers try to keep threads near their data. Programs can control placement with affinity, numactl, memory policies and NUMA-aware allocators.

Where it is used

Large servers, databases, in-memory caches, high-performance computing and virtualization hosts must consider NUMA to achieve full memory bandwidth and low latency.

Common pitfall

Remote accesses can be 1.5 to 3 times slower and congest the interconnect. A thread that initializes data on one node and then migrates to another pays remote costs. Interleaving memory spreads load but loses locality. Data structures shared by all threads become bottlenecks. Pin threads, partition data per node, allocate memory where it will be used and measure with tools such as numastat and perf.

Where it fits in the course

NUMA is topic 42 of 51 in Concurrency & Parallelism, rated Advanced. It follows False Sharing. The next topic is Parallel Graph Algorithms.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Concurrency & Parallelism quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is NUMA?
Memory architecture with non-uniform access times. It belongs to Concurrency & Parallelism and is an advanced-level topic.
Where do people use NUMA?
Large servers, databases, in-memory caches, high-performance computing and virtualization hosts must consider NUMA to achieve full memory bandwidth and low latency.
What is the most common mistake with NUMA?
Remote accesses can be 1.5 to 3 times slower and congest the interconnect.
What should I learn before this topic?
Start with False Sharing, the topic just before it in Concurrency & Parallelism.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Concurrency & Parallelism quiz.
Is NUMA hard to learn?
It is an Advanced topic. Expect to read the explanation more than once and to connect it with earlier topics. Working through a small example by hand helps most.
How long does it take to learn NUMA?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to NUMA?
False Sharing, Parallel Graph Algorithms, Load Balancing in Parallel Programs are closely connected. The full list is in the related topics section of this page.
What should I study after NUMA?
Continue with Parallel Graph Algorithms, the next topic in Concurrency & Parallelism.

Related topics