SAN JOSE, Calif. Two companies are gearing up new capabilities that can help software automatically take advantage of today's multicore processors. The MathWorks has built new parallel processing techniques into its flagship MatLab environment, and startup Exludus Technologies, Inc. (Montreal) is preparing an enhanced release of its scheduling middleware for multicore X86 servers.
The efforts mark two small steps on the way toward tackling the grand challenge in computing today: Creating an easy-to-use approach for software to fully use the many cores and threads supported on the latest microprocessors.
Parallel computing capabilities are now integrated with many of the optimization routines called solvers used in key MatLab tool sets. The solvers perform tradeoff analysis, balance multiple design alternatives and incorporate optimization methods in the algorithms and models that users create.
The upgrade means users can leverage today's multicore computers and computer clusters to solve computationally-intensive optimization problems without significantly changing their existing programs. Code developed with the tools and ported to new environments will also seek out parallel hardware resources in the new environment.
"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 said, adding that MatLab users typically work with serial code and are often unfamiliar with the nuances of multicore CPUs and computer clusters.
Specifically, users open a so-called MatLab pool using the company's Parallel Computing Toolbox. At that point the math routines in the company's Optimization and its Genetic Algorithm and Direct Search Toolboxes will automatically use parallel hardware on multicore chips or computer clusters.
Engineers at MathWorks have been working on multiprocessing capabilities for nearly five years. In the past year, the company has developed a capability to automatically generate multiple threads for about a dozen key math functions including reducing an array to a single value, Dean said.
On the horizon, MathWorks engineers are exploring the issues of multicore processors that use a variety of different types of cores. AMD, Intel and NVidia have all said they will be creating such heterogeneous multicore chips for mainstream environments as early as next year.
"This area is more murky," said Dean. "There's a big learning curve going on."