tags : Computer Architecture, Operating Systems

In early times CPU generally ran slower than its own memory, in the 1960s this changed to the opposite. This means CPUs now will wait for data to arrive from memory, so we focused on high speed memory access. This meant adding caches near the CPU, but caches get overwhelmed. With multiprocessors, this problem became more apparent as only one processor can access the computerā€™s memory at a time that made other processors wait.

NUMA

Basic Into

  • Non-uniform memory access (NUMA) is a computer memory design used in multiprocessing
  • Memory access time depends on the memory location relative to the processor.
  • Under NUMA, a processor can access its own local memory faster than non-local memory (memory local to another processor or memory shared between processors).

Detailed stuff

  • NUMA systems are advanced server platforms with more than one system bus.
  • NUMA isnā€™t caused by the additional memory controllers, but by how long a core takes to access each memory partition
  • Normal desktop processors are NOT NUMA, they are just SMP and UMA. No matter if your memory is 2, 4 6 or 8 channel.
  • Things only go NUMA once you go multi socket.
  • In NUMA, each node contains processors and memory, much like a small SMP system. + advanced memory controller allows a node to use memory on all other nodes.

History

UMA

Uniform memory access (UMA) is a shared memory architecture used in parallel computers. All the processors in the UMA model share the physical memory uniformly.

Multi-channel memory

Addressing the latency problem for non-numa systems can use multi-channel memory, in which a linear increase in the number of memory channels increases the memory access concurrency linearly

is a technology that increases the data transfer rate between the DRAM memory and the memory controller by adding more channels of communication between them.

More Info