by Douglas Eadline
“Basically, it does not matter how many cores you have if you cannot keep them busy. There are limits to how fast memory can transmit data to and from cores. The placement of memory controllers on the processor allows parallel (simultaneous) memory access on an SMP motherboard. That is, instead of one memory controller for all the cores, there is now one for each processor socket. The memory controller is in charge of its own bank of memory. In this way, if a core in one socket is using local memory, it feels no affect when a core in the other socket is using its local memory (and vis versa). In effect the memory access has been parallelized. Note, if memory from another controller is needed, then QuickPath or HyperTransport step in.
This memory controller parallelization is why clusters are so powerful. If you consider that each node has at least one memory controller with an associated bandwidth, then N nodes has N times the memory bandwidth of a single node. Some numbers may help.”


