Unlike the chicken and the egg, in today's multicore environment, we can definitively say the hardware came first, and we're beginning to wonder if the software will ever come at all. We're not referring to the handful of games and applications that are multicore friendly, but the widespread development of software to take advantage of multiple cores.
So what's the holdup? According to participants at last week's Multicore Expo in Santa Clara, California, programming challenges remain . While there's no shortage of multicore processors in the wild, much of the software being written is still being geared towards single-core computing.
" Looking at the specifications for these software products, it is clear that many will be challenged to support the hardware configurations possible today and those that will be accelerating in the future," said Carl Claunch , vice president and distinguished analyst at Gartner. "The impact is akin to putting a Ferrari engine in a go-cart; the power may be there, but design mismatches severely limit the ability to exploit it."
The above statement comes from a report Gartner released two months ago. In it, Claunch goes on to explain that the software running today's servers have both hard and soft limits on the number of processors the software can effectively handle, the latter of which requires trial and error to overcome.
Parallel computing may seem like a no-brainer, but programmers point to the potential of new types of software bugs and lack of programming tools. On the bright side, more tools are emerging, and both Intel and AMD have made it clear that the future of computing lies in multiple cores. That future will be realized once software development catches up to the hardware.