Multi-core computing is a growing concern, as both Intel and AMD are gearing up to deliver the next generation of processors, featuring multiple processing cores. For instance, AMD's upcoming Nehalem chips, slated for release during the fourth quarter of the year, will pack no less than eight cores with simultaneous threading technology.
However, the existing software cannot take full advantage of all the CPU power when running on multi-core systems and it seems that the bottleneck does not reside in the hardware architecture but rather in the unoptimized software design.
MatLab users are already familiar with the parallel computing optimization algorithms called solvers. They are tiny pieces of code that perform tradeoff analysis and balance multiple design alternatives. A code developed using solvers would take full advantage of multiple core processing capabilities and would not require massive application re-writes, given the fact that it would automatically seek for parallel hardware resources.
"We have been moving from an explicit to an implicit parallel-programming model in which users don't need to program anything", said Loren Dean, director of engineering for MatLab products at The MathWorks. "We want to make this easy for people", he continued.
The achievement is the result of over five years of engineering research, but the race does not stop here, as MathWorks is currently looking for a solution to combine multiple cores with different applications. For instance, AMD, Intel and Nvidia announced that they would deliver heterogeneous multi-core chips by next year.
A small startup called Exuldus is also working on an optimization piece of software called Multicore Optimizer v 2.0. The company plans to release its work by the end of the week. "There is a lot of focus on creating ways to parallelize applications, but we have a slightly different view on the problem", said Dale Geldart, executive vice president of sales and marketing for the company.
According to Mayan Moudgill, the chief architect of startup Sandbridge Technologies, the real problems occur when the software has been compiled on a specific platform, then run on a system that has more resources than initially specified. The code will only access the specified resources, while the rest of the available hardware will not be taken into account.
MORE RELATED ARTICLES:
Microsoft Explores Next-Generation Computing
Cray's Petaflop-Scale Supercomputer: World's Most Powerful Machine
Supercomputers, Able to Create Matrix-Like Virtual Realities Soon
NextComputing Releases Intel's Harpertown Quads Into the Wild
Multicore Processors, Throttled Down By Lack of Code
Microsoft Starts Working on Windows 7 Parallel Computing
Pre-IDF Briefing: The Nehalem Chips, similar to AMD's Fusion
Free Windows for Supercomputers from Microsoft
Nvidia Releases Mac OS X Version of CUDA Programming Tools
Nvidia Got the Gaming Market, Moves to Supercomputing