-----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-----
smime.p7s
Description: S/MIME Cryptographic Signature