サードパーティ製スケジューラー
MATLAB Parallel Server をクラスターにインストールする際は、ジョブを送信する MATLAB のバージョンと同じリリースの MATLAB Parallel Server を使用する必要があります。ユーザーの利用状況に応じて、クラスターには複数のバージョンの MATLAB Parallel Server をインストールできます。
クラスターにジョブを送信する際は、クラスター プロファイルの ClusterMatlabRoot プロパティが、必要なバージョンの MATLAB Parallel Server のインストール ディレクトリを正しく指していることを確認します。たとえば、R2022b バージョンの MATLAB からジョブを送信する場合は、ClusterMatlabRoot = /path/to/R2022b/matlab/on/cluster のように設定します。
MATLAB Job Scheduler
R2015b 以前では、クラスターにジョブを送信するには、クライアントの MATLAB とクラスター上の MATLAB Parallel Server のバージョンが一致している必要があります。
R2016a 以降では、MATLAB Job Scheduler ベースのクラスターに最新の MATLAB Parallel Server をインストールし、クラスター上に古いバージョンの Parallel Computing Toolbox があれば、それらのバージョンからもジョブを送信できます(下位互換性)。この機能を利用するには、以下の手順を実施します。
- クラスターに最新バージョンの MATLAB Parallel Server をインストールします。MATLAB Job Scheduler を実行する際は、このバージョンを使用します。
- クラスターでサポートしたい各リリースの MATLAB Parallel Server もインストールします。たとえば、Parallel Computing Toolbox R2016a と R2016b の両方を使用したい場合、R2016a および R2016b の MATLAB Parallel Server を全ノードにインストールします。
- MATLAB Job Scheduler にこれらのインストール先を設定します。設定ファイル mjs_def の MJS_ADDITIONAL_MATLABROOTS 変数に、各リリースの MATLAB Parallel Server のインストール ディレクトリを指定します。Linux では matlabroot/toolbox/parallel/bin/mjs_def.sh、Windows では matlabroot/toolbox/parallel/bin/mjs_def.bat にあります。
複数の旧バージョンの Parallel Server をインストールしている場合、MJS_ADDITIONAL_MATLABROOTS 変数の設定例は以下の通りです。
set MJS_ADDITIONAL_MATLABROOTS=C:\Program Files\MATLAB\R2018b;C:\Program Files\MATLAB\R2021a
古いリリースの MATLAB クライアントからジョブ送信をテストする前に、-cleanPreserveJobs フラグを付けて MJS を停止・再起動します。たとえば、Windows のヘッドノードでは、コマンド プロンプトで次のように実行します。
cd "C:\Program Files\MATLAB\R2023a\toolbox\parallel\bin"
mjs stop
mjs start -cleanPreserveJobs
「-cleanPreserveJobs」フラグを指定することで、mjs_def.bat ファイルへの変更が反映されます。この設定により、MATLAB Job Scheduler はインストール済みリリースの MATLAB クライアントからのジョブ送信を受け付け、ジョブごとに適切なバージョンの MATLAB ワーカーを自動的に起動します。