SAN JOSE, Calif. – The wall on the horizon in multicore programming is getting closer, according to a panel of experts at the Multicore Expo here. Without new tools and methods, programmers will not be able to continue to reap significant benefits from tomorrow's increasingly parallel chips.
Processor designers switched from pushing frequency to delivering multicore designs to avoid hardware problems of power leakage. But that has created an increasingly pressing need for parallel programming tools and methods that don't yet exist.
"The wall is there," said Alex Bachmutsky, a chief architect at Nokia Siemens Networks. "We probably won't have any more products without multicore processors [but] we see a lot of problems in parallel programming," he said.
"One of our problems is how to parallelize existing programs with eight or 10 million lines of code--you can rewrite everything but it will cost a lot of money," Bachmutsky said.
"The other problem is we have some algorithms that from their definition were not parallel like Viterbi decoding," he said. "We can change it, but we'd have to change all the cell towers and phones, too, and it's not do-able," he added.
An audience member noted another looming problem: developers can no longer expect next-generation processors will boost performance of their apps. "For 40 years we got a free lunch, but now I wonder what I can write in my code today that will still work in 20 years," he said.
"You can double cores and actually decrease performance," said Rob Muñoz, a distinguished engineer at LSI.
"Parallel software is hard to develop, maintain and evolve," Muñoz said. "There's a graveyard of companies who have tried, but the industry is stuck with multicore because it’s the only way to scale chips," he said.
LSI has taken a conservative approach to using multicore in its comms chips to limit the software problems, he said.
"A lot of the problems we are trying to address are ones we have had for 30 years in high performance computing, and we haven't solved them yet," said Mike Anderson, chief scientist, with The PTR Group, a consulting firm.
One nasty problem is how to manage multithreaded apps where threads may move between different cores, he said.
"You have to change the way you think about the problem," Anderson said. "People in DSP understand how parallel tasks such as multiply-accumulates and fast Fourier Transforms work, but that’s not the majority of developers in the market now," he said.
Asked if the industry needs a new programming language, one panelist said we already have too many of them. "First need to understand what it means to be parallel," he said.