Skip to Main Content Skip to Search
Home |   Select Country  Choose Country  |  Contact Us  |  Cart Store 
Create Account | Log In
Products & Services Industries Academia Support User Community Company

 

Technical Computing

Technical Computing Description Topics

Distributed and Parallel Programming

Today's engineers and scientists, faced with the demand to model increasingly complex systems in less time, are pursuing distributed and parallel solutions in high-performance computing (HPC) distributed environments made out of commercial off-the-shelf (COTS) multiprocessor, multicore computers.

Parallel Computing Toolbox and MATLAB Distributed Computing Server enables you to prototype and develop distributed and parallel applications in MATLAB and execute them on multiprocessor, multicore computers without leaving your technical computing development environment. By executing models in this manner, you can solve larger problems, cover more simulation scenarios faster and reduce the burden on your desktop resources.

Developing Distributed Applications

Distributed applications, or embarrassingly parallel applications, contain independent tasks that can be executed without the need for communication between the tasks. For distributed applications, you can use the functions in Distributed Computing Toolbox to define independent computation tasks for your application, which can then be collected into a distributed job and submitted for execution on a cluster.

Developing Parallel Applications

Parallel applications contain interdependent tasks that exchange data during the execution of the application. The toolbox and engine include functions based on the Message Passing Interface (MPI) standard that supports explicit communication for developing parallel applications in MATLAB. However, using these MPI-based functions involves keeping track of message passing details such as synchronizing data between processors and managing interprocessor communications.

Parallel Computing Toolbox simplifies the development of parallel applications in two significant ways. First, the toolbox supports distributed arrays, which treat related data distributed across processors as a single array rather than as independent arrays on different processors. Through distributed arrays, researchers can perform operations directly on arrays without having to manage the tedious details of message passing. The toolbox provides more than 150 MATLAB functions for distributed arrays, including linear algebra routines based on ScaLAPACK. Second, the toolbox includes a new interactive parallel mode (pmode) of execution so that researchers can work interactively with a parallel job running simultaneously on several processors or cores. This mode facilitates iterative exploration, design development, and problem solving.

Supported Schedulers

For job scheduling, you can use either MathWorks job manager, a scheduler that is shipped with the engine, or any third-party scheduler. The toolbox and engine support all third-party schedulers, such as Platform™ LSF, Microsoft Windows Compute Cluster Server, PBS, and Sun Grid Engine, either directly or via a generic scheduler interface. Resources, including installation scripts, online technical solutions, and vendor submitted integration scripts, are available to help you integrate the toolbox and engine into your existing computing environment.

Dynamic Licensing

The cluster requires only a MATLAB Distributed Computing Server license. During execution the engine dynamically enables eligible toolboxes and blocksets based on users' licenses.

Contact sales
Trial software
E-mail this page

Georgia Tech

"MATLAB is the one language that we want our students to use—the one that we all use in our classrooms."
- Dr. James Craig

Recorded Webinar

Introduction to MATLAB