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.MJSComputeCloudMATLAB Parallel Server for Amazon EC2 クラスターと交信
parallel.cluster.Localクライアント マシンでローカルに実行されている CJS クラスターと交信
parallel.cluster.HPCServerWindows Microsoft HPC Server を実行している CJS クラスターと交信
parallel.cluster.LSFLSF を実行している CJS クラスターと交信
parallel.cluster.PBSProAltair PBS Pro または OpenPBS を実行している CJS クラスターと交信
parallel.cluster.TorqueTORQUE を実行している CJS クラスターと交信
parallel.cluster.SlurmSlurm を実行している 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 stored in cluster
isequalTrue if clusters have same property values
parpoolCreate parallel pool on cluster
saveAsProfileSave cluster properties to specified profile
saveProfileSave modified cluster properties to its current profile

MATLAB ジョブ スケジューラ

changePasswordPrompt user to change MATLAB Job Scheduler password
demoteDemote job in cluster queue
logoutLog out of MATLAB Job Scheduler cluster
promotePromote job in MATLAB Job Scheduler cluster queue
resumeResume processing queue in MATLAB Job Scheduler

MJSComputeCloud

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

HPC Server、PBS Pro、LSF、TORQUE、Slurm およびローカル クラスター

getDebugLogRead output messages from job run in CJS cluster

Generic

getDebugLogRead output messages from job run in CJS cluster
getJobClusterDataGet specific user data for job on generic 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 generic cluster

プロパティ

全クラスター タイプ共通

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

プロパティ説明
ClusterMatlabRootワーカーが使用する MATLAB へのパスを指定
Hostクラスター ヘッド ノードのホスト名
JobStorageLocationクラスターがジョブおよびタスク情報を格納する場所
Jobsこのクラスターに含まれるジョブのリスト
LicenseNumberこのクラスターでのジョブの実行時に使用するライセンス番号
Modifiedこのクラスターのいずれかのプロパティが変更されている場合は true
NumThreadsワーカーの計算スレッド数
NumWorkersこのクラスターで使用可能なワーカーの数
OperatingSystemクラスターで使用されるノードのオペレーティング システム
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クラスターにアクセスしているユーザー

ローカル

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

HPC Server

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

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

プロパティ説明
ClusterVersionクラスター上で実行されている Microsoft Windows HPC Server のバージョン
HasSharedFilesystemクライアントとクラスターのノードが JobStorageLocation を共有するかどうかを指定
JobDescriptionFileジョブの作成時に使用する XML ジョブ記述ファイルの名前
JobTemplateHPC Server に投入するジョブに使用するジョブ テンプレートの名前
Nameこのクラスターの名前
UseSOAJobSubmissionHPC Server でのサービス指向アーキテクチャ (SOA) の送信を許可

PBS Pro と TORQUE

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

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

プロパティ説明
CommunicatingJobWrapperワーカーを起動するためにクラスターが実行するスクリプト
RcpCommandクライアントから、またクライアントにファイルをコピーするコマンド
ResourceTemplateジョブ投入時にリソースを要求する場合は、qsub のオプションを指定
RshCommand通信ジョブ中にワーカー ノードで使用するリモート実行コマンド
HasSharedFilesystemクライアントとクラスターのノードが JobStorageLocation を共有するかどうかを指定
ProcsPerNode

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

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

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

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

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

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

SubmitArgumentsジョブの投入時に使用する追加の引数を指定

LSF

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

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

プロパティ説明
ClusterNameLSF クラスターの名前
CommunicatingJobWrapperワーカーを起動するためにクラスターが実行するスクリプト
HasSharedFilesystemクライアントとクラスターのノードが JobStorageLocation を共有するかどうかを指定
ResourceTemplateジョブ投入時にリソースを要求する場合は、bsub のオプションを指定
SubmitArgumentsジョブの投入時に使用する追加の引数を指定

Slurm

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

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

プロパティ説明
ClusterNameSlurm クラスターの名前
CommunicatingJobWrapperワーカーを起動するためにクラスターが実行するスクリプト
ResourceTemplateジョブ投入時にリソースを要求する場合は、sbatch のオプションを指定
SubmitArgumentsジョブの投入時に使用する追加の引数を指定

Generic

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

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

プロパティ説明
AdditionalPropertiesプラグイン スクリプト用の追加プロパティ
HasSharedFilesystemクライアントとクラスターのノードが JobStorageLocation を共有するかどうかを指定
PluginScriptsLocationスケジューラのプラグイン スクリプトを格納するフォルダー

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

プロパティ説明
CancelJobFcnジョブをキャンセルするときに実行する関数
CancelTaskFcnタスクをキャンセルするときに実行する関数
CommunicatingSubmitFcn通信ジョブを投入するときに実行する関数
DeleteJobFcn ジョブを削除するときに実行する関数
DeleteTaskFcnタスクを削除するときに実行する関数
GetJobStateFcnジョブの状態をクエリするときに実行する関数
HasSharedFilesystemクライアントとクラスターのノードが JobStorageLocation を共有するかどうかを指定
IndependentSubmitFcn独立ジョブを投入するときに実行する関数

ヘルプ

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

help parallel.Cluster

バージョン履歴

R2012a で導入