Jon Stokes writes an article for ArsTechnica saying that developing multicore processors with more than 16 cores may well be pointless due to the severity of the memory wall problem. His analysis is inspired by last month’s IEEE Spectrum article titled, “Is Multicore Bad News For Supercomputers?“.
“In a nutshell, the “memory wall” problem is pretty straightforward, and it’s by no means new to the multicore era. The problem arises when the execution bandwidth (i.e., aggregate instructions per second, either per-thread or across multiple threads and programs) available in a single socket is constrained by the amount of memory bandwidth available to that socket. As execution bandwidth increases, either because clockspeeds get faster or because the die contains more cores, memory bandwidth has to increase in order to keep up.
To put this in simple multicore terms, cramming a ton of processor cores onto a single die does you no good if you can’t keep those cores fed with code and data.
But memory bandwidth isn’t keeping up. Memory bus bandwidth (latency and/or throughput) hasn’t increased quickly enough in proportion to Moore’s Law, a fact that leaves processors starving for bytes. In this respect, the “memory wall” is a classic producer/consumer problem, and it’s the reason that on-die cache sizes have ballooned in recent years. As the memory wall gets higher and higher, it takes more and more cache to get you over it. At this point, it would be fair to say that most modern server processors are really high-speed memories with some processor core stuck on the die, instead of vice versa.”



1 response so far ↓
1 The “Nulticore” effect // Dec 8, 2008 at 5:09 am
[...] Is more than 16 cores pointless? [...]