MATLAB becoming more cluster and grid friendly

Print Friendly, PDF & Email

Found at HPCwire

The enhancements consist of refinements to The MathWorks’ Parallel Computing Toolbox and MATLAB Distributed Computing Server that allow MATLAB sessions to run transparently over cluster and grid platforms. In addition, new MATLAB compiler and builder upgrades now let developers incorporate MATLAB libraries or functions into standalone executables, which can then be run on clusters or grids, themselves.

Some of the details include MATLAB support for EGEE

The latest MATLAB upgrade includes built-in support for the European EGEE grid (Enabling Grids for E-sciencE). This was accomplished by integrating the Parallel Computing Toolbox and MATLAB Distributed Computing Server with EGEE’s middleware, gLite.

And Amazon EC2

This requires a little more fiddling than hooking up to EGEE, since a system admin person will be required to deal with EC2 licensing and network issues. The MathWorks has written a technical paper on how to configure its products for EC2…

Those last bits are important, especially the EC2 part which I find intriguing. Michael posits that these enhancements to MATLAB will serve both high and low end HPC servers well. I agree in theory, but in practice I think the real advantage will be to the low end users already running MATLAB models on their desktop who need to step up to small clusters but haven’t yet hurdled over the barriers to initial entry. The MATLAB Distributed Computing Engine already ran on Windows HPC Server, but the possibility of using EC2 as a backend for processing means that organizations don’t even have to invest the $20k in their own server until they’ve proven the value of using more processors.

Something else interesting is the ability to build standalone code using the MATLAB compiler

Another way The MathWorks is expanding MATLAB’s horizons is by leveraging this new distributed functionality for standalone applications. Using the MATLAB compiler and builder, developers can construct MATLAB executables or shared libraries, which can be hooked into C, Fortran, or even Java applications. The resulting programs can take advantage of MATLAB’s parallelization abilities while maintaining portability across different platforms. For example, a quantitative analyst (quant) could develop a MATLAB-based financial model on his or her desktop and then incorporate that model into a portfolio manager’s high-level spreadsheet application.

End users of the package are required to have enough MATLAB worker licenses to support the degree of parallelism desired.

You can find more information beyond what Michael has included in his article in the MATLAB press releases, here and here.