Difference between UMA and NUMA

UMA and NUMA are two shared memory architectures used in multiprocessor systems. They differ in how processors access memory, which affects performance, bandwidth, and suitability for different applications.

UMA (Uniform Memory Access)

In UMA, all processors share a single memory through one memory controller. Every processor has equal access time to any memory location. UMA is simpler to design and is suitable for general-purpose and time-sharing applications.

NUMA (Non-Uniform Memory Access)

In NUMA, each processor has its own local memory and can also access remote memory of other processors through multiple memory controllers. Access to local memory is faster than remote memory, resulting in non-uniform access times. NUMA is suitable for real-time and time-critical applications.

UMA CPU 1 CPU 2 CPU 3 Bus Memory Controller Shared Memory Equal access time for all CPUs NUMA CPU 1 Local Mem Node 1 CPU 2 Local Mem Node 2 slow fast (local) fast (local) Interconnect Bus Local = fast, Remote = slower

Key Differences

Feature UMA NUMA
Full Form Uniform Memory Access Non-Uniform Memory Access
Memory Controller Single Multiple
Memory Access Time Equal for all processors Varies (local is fast, remote is slow)
Bandwidth Limited Higher than UMA
Suitability General-purpose, time-sharing Real-time, time-critical
Bus Types Single, Multiple, Crossbar Tree, Hierarchical
Scalability Limited (bus bottleneck) Better (distributed memory)

Conclusion

UMA provides uniform memory access through a single controller, making it simpler but limited in scalability. NUMA distributes memory across processor nodes for faster local access and better bandwidth, making it suitable for performance-critical and real-time systems.

Updated on: 2026-03-14T09:31:42+05:30

11K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements