The talk about high core CPU's is heating up. Intel announced a 80-core processor with less power consumption than a current Core 2 Duo (article link). That's cool stuff for research, though it's not ready for mass marketing yet. For one thing, at 275 mm squared vs 143 for the Core 2 Duo, the chip is too big (though not massive by any stretch). The bigger thing though, is that the chip doesn't support the x86 instruction set. A VLIW (Very Long Instruction Word) architecture will be fine for specialized applications, but not suitable for running any mainstream operating system. Oh yeah, and they say it's not able to be connected to memory yet!
Their biggest hurdle, they say, is the fact that modern software isn't ready. Not only applications, but operating systems as well. If we can't scale well to dual or quad processors, what's the point of even moving to 16, let alone 80. I wonder about this argument though. It seems to me that certain applications are already very well suited to massively parallel operation -- think of grid computing. Various projects (SETI@Home, Folding@Home, the just announced OpenMacGrid, and many others) allow a huge number of computers to crunch portions of datasets. Each is handed a chunk of data, then the results are fed back to the central server. This model sounds ideal for the high-core scenario. No node is dependent on another. It's idle until work is assigned, it does its own thing, then it sends back the end result. One big thing is that this model is designed assuming high-latency. Smaller chunks of data aren't worth the round-trip. It's also not intended for any kind of realtime consumption. Some changes to these base assumptions would be required, but it seems like the multithreaded/core outlook isn't a bleak as it's made out to be.
Server rendering farms for graphics are a smaller-scale grid application. Each machine in the cluster could just as easily be one of the cores in one of these new systems. I agree that for the common application, no one knows what to do with the level of parallelism. Large dataset analysis and multi-user server systems should see great benefit. When designed in early, most applications can benefit from parallel processing. It's true that synchronization can be a challenge at first, but it all just makes sense once you've worked with it longer. I'll be anxious to see how things progress in the next few years.
Link to Intel squeezes 1.8 TFlops out of one processor | TG Daily
Link to Intel shows off 80-core processor | ZDNet
Arian Kulp
akulp@3leaf.com
Comments