Don't blame the programmers... #
Posted Sunday 21st June 2009 15:54 GMT
Multi-core processors with a shared memory architecture can only be taken so far anyway, because of the problem of maintaining cache consistency. As the number of cores increases, it gets harder to ensure that all see a consistent view of the memory. Even ignoring that, you are still sharing the memory bandwidth of a single processor between many cores.
Maybe the solution is to have multiple cores with independent memory spaces on a single chip, but that (1) requires a different programming approach again - distributed rather than shared-memory concurrency, and (2) you still have the memory bandwidth issue. If you have multiple memory busses and the cores don't share the same memory, why put all the cores in the same chip in the first place?
More cores per processor also means heat dissipation issues, so maybe the better solution is simply to have multiple processors, each physically separate (less heat to handle) and each with its own bus to its own memory. Each processor would have multiple cores, true, but only up to the limit that shared-memory multi-cores can scale up to - and that could be as low as 16, IIRC, primarily due to the cache issues.
That said, my existing single-core desktop pentium 4 is working out fine for me. I don't need to encode video or render 3D on a regular basis, so what's the point in anything more? The same applies to my mobile P4 laptop. I might upgrade anyway, but since my OEM Windows XP licenses are tied to the motherboards, it's just not a reasonable option. Has anyone else noticed how that policy damages Intels and AMDs sales?


