| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| R2010b Documentation → Parallel Computing Toolbox |
| Contents | Index |
| Learn more about Parallel Computing Toolbox |
This table summarizes what is new in Version 3.0 (R2006b):
| New Features and Changes | Version Compatibility Considerations | Fixed Bugs and Known Problems | Related Documentation at Web Site |
|---|---|---|---|
Yes | Yes — Details labeled as Compatibility Considerations, below. See also Summary. | Bug
Reports | No |
New features and changes introduced in this version are
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.
The distributed computing products now support Windows 64 (Win64) for both MATLAB client and MATLAB worker machines.
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.
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.
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 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.
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.
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.
To provide greater consistency across all platforms, the MDCE control scripts for Windows have moved and those for UNIX and Macintosh have new names.
Windows Utilities Moved. In previous versions of the distributed computing products, the MDCE utilities for Windows computers were located in
matlabroot\toolbox\distcomp\bin\win32The utilities are now located in
matlabroot\toolbox\distcomp\binThe 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
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.
In previous versions of the distributed computing products, the rand function would by default generate the same set of numbers on each worker.
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.
In past releases, there was no correlation between labindex and the task ID property.
![]() | Version 3.1 (R2007a) Distributed Computing Toolbox Software | Compatibility Summary for Parallel Computing Toolbox Software | ![]() |
| © 1984-2010- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |