Main Content

parallel.Cluster

クラスターのプロパティおよび動作にアクセスする

コンストラクター

parcluster

getCurrentCluster (MATLAB® ワーカーのワークスペース内)

コンテナー階層

なし

parallel.Job, parallel.Pool

説明

parallel.Cluster オブジェクトはジョブ キューを制御するクラスターへのアクセスを提供し、実行のためにタスクをワーカーに分散します。

タイプ

クラスターには MATLAB ジョブ スケジューラと一般的なジョブ スケジューラ (CJS) の 2 つのカテゴリがあります。MATLAB ジョブ スケジューラは、MATLAB Parallel Server™ で使用できます。CJS クラスターにはローカル、汎用、サードパーティのスケジューラを含む、他すべてのタイプが含まれます。

MATLAB Parallel Server for Amazon EC2® クラスターと連携するには、MJSComputeCloud オブジェクトを使用します。

以下の表では、使用可能なタイプのクラスター オブジェクトについて説明します。

クラスター タイプ説明
parallel.cluster.MJS

内部設置型の MATLAB ジョブ スケジューラ クラスターと連携

parallel.cluster.MJSComputeCloud

クラウド内のクラスターの MATLAB Parallel Server と連携

parallel.cluster.Local

クライアント マシンでローカルに実行されている CJS クラスターと連携

parallel.cluster.HPCServer

Windows® Microsoft® HPC Server を実行している CJS クラスターと連携

parallel.cluster.LSF

LSF® を実行している CJS クラスターと連携

parallel.cluster.PBSPro

Altair PBS Pro® または OpenPBS を実行している CJS クラスターと連携

parallel.cluster.Torque

TORQUE を実行している CJS クラスターと連携

parallel.cluster.Slurm

Slurm を実行している CJS クラスターと連携

parallel.cluster.Generic

汎用インターフェイスを使用している CJS クラスターと連携

メソッド

全クラスター タイプ共通

batchRun MATLAB script or function on worker
createCommunicatingJobCreate communicating job on cluster
createJobCreate independent job on cluster
findJobFind job objects in cluster
isequalTrue if clusters have same property values
parpoolCreate parallel pool on cluster
saveAsProfileSave cluster properties to specified profile

MATLAB ジョブ スケジューラ

changePasswordPrompt MATLAB Job Scheduler password change
demoteDemote job in cluster queue
promotePromote job in MATLAB Job Scheduler cluster queue

MJSComputeCloud

shutdown Shut down cloud cluster
startStart cloud cluster
wait (cluster)Wait for cloud cluster to change state

ローカル

getDebugLogRead output messages from job run in CJS cluster

HPC Server、PBS ProLSF、TORQUE、Slurm および Generic

getDebugLogRead output messages from job run in CJS cluster
getJobFolderFolder on client where jobs are stored
getJobFolderOnClusterFolder on cluster where jobs are stored
getLogLocationLog location for job or task
setJobClusterDataSet specific user data for job on third-party cluster

プロパティ

全クラスター タイプ共通

以下のプロパティはすべてのクラスター オブジェクト タイプに共通です。

プロパティ説明
ClusterMatlabRoot

ワーカーが使用する MATLAB へのパスを指定

Host

クラスター ヘッド ノードのホスト名

JobStorageLocation

クラスターがジョブおよびタスク情報を格納する場所

Jobs

このクラスターに含まれるジョブのリスト

LicenseNumber

このクラスターでのジョブの実行時に使用するライセンス番号

Modified

このクラスターのいずれかのプロパティが変更されている場合は true

NumThreads

ワーカーの計算スレッド数

NumWorkers

このクラスターで使用可能なワーカーの数

OperatingSystem

クラスターで使用されるノードのオペレーティング システム

PreferredPoolNumWorkers

並列プールでの推奨されるワーカー数

Profile

このクラスターの構築に使用するプロファイル

RequiresOnlineLicensing

クラスターがオンライン ライセンスを使用している場合は true

Type

このクラスターのタイプ

UserData

クライアント セッション内でクラスター オブジェクトに関連付けられている情報

次のいずれかとして JobStorageLocation プロパティを指定します。

  • 汎用スケジューラ インターフェイスをリモート モードで使用してサードパーティ製スケジューラと連携し、かつクライアントとワーカーが異なるオペレーティング システムを使用している場合は、構造体を指定します。構造体には 'windows''unix' のフィールドが必要です。これらのフィールドは、クラスターがジョブとタスクの情報を保存するフォルダーに対応する Windows と UNIX® のパスです。次の構造体は、Windows UNC パス ('\\organization\some\path') と UNIX パス ('/organization/some/path') を使用して同じフォルダーを指定します。

    struct('windows', '\\organization\some\path', 'unix', '/organization/some/path')

  • それ以外の場合は、文字ベクトルまたは string を使用して、クラスターがジョブとタスクの情報を保存するフォルダーを指定します。

MATLAB ジョブ スケジューラ

MJS クラスター オブジェクトには、共通のプロパティに加えて以下のプロパティがあります。

プロパティ説明
AllHostAddresses

クラスター ホストの IP アドレス

BusyWorkers

タスクを現在実行しているワーカー

IdleWorkers

現時点でタスクの実行に使用可能なワーカー

HasSecureCommunication

クラスターがセキュリティで保護された通信を使用している場合は True

MaxNumWorkers

このクラスターがもつことのできるワーカーの最大数。

  • 自動的にサイズが変更されないクラスターを使用する場合、この値はクラスターのワーカー数です。

  • 自動的にサイズが変更されるクラスターを使用する場合、必要に応じて、ワーカーが最大値まで自動的に追加されます。自動的なサイズ変更の詳細については、MATLAB ジョブ スケジューラ クラスターの自動サイズ変更の設定 (MATLAB Parallel Server)を参照してください。

Name

このクラスターの名前

NumBusyWorkers

タスクを現在実行しているワーカーの数

NumIdleWorkers

タスクの実行に使用可能なワーカーの数

PromptForPassword

ユーザーを認証するときにパスワードを要求する場合は True

SecurityLevel

クラスターとそのジョブに適用されるセキュリティ レベル。セキュリティ レベルについては、MATLAB ジョブ スケジューラ クラスターのセキュリティの設定 (MATLAB Parallel Server)を参照してください。

State

クラスターの現在の状態

Username

クラスターにアクセスしているユーザー

MJSComputeCloud

MJSComputeCloud クラスター オブジェクトには、共通のプロパティに加えて以下のプロパティがあります。

プロパティ説明
BusyWorkers

タスクを現在実行しているワーカー

Certificate

クラスターの SSL 証明書

HasSecureCommunication

クラスターがセキュリティで保護された通信を使用している場合は true

Identifier

一意のクラスター識別子

IdleWorkers

現時点でタスクの実行に使用可能なワーカー

MatlabVersion

ワーカー上で実行されている MATLAB のバージョン

MaxNumWorkers

このクラスターがもつことのできるワーカーの最大数。

  • 自動的にサイズが変更されないクラスターを使用する場合、この値はクラスターの開始時のワーカー数です。

  • 自動的にサイズが変更されるクラスターを使用する場合、必要に応じて、ワーカーが最大値まで自動的に追加されます。自動的なサイズ変更の詳細については、Resize Clusters Automatically を参照してください。

Name

このクラスターの名前

NumBusyWorkers

タスクを現在実行しているワーカーの数

NumIdleWorkers

タスクの実行に使用可能なワーカーの数

NumWorkersRequested

このクラスターに対して要求されたワーカー数。この数に達するように、クラスターは可能な限り速やかにワーカーの追加または削除を行います。

SharedState

クラスターの共有状態。次のいずれかのオプションになります。

  • 個人用 – 作成者のみがこのクラスターを使用できます。

  • 共有可能 – 誰でもこのクラスターを使用できます。

ShutdownAt

シャットダウンの時刻またはイベント

State

クラスターの現在の状態

Username

クラスターにアクセスしているユーザー

ローカル

ローカル クラスター オブジェクトには、すべてのクラスターに共通のプロパティ以外に編集可能なプロパティはありません。

HPC Server

HPCServer クラスター オブジェクトは、Windows を実行するクライアントでサポートされます。

HPCServer クラスター オブジェクトには、共通のプロパティに加えて以下のプロパティがあります。

プロパティ説明
ClusterVersion

クラスター上で実行されている Microsoft Windows HPC Server のバージョン

HasSharedFilesystem

クライアントとクラスターのノードがジョブ ストレージの場所を共有するかどうかを指定

JobDescriptionFile

ジョブの作成時に使用する XML ジョブ記述ファイルの名前

JobTemplate

HPC Server に投入するジョブに使用するジョブ テンプレートの名前

Name

このクラスターの名前

UseSOAJobSubmission

HPC Server でのサービス指向アーキテクチャ (SOA) の送信を許可

PBS Pro と TORQUE

PBSPro および Torque クラスター オブジェクトには、共通のプロパティに加えて以下のプロパティがあります。

プロパティ説明
AdditionalProperties

プラグイン スクリプト用の追加プロパティ (R2024a 以降)

HasSharedFilesystem

クライアントとクラスターのノードがジョブ ストレージの場所を共有するかどうかを指定

PluginScriptsLocation

スケジューラのプラグイン スクリプトを格納するフォルダー (R2024a 以降)

ProcsPerNode

ノードあたりのプロセッサ数。有限の正の整数スカラーとして指定します。

ジョブをクラスターに投入する場合、MATLAB が要求するノードあたりのコア数は必ず ProcsPerNode 以下になります。ProcsPerNode には、MATLAB が各クラスター ノードに要求するプロセッサの最大数を設定してください。

MATLAB はジョブの実行に必要な、ノードあたりの最小数のコアを要求します。

  • クラスターの NumThreads プロパティが ProcsPerNode 以下の場合、MATLAB はワーカーあたり NumThreads 個のプロセッサを要求し、その後ノードあたりのワーカー数を最大限にします。たとえば、ProcsPerNode16NumThreads5 の場合、MATLAB は 15 個のコアを要求します。これは ProcsPerNode 未満で最大の 5 の倍数です。

  • クラスターの NumThreadsProcsPerNode より大きい場合、MATLAB はノードあたり ProcsPerNode 個のプロセッサを要求します。

    NumThreadsProcsPerNode より大きいと、パフォーマンスの問題が発生することがあります。ベスト プラクティスとして、NumThreadsProcsPerNode 以下に設定してください。詳細については、ワーカー数とクラスター設定の編集を参照してください。

SubmitArguments

ジョブの投入時に使用する追加の引数を指定。このプロパティを使用すると、AdditionalSubmitArgs の追加のプロパティを設定できます。

LSF と Slurm

LSF および Slurm クラスター オブジェクトには、共通のプロパティに加えて以下のプロパティがあります。

プロパティ説明
AdditionalProperties

プラグイン スクリプト用の追加プロパティ (R2024a 以降)

HasSharedFilesystem

クライアントとクラスターのノードがジョブ ストレージの場所を共有するかどうかを指定

PluginScriptsLocation

スケジューラのプラグイン スクリプトを格納するフォルダー (R2024a 以降)

SubmitArguments

ジョブの投入時に使用する追加の引数を指定。このプロパティを使用すると、AdditionalSubmitArgs の追加のプロパティを設定できます。

Generic

Generic クラスター オブジェクトは、Windows、macOS、または Linux® を実行するクライアントでサポートされます。

R2017a 以降のプロファイルから Generic クラスター オブジェクトを作成する場合、共通のプロパティに加えて以下のプロパティがあります。

プロパティ説明
AdditionalProperties

プラグイン スクリプト用の追加プロパティ

HasSharedFilesystem

クライアントとクラスターのノードがジョブ ストレージの場所を共有するかどうかを指定

PluginScriptsLocation

スケジューラのプラグイン スクリプトを格納するフォルダー

R2016b 以前のプロファイルから Generic クラスター オブジェクトを作成する場合、共通のプロパティに加えて以下のプロパティがあります。

プロパティ説明
CancelJobFcn

ジョブをキャンセルするときに実行する関数

CancelTaskFcn

タスクをキャンセルするときに実行する関数

CommunicatingSubmitFcn

通信ジョブを投入するときに実行する関数

DeleteJobFcn

ジョブを削除するときに実行する関数

DeleteTaskFcn

タスクを削除するときに実行する関数

GetJobStateFcn

ジョブの状態をクエリするときに実行する関数

HasSharedFilesystem

クライアントとクラスターのノードがジョブ ストレージの場所を共有するかどうかを指定

IndependentSubmitFcn

独立ジョブを投入するときに実行する関数

ヘルプ

クラスター オブジェクトの詳細なヘルプ (特定のクラスター タイプやオブジェクトのプロパティのヘルプへのリンクなど) を参照するには、コマンド ラインで以下のように入力します。

help parallel.Cluster

バージョン履歴

R2012a で導入

すべて展開する