You are on page 1of 2

Unified Memory Architecture (UMA) and Non-Uniform Memory Access (NUMA)

are two different memory-access schemes for multi-processor systems. UMA


systems have a single shared memory address space, while NUMA systems
have a separate memory address space for each processor.

In UMA systems, all CPUs have equal access to all memory. This means that
any CPU can access any memory location with the same latency. UMA systems
are simpler and easier to design than NUMA systems, but they can be less
efficient if the memory is not evenly distributed between the CPUs.

In NUMA systems, each CPU has faster access to its own memory than to
memory that is located on other CPUs. This is because memory requests need
to be transferred between CPUs, which can be a slow process. NUMA systems
can be more efficient than UMA systems if the memory is evenly distributed
between the CPUs, but they can be more complex and difficult to design.

UMA systems are typically used in single-socket systems, while NUMA systems
are typically used in multi-socket systems. UMA systems are a good choice for
systems that do not have a lot of memory, or that do not need to access a lot of
memory simultaneously. NUMA systems are a good choice for systems that have
a lot of memory, or that need to access a lot of memory simultaneously.

Here is a table that summarizes the key differences between UMA and NUMA
systems:

Feature UMA NUMA

Memory address Single shared space Separate space for


space each CPU

Memory access Equal for all CPUs Faster access to


latency local memory,
slower access to
remote memory

Design complexity Simpler More complex


Efficiency Less efficient for More efficient for
systems with systems with evenly
uneven memory distributed memory
distribution

Typical use case Single-socket Multi-socket


systems systems

You might also like