I realize that the OP's question undoubtably deals with SMP, but I've made it a mission to point out that TIMTOWTDI when it comes to multiple processor machines.
<pedantic>
SMP = Symmetric Multi Processing - a certain way of using more than one processor at a time, usually reserved to systems of eight or fewer processors. Compare NUMA.
NUMA = Non-Uniform Memory Access - a type of multi-processor arrangement in which memory access times differ depending upon which processor is using which part of memory, necessitating that the OS keep track of which parts of memory it uses or assigns to applications. Compare SMP, see The Linux Scalability Effort for some examples.
Update (for sake of a more complete list):
There's also Assymmetric Multi Processing, in which certain code must be run on certain processors instead of any process being assigned to any processor. NUMA is generally closer to SMP than AMP.
Some definitions of SMP only address its differences from AMP, saying that SMP means that any process can run on any processor. This means that most NUMA machines are SMP with additional scheduling concerns.
As I've heard SMP defined, it is usually clarified that not only can any processor handle any process, but that the machine also allows each processor the same access to all of the system's main memory. This definition makes SMP and NUMA distinct.
</pedantic>
|