SAN FRANCISCOStill grappling with the challenges associated with moving to multicore architectures, software developers continue to struggle with basic questions, including not only how best to move to multicore but also whether or not it even makes sense to do so for a given application.
According to David Stewart, CEO of embedded systems design tool startup CriticalBlue, the software development ecosystem around multicore architectures is still evolving. He added that while silicon remains ahead of where the software ecosystem is, chip vendors finally seem to appreciate the enormity of the shift to multicore architectures and have realized that simply providing the chips is not enough. To that end, they've established partnerships to provide developers with the tools they need to implement multicore, said Stewart.
"Many of the semiconductor platform suppliers have been focused on putting loads of cores on silicon and shipping them out to customers, assuming they will just pick them up and use them," Stewart said. But many software developers are still struggling with basic questions about when and how to go to multicore, Stewart said.
"The thing I always try to keep in mind is, software developers didn't ask for multicore architectures," Stewart said. "They asked for better performance and more power efficiency."
Chip makers have responded by offering multicore chips, and the power and performance advantages of these architectures are obvious, Stewart said. While there is no question that multicore is the way forward, software developers are still struggling to play catch up, he said.
In many cases, according to Stewart, developers may not know if it makes sense to move to a multicore architecture or, if it does, how many cores they should use. CriticalBlue's Prism toolintroduced at the 2009 Multicore Expois designed to take developers from a "what if" analysis to "requirements met," streamlining sequential to parallel programming in five best practice steps, he said.
For software applications, considered "embarrassingly parallel," multicore architectures offer obvious benefits and require comparatively little effort to migrate, Stewart said. But for many applications the benefit is less obvious and the work required considerably more challenging, Stewart said.
To that end, CriticalBlue's Skip Hovsmith , director of application engineering, will present a paper on parallelizing real world applications at the upcoming fifth annual Multicore Expo, part of the 2010 ESC Silicon Valley. The paper describes considerations for migrating a web browser such as webkit from on Linux or Android to multicore. A high-level development flow is sketched out, diving down to discuss key analysis steps, useful parallel abstractions, data race checking, scalability decisions, and performance refinements, according to an abstract of the paper.
The CriticalBlue paper is just one of several notable items on the Multicore Expo agenda. Stewart will also participate in a panel discussion, titled "Time for a Multicore?," which concludes the event. The panel will be moderated by Markus Levy, president of the Multicore Association and chair of the Muticore Expo.
Some 50 papers presentations are scheduled for Multicore Expo, organized into nine separate technical tracks. Levy noted that some of the tracks focus on issues around parallelization, debugging and legacy migration, which continue to vex developers and require multiple approaches. "Customers want a silver bullet," Levy said. "But that silver bullet doesn't exist and probably never will."
ESC Silicon Valley and the Multicore Expo will be held April 26 to 29 at the McEnery Convention Center in San Jose, Calif.