Panelists: Software Not Keeping Up With Multicore Advances
Challenges facing multicore processors include programming difficulties and a lack of development environments, according to participants at the recent Multicore Expo.
March 25, 2006
SANTA CLARA, Calif. — The migration to multicore processing, though fraught with challenges, is the only plausible way to achieve the computing performance required in the not-to-distant future, concluded a panel of executives at the Multicore Expo here Thursday (March 23).
Saying that the semiconductor industry has "hit a wall" with single-core processing Sven Brehmer, president and CEO of PolyCore Software Inc., maintained that moving to multicore is the only way to progress.
"Even if this is a very painful thing to do, we have to move forward with it," Bremer said. Bremer later added that, even if a better alternative to multicore architecture suddenly emerged, it would be five to 10 years before it could be implemented.
The pain Bremer referred to is multi-faceted, related to a myriad of challenges facing multicore processors, including programming difficulties and a lack of development environments. Designing a multicore architecture is only half the battle — efficient multicore development environments remain elusive, according to panelists.
Multicore processors are only part of the solution, according to Tim Allen, senior director of embedded processor development at Altera Corp. The bigger issue is that software development has not kept pace with advances in hardware development."Developing software is way too hard," Allen said, adding that Moore's Law has overwhelmed the software development process. "I think we just haven't been able to keep up with the huge increase in memory size and computing power."
Pointing to the discrepancy in size of hardware and software development teams, the industry needs to "change the way that people work," Allen said.
"We tend to build software for a specific architecture, and I think that is fundamentally wrong," said Simon Davidmann, CEO of Imperas Inc., a Palo Alto, Calif. startup focused on unified system design automation. Davidmann, a former Synopsys executive who has been involved with a number of successful startups, added, "I don't think that every company that builds a multicore chip should be doing all of the software for it. It's hard enough building a chip."
Panelists agreed that the abundance of multicore architectures currently available is an advantage, not a hindrance, to multicore evolution.
Michael Perrone, manager of the Cell chip solutions department at IBM Research, said, while there are certainly too many hardware platforms for the market to support long term, the abundance is beneficial at the early, "exploration" stage of multicore."We need to explore lots and lots of them and have 95 percent of them die," Perrone said.
"There are way too many [hardware platforms]," Bremer said. But, he added, having so many available gives designers choices and will result in a natural "sorting," where only the strongest will survive.
Panelists emphasized that system architects, in sorting through options, need to consider traditional tradeoffs between things like price, performance and cost. The immense computing power available is useless unless engineers can get a device to work, they said.
In detailing the challenges facing multicore, Perrone singled out as the most significant the need to balance ease-of-use versus performance. "We can really make complex processors that have all kinds of performance," he said. "But if you can't code to it, what good is it?"
Perrone said the industry needs better tools for monitoring, optimization and tuning.
Panelists were largely in agreement that the industry as a whole is not fully ready to embrace multicore methodologies."People are not yet ready," Davidmann said. "The silicon is going to give people things that they don't yet need, but they think they do."
Bremer said he was originally surprised to hear from customers that have multiple cores but were not using them, until he began hearing it over and over. "They have absolutely no idea how to use them," he said.
"What we are talking about is way out in front of where most of our customers are at the moment," said Altera's Allen. "But they catch up all at once sometimes."
Mark Grosen, engineering manager of Texas Instruments' software development organization, said a lot of the customers that he works with are already doing multithreaded work. Providing the right runtime hardware so that customers don't have to worry about the details of the actual hardware is a key thing that his organization is working on, Grosen said.
There are two main barriers to customer adoption of multicore, IBM's Perrone said, difficulty in assessing the performance that they will get from moving to multicore — which differs case by case — and the cost of porting their code to the new architecture."As we have more and more concurrent problems, we are going to need new tools and technologies to help port applications quickly [from one architecture to another]," Davidmann said.
PolyCore's Bremer said that, once the industry as a whole gets to the "pain point" of realizing there is no way other than multicore to achieve the required performance, "you'll see new tools and new methodologies that allow you to look at this at a much higher abstraction level."
You May Also Like