parallel.Cluster - Access cluster properties and behaviors - MATLAB (original) (raw)

Access cluster properties and behaviors

Container Hierarchy

Parent None
Children parallel.Job, parallel.Pool

Description

A parallel.Cluster object provides access to a cluster, which controls the job queue, and distributes tasks to workers for execution.

Types

The two categories of clusters are the MATLAB Job Scheduler and common job scheduler (CJS). The MATLAB Job Scheduler is available in the MATLAB Parallel Server™. The CJS clusters encompass all other types, including the local, generic, and third-party schedulers.

Use MJSComputeCloud objects to interact with MATLAB Parallel Server for Amazon EC2® clusters.

The following table describes the available types of cluster objects.

Cluster Type Description
parallel.cluster.MJS Interact with MATLAB Job Scheduler clusters on-premises
parallel.cluster.MJSComputeCloud Interact with MATLAB Parallel Server for clusters in the cloud
parallel.cluster.Local Interact with CJS cluster running locally on client machine
parallel.cluster.HPCServer Interact with CJS cluster running Windows® Microsoft® HPC Server
parallel.cluster.LSF Interact with CJS cluster running LSF®
parallel.cluster.PBSPro Interact with CJS cluster running Altair PBS Pro® or OpenPBS
parallel.cluster.Torque Interact with CJS cluster running TORQUE
parallel.cluster.Slurm Interact with CJS cluster running Slurm
parallel.cluster.Generic Interact with CJS cluster using the generic interface

Methods

MATLAB Job Scheduler

changePassword Prompt MATLAB Job Scheduler password change
demote Demote job in cluster queue
promote Promote job in MATLAB Job Scheduler cluster queue

MJSComputeCloud

Local

getDebugLog Read output messages from job run in CJS cluster

HPC Server, PBS Pro, LSF, TORQUE, Slurm, and Generic

Properties

Common to All Cluster Types

The following properties are common to all cluster object types.

Property Description
ClusterMatlabRoot Specifies path to MATLAB for workers to use
Host Host name of the cluster head node
JobStorageLocation Location where cluster stores job and task information
Jobs List of jobs contained in this cluster
LicenseNumber License number to use when running jobs with this cluster
Modified True if any properties in this cluster have been modified
NumThreads Number of computational threads for workers
NumWorkers Number of workers available for this cluster
OperatingSystem Operating system of nodes used by cluster
PreferredPoolNumWorkers Preferred number of workers in a parallel pool
Profile Profile used to build this cluster
RequiresOnlineLicensing true if the cluster is using online licensing
Type Type of this cluster
UserData Information associated with cluster object within client session

Specify the JobStorageLocation property as one of the following.

MATLAB Job Scheduler

MJS cluster objects have the following properties in addition to the common properties:

Property Description
AllHostAddresses IP addresses of the cluster host
BusyWorkers Workers currently running tasks
IdleWorkers Workers currently available for running tasks
HasSecureCommunication True if cluster is using secure communication
MaxNumWorkers Maximum number of workers this cluster can have. When you use a cluster without automatic resizing, this value is the number of workers in the cluster.When you use a cluster with automatic resizing, workers are added automatically up to this maximum value as necessary. For more information on automatic resizing, see Set up MATLAB Job Scheduler Cluster for Auto-Resizing (MATLAB Parallel Server).
Name Name of this cluster
NumBusyWorkers Number of workers currently running tasks
NumIdleWorkers Number of workers available for running tasks
PromptForPassword True if system should prompt for password when authenticating user
SecurityLevel Degree of security applied to cluster and its jobs. For descriptions of security levels, see Set MATLAB Job Scheduler Cluster Security (MATLAB Parallel Server).
State Current state of cluster
Username User accessing cluster

MJSComputeCloud

MJSComputeCloud cluster objects have the following properties in addition to the common properties:

Property Description
BusyWorkers Workers currently running tasks
Certificate Cluster SSL certificate
HasSecureCommunication true if cluster is using secure communication
Identifier Unique cluster identifier
IdleWorkers Workers currently available for running tasks
MatlabVersion Version of MATLAB running on the workers
MaxNumWorkers Maximum number of workers this cluster can have. When you use a cluster without automatic resizing, this value is the number of workers when you started the cluster.When you use a cluster with automatic resizing, workers are added automatically up to this maximum value as necessary. For more information on automatic resizing, see Resize Clusters Automatically.
Name Name of this cluster
NumBusyWorkers Number of workers currently running tasks
NumIdleWorkers Number of workers available for running tasks
NumWorkersRequested Number of workers requested for this cluster. The cluster adds or removes workers as soon as possible to reach this number.
SharedState The shared state of the cluster, which can be one these options: Personal – Only you can use this cluster, so long as you created it.Shareable – Anyone can use this cluster.
ShutdownAt Shutdown time or event
State Current state of cluster
Username User accessing cluster

Local

Local cluster objects have no editable properties beyond the properties common to all clusters.

HPC Server

HPCServer cluster objects are supported on clients running Windows.

HPCServer cluster objects have the following properties in addition to the common properties:

Property Description
ClusterVersion Version of Microsoft Windows HPC Server running on the cluster
HasSharedFilesystem Specify whether client and cluster nodes share job storage location
JobDescriptionFile Name of XML job description file to use when creating jobs
JobTemplate Name of job template to use for jobs submitted to HPC Server
Name Name of this cluster
UseSOAJobSubmission Allow service-oriented architecture (SOA) submission on HPC Server

PBS Pro and TORQUE

PBSPro and Torque cluster objects have the following properties in addition to the common properties:

Property Description
AdditionalProperties Additional properties for plugin scripts (since R2024a)
HasSharedFilesystem Specify whether client and cluster nodes share job storage location
PluginScriptsLocation Folder containing scheduler plugin scripts (since R2024a)
ProcsPerNode Number of processors per node, specified as a finite positive integer scalar.When you submit a job to the cluster, the number of cores per node that MATLAB requests is guaranteed to be less than or equal toProcsPerNode. Set ProcsPerNode equal to the maximum number of processors you want MATLAB to request from each cluster node.MATLAB requests the smallest number of cores per node required to run the job. If the NumThreads property of the cluster is less than or equal to ProcsPerNode, MATLAB requests NumThreads processors per worker, then maximizes the number of workers per node. For example ifProcsPerNode is 16 andNumThreads is 5, MATLAB requests 15 cores, the largest multiple of5 that is less thanProcsPerNode.If NumThreads of the cluster is greater thanProcsPerNode, MATLAB requests ProcsPerNode processors per node.When NumThreads is greater thanProcsPerNode, you might encounter performance issues. As a best practice, set NumThreads less than or equal toProcsPerNode. For more information, see Edit Number of Workers and Cluster Settings.
SubmitArguments Specify additional arguments to use when submitting jobs. You can use this property to set the AdditionalSubmitArgs additional property.

LSF and Slurm

LSF and Slurm cluster objects have the following properties in addition to the common properties:

Property Description
AdditionalProperties Additional properties for plugin scripts (since R2024a)
HasSharedFilesystem Specify whether client and cluster nodes share job storage location
PluginScriptsLocation Folder containing scheduler plugin scripts (since R2024a)
SubmitArguments Specify additional arguments to use when submitting jobs. You can use this property to set the AdditionalSubmitArgs additional property.

Generic

Generic cluster objects are supported on clients running Windows, macOS, or Linux®.

If you create a Generic cluster object from an R2017a or later profile, you have the following properties in addition to the common properties:

Property Description
AdditionalProperties Additional properties for plugin scripts
HasSharedFilesystem Specify whether client and cluster nodes share job storage location
PluginScriptsLocation Folder containing scheduler plugin scripts

If you create a Generic cluster object from an R2016b or earlier profile, you have the following properties in addition to the common properties:

Property Description
CancelJobFcn Function to run when cancelling job
CancelTaskFcn Function to run when cancelling task
CommunicatingSubmitFcn Function to run when submitting communicating job
DeleteJobFcn Function to run when deleting job
DeleteTaskFcn Function to run when deleting task
GetJobStateFcn Function to run when querying job state
HasSharedFilesystem Specify whether client and cluster nodes share job storage location
IndependentSubmitFcn Function to run when submitting independent job

Help

For further help on cluster objects, including links to help for specific cluster types and object properties, at the command line, type:

Version History

Introduced in R2012a

expand all

R2024a: ResourceTemplate property has been removed

The ResourceTemplate property of the LSF,Slurm, PBSPro and TORQUE cluster objects has been removed. To control resource allocation, modify theindependentSubmitFcn.m andcommunicatingSubmitFcn.m functions located in thePluginScriptsLocation instead.