# What Is NUMA? [SOLVED]

## wswartzendruber

One of my professors was telling me today that most newer machines are NUMA.  I also saw the kernel's config ask me about NUMA.  Does a Penryn-based machine meet the requirements?Last edited by wswartzendruber on Sun Feb 05, 2012 4:56 pm; edited 1 time in total

----------

## DaggyStyle

http://en.wikipedia.org/wiki/Non-Uniform_Memory_Access

----------

## ulenrich

There is  a config option for linux to simulate NUMA. 

I guess this is something just to provide more standard ABIs? 

Is this recommended using an older Intel core2Duo processor?

----------

## Veldrin

Unless you have multiple processors on multiple sockets (real physical processors) i would stay clear of NUMA.

It provides advantages to multi socket systems, where memory is attached (or at least close) to one socket compared to the others, and therefore tell the scheduler to keep those threads on a specific socket. 

and emulation implies slow, there only to be used i special circumstances, and most definitely not in HPC environment

and ulenrich, if you would read the help text, you would know that is only useful for debugging.

V.

----------

## Goverp

 *ulenrich wrote:*   

> There is  a config option for linux to simulate NUMA. 
> 
> I guess this is something just to provide more standard ABIs? 
> 
> Is this recommended using an older Intel core2Duo processor?

 

Are you reading the kernel document fake-numa-for-cpusets?  IIUC, the more useful one is in /usr/src/linux/Documenation/vm/numa.

My reading of that is the kernel has proper NUMA support, but it's only going to make a difference if your system has multiple processor chips.  Note that's not multiple processors in a single chip, as they (AFAIK) always share the same memory bus.

The trouble with NUMA is that it's a concept, not an implementation.  Strictly speaking, virtually all processors use NUMA, as they have local registers and one or more level of instruction and/or data cache, and that's definitely not uniform.  However, the level of NUMA the kernel gets into is where there are DRAM banks that have different access speeds due to sharing multiple buses.  I'm pretty sure my AMD Phenom 4-way processor has NUMA support within it, but as my motherboard has only one socket, there's no way the it will achieve anything external to the processor.

----------

## wswartzendruber

So that kernel option seems to apply to multi-socket systems only.  Thanks for the input.

EDIT:  But wait, what about the Core 2 Quad series that had two dies on one socket?  Does that count?

----------

## roarinelk

no, since both dies have the same distance (and latency) to memory.

----------

## wswartzendruber

Got it.

----------

