Products & Services Solutions Academia Support User Community Company

Learn more about Parallel Computing Toolbox   

Version 3.0 (R2006b) Distributed Computing Toolbox Software

This table summarizes what is new in Version 3.0 (R2006b):

New Features and ChangesVersion Compatibility ConsiderationsFixed Bugs and Known ProblemsRelated Documentation at Web Site

Yes
Details below

Yes — Details labeled as Compatibility Considerations, below. See also Summary.

Bug Reports
Includes fixes

No

New features and changes introduced in this version are

Support for Windows Compute Cluster Server (CCS)

Distributed Computing Toolbox software and MATLAB® Distributed Computing Engine™ software now let you program jobs and run them on a Windows Compute Cluster Server. For information about programming in the toolbox to use Windows Compute Cluster Server (CCS) as your scheduler, see the findResource reference page, and see also Find a Windows HPC Server Scheduler.

Windows 64 Support

The distributed computing products now support Windows 64 (Win64) for both MATLAB client and MATLAB worker machines.

Parallel Job Enhancements

Parallel Jobs Support Any Scheduler

Support for parallel jobs now extends to any type of scheduler. In previous releases, only the MathWorks job manager and mpiexec scheduler object supported parallel jobs. You can now run parallel jobs on clusters scheduled by a job manager, Windows Compute Cluster Server (CCS), Platform LSF, mpiexec, or using the generic scheduler interface. For programming information, see Programming Parallel Jobs.

New labSendReceive Function

The labSendReceive function is introduced in this release. This function performs the same things as both labSend and labReceive, but greatly reduces the risk of deadlock, because the send and receive happen simultaneously rather than by separate statements. For more information, see the labSendReceive reference page.

Improved Error Detection

This release offers improved error detection for miscommunication between labs running parallel jobs. Most notable among the improvements are error detection of mismatched labSend and labReceive statements.

Distributed Arrays

Distributed arrays are partitioned into segments, with each segment residing in the workspace of a different lab, so that each lab has its own array segment to work with. Reducing the size of the array that each lab has to store and process means a more efficient use of memory and faster processing, especially for large data sets. For more information, see Working with Codistributed Arrays.

There are many new and enhanced MATLAB functions to work with distributed arrays in parallel jobs. For a listing of these functions and their reference pages, see Job Management.

parfor: Parallel for-Loops

Parallel for-loops let you run a for-loop across your labs simultaneously. For more information, see Using a for-Loop Over a Distributed Range (for-drange) or the parfor reference page.

Interactive Parallel Mode (pmode)

The interactive parallel mode (pmode) lets you work interactively with a parallel job running simultaneously on a number of labs. Commands you type at the pmode command line are executed on all labs at the same time. Each lab executes the commands in its own workspace on its own local variables or segments of distributed arrays. For more information, see Getting Started with pmode.

Moved MDCE Control Scripts

To provide greater consistency across all platforms, the MDCE control scripts for Windows have moved and those for UNIX and Macintosh have new names.

Compatibility Considerations

Windows Utilities Moved.   In previous versions of the distributed computing products, the MDCE utilities for Windows computers were located in

matlabroot\toolbox\distcomp\bin\win32

The utilities are now located in

matlabroot\toolbox\distcomp\bin

The files that have moved are

nodestatus
mdce
startjobmanager
stopjobmanager
startworker
stopworker
mdce_def.bat

UNIX and Macintosh Utilities Renamed.   In previous versions of the distributed computing products, the MDCE utilities for UNIX and Macintosh computers were called by

nodestatus.sh
startjobmanager.sh
stopjobmanager.sh
startworker.sh
stopworker.sh

You can now call these with the following commands:

nodestatus
startjobmanager
stopjobmanager
startworker
stopworker

rand Seeding Unique for Each Task or Lab

The random generator seed is now initialized based on the task ID for distributed jobs, or the labindex for parallel jobs (including pmode). This ensures that the random numbers generated for each task or lab are unique within a job.

Compatibility Considerations

In previous versions of the distributed computing products, the rand function would by default generate the same set of numbers on each worker.

Task ID Property Now Same as labindex

Although you create only one task for a parallel job, the system copies this task for each worker that runs the job. For example, if a parallel job runs on four workers (labs), the Tasks property of the job contains four task objects. The first task in the job's Tasks property corresponds to the task run by the lab whose labindex is 1, and so on, so that the ID property for the task object and labindex for the lab that ran that task have the same value. Therefore, the sequence of results returned by the getAllOutputArguments function corresponds to the value of labindex and to the order of tasks in the job's Tasks property.

Compatibility Considerations

In past releases, there was no correlation between labindex and the task ID property.

  


Recommended Products

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS