-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dieter Ries wrote:
> 
> BTW, what is NUMA exactly? And when should one use it?
> 

I don't know the details for linux support for NUMA, but it means
non-uniform memory architecture, as opposed to symmetric
multi-processing (SMP).

In an SMP box all CPUs have equal access to all memory.

In NUMA a particular CPU has faster access to some memory than other memory.

For few CPUs SMP is feasible and simpler to handle - each CPU sits on a
bus with all the RAM, and each CPU accesses any piece of RAM in the same
way.  The problem is that this doesn't scale well - you get bus
contention and maybe even distance/timing issues when you have lots of
CPUs.

The solution to the problem is to give each CPU (or group of CPUs) a
dedicated chunk of RAM, and the ability to access the rest of the RAM by
asking other CPUs/busses/etc for help.  Access to the local memory is
faster than access to non-local memory.  The lowered contention for
local memory makes it possible to scale up the local speed, but you pay
a penalty for accessing non-local memory.

So, an OS needs to know about NUMA to get optimum performance.  For
starters, you'd want to place a processes code and data in the local
memory for the CPU it runs on most of the time.

And I'm sure somebody who knows a lot more about NUMA would be able to
add a lot more to this discussion, and I'm sure I have at least a few
errors in my description....  :)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGg/nZG4/rWKZmVWkRAjIRAJ4ymOD7u/QIBNz2hCtfDQQoZfyPtACgo8OU
hLGhZqMmpK8RxvhhRo8+z98=
=ijjk
-----END PGP SIGNATURE-----

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to