David Patterson over at IEEE Spectrum has written an article entitled “The Trouble With Multicore.” Kudos to David for a very thorough and well thought out article.  He gives plenty of background on how we arrived at multicore processors, and some of the techniques and challenges that come with parallel processing.  The advent of multicore processing was pretty much a gamble on the part of the semiconductor manufacturers, although their hand was forced due to the power wall associated with increased processor speeds:

“[In 2005] the semiconductor industry threw the equivalent of a Hail Mary pass when it switched from making microprocessors run faster to putting more of them on a chip—doing so without any clear notion of how such devices would in general be programmed. The hope is that someone will be able to figure out how to do that, but at the moment, the ball is still in the air.”

Achieving sustained parallel performance with application codes is a major effort.  In research and engineering communities, we have had increased success, but with that comes a major outlay of time and resources.  Here are a couple of choice quotes in the article that indicate the increased effort it takes to exploit multicore processors: Read the rest of this entry »