Glossary
- asynchronous processing
execute a task without waiting for it to complete, in a non-blocking way, so that you can carry on with other tasks, using
parfeval
.- CHECKPOINTBASE
The name of the parameter in the
mdce_def
file that defines the location of the checkpoint directories for the MATLAB® job scheduler and workers.- checkpoint directory
See CHECKPOINTBASE.
- client
The MATLAB session that defines and submits the job. This is the MATLAB session in which the programmer usually develops and prototypes applications. Also known as the MATLAB client.
- client computer
The computer running the MATLAB client; often your desktop.
- cluster
A collection of computers that are connected via a network and intended for a common purpose.
- coarse-grained application
An application for which run time is significantly greater than the communication time needed to start and stop the program. Coarse-grained distributed applications are also called embarrassingly parallel applications.
- codistributed array
An array partitioned into segments, with each segment residing in the workspace of a different worker. When created, viewed, accessed, or manipulated from one of the worker sessions that contains part of the array, it is referred to as a codistributed array. Compare to distributed array.
- communicating job
Job composed of tasks that communicate with each other during evaluation. All tasks must run simultaneously. A special case of communicating job is a parallel pool, used for executing
parfor
-loops andspmd
blocks.- Composite
An object in a MATLAB client session that provides access to data values stored on the workers in a parallel pool, such as the values of variables that are assigned inside an
spmd
statement.- computer
A system with one or more processors.
- CPU
Central Processing Unit, comprising multiple cores / processors
- distributed application
The same application that runs independently on several nodes, possibly with different input parameters. There is no communication, shared data, or synchronization points between the nodes, so they are generally considered to be coarse-grained.
- distributed array
An array partitioned into segments, with each segment residing in the workspace of a different worker. When created, viewed, accessed, or manipulated from the client session, it is referred to as a distributed array. Compare to codistributed array.
- DNS
Domain Name System. A system that translates Internet domain names into IP addresses.
- dynamic licensing
The ability of a MATLAB worker to employ all the functionality you are licensed for in the MATLAB client, while checking out only an engine license. When a job is created in the MATLAB client with Parallel Computing Toolbox™ software, the products for which the client is licensed will be available for all workers that evaluate tasks for that job. This allows you to run any code on the cluster that you are licensed for on your MATLAB client, without requiring extra licenses for the worker beyond MATLAB Distributed Computing Server™ software. For a list of products that are not eligible for use with Parallel Computing Toolbox software, see
http://www.mathworks.com/products/ineligible_programs/
.- fine-grained application
An application for which run time is significantly less than the communication time needed to start and stop the program. Compare to coarse-grained applications.
- GPU
Graphics Processing Unit, now widely used for general purpose (GP) GPU computing
- head node
Usually, the node of the cluster designated for running the job scheduler and license manager. It is often useful to run all the nonworker related processes on a single machine.
- heterogeneous cluster
A cluster that is not homogeneous.
- homogeneous cluster
A cluster of identical machines, in terms of both hardware and software.
- independent job
A job composed of independent tasks, which do not communication with each other during evaluation. Tasks do not need to run simultaneously.
- job
The complete large-scale operation to perform in MATLAB, composed of a set of tasks.
- job scheduler checkpoint information
Snapshot of information necessary for the MATLAB job scheduler to recover from a system crash or reboot.
- job scheduler database
The database that the MATLAB job scheduler uses to store the information about its jobs and tasks.
- LOGDIR
The name of the parameter in the
mdce_def
file that defines the directory where logs are stored.- MATLAB client
See client.
- MATLAB job scheduler (MJS)
The MathWorks® process that queues jobs and assigns tasks to workers. Formerly known as a job manager.
- MATLAB worker
See worker.
- mdce
The service that has to run on all machines before they can run a MATLAB job scheduler or worker. This is the engine foundation process, making sure that the job scheduler and worker processes that it controls are always running.
Note that the program and service name is all lowercase letters.
- mdce_def file
The file that defines all the defaults for the mdce processes by allowing you to set preferences or definitions in the form of parameter values.
- MPI
Message Passing Interface, the means by which workers communicate with each other while running tasks in the same job.
- node
A computer that is part of a cluster.
- parallel application
The same application that runs on several workers simultaneously, with communication, shared data, or synchronization points between the workers.
- parallel pool
A collection of workers that is reserved by the client, created using
parpool
and runs a special communicating job for execution ofparfor
-loops,spmd
statements, anddistributed
arrays.- private array
An array which resides in the workspaces of one or more, but perhaps not all workers. There might or might not be a relationship between the values of these arrays among the workers.
- random port
A random unprivileged TCP port, i.e., a random TCP port above 1024.
- register a worker
The action that happens when both worker and MATLAB job scheduler are started and the worker contacts the job scheduler.
- replicated array
An array which resides in the workspaces of all workers, and whose size and content are identical on all workers.
- scheduler
The process, either local, third-party, or the MATLAB job scheduler, that queues jobs and assigns tasks to workers.
- spmd (single program multiple data)
A block of code that executes simultaneously on multiple workers in a parallel pool. Each worker can operate on a different data set or different portion of distributed data, and can communicate with other participating workers while performing the parallel computations.
- task
One segment of a job to be evaluated by a worker.
- thread
smallest set of instructions that can be managed independently by a scheduler. On a GPU, multiprocessor or multicore system, multiple threads can be executed simultaneously (multi-threading)
- variant array
An array which resides in the workspaces of all workers, but whose content differs on these workers.
- worker
The MATLAB session that performs the task computations. Also known as the MATLAB worker or worker process.
- worker checkpoint information
Files required by the worker during the execution of tasks.