MATLAB ジョブ スケジューラを統合するための詳細オプションの設定
以下の手順に従って、MATLAB® ジョブ スケジューラ クラスターの詳細オプションを構成します。
以下の手順において、matlabroot
はインストールされている MATLAB Parallel Server™ ソフトウェアの場所を示します。以下の説明でこの文字列が使用されていたら、パスをご使用の場所に置き換えてください。
Windows クラスター ホストの設定
Windows® マシンのクラスター上にはじめて MATLAB Parallel Server をインストールする場合、ジョブが通信できるようにそれらのホストを構成する必要があります。
メモ
Windows クラスターがない場合、または Windows クラスター上に以前のバージョンの MATLAB Parallel Server が既にインストールされている場合は、この手順を省略できます。
クラスター ノード上の Windows ファイアウォールの構成
クラスター ノード上で Windows ファイアウォールを使用している場合は、次を行います。
管理者権限をもつユーザーとしてログインします。
Windows コマンド プロンプトで次を実行します。
matlabroot\toolbox\parallel\bin\addMatlabToWindowsFirewall.bat
このコマンドは、許可されたプログラムとして MATLAB を追加します。別のファイアウォールを使用している場合は、これと同様の内容になるように構成しなければなりません。
要求されたサーバー上のポートを開く
mjs
サービスでは、mjs_def
ファイルの BASE_PORT
パラメーターで定義された値から始めて必要な数のポートを使用します。既定では BASE_PORT
は 27350 です。
合計 nJ
個のジョブ マネージャーと nW
個のワーカーを実行するホストを使用する場合、mjs
サービスはそれ自体で使用するために合計 7+2*nJ+4*nW
個の連続するポートを予約します。異なるホスト上にあるものも含め、連携して動作するすべてのジョブ マネージャーとワーカーは同一のベース ポートを使用しなければなりません。そうでない場合、ジョブ マネージャーとワーカーが互いに連絡できません。さらに、MPI 通信は BASE_PORT+1000
から始まるポートで行われ、連続する 2*nW
個のポートを使用します。
たとえば、ジョブ マネージャー 1 つとワーカーを 16 個持つホストを使用する場合、次の範囲のポートを開く必要があります。
27350 – 27422
:mjs
サービス用。28350 – 28382
: MPI 通信用。
mjs_def
ファイルで BASE_PORT
パラメーターの既定値を変更できます。mjs_def
ファイルの BASE_PORT
パラメーターには、クラスターのすべてのホストで同じ値を使用する必要があります。BASE_PORT
パラメーターの値を変更するには、mjs
サービスをインストールして MATLAB ジョブ スケジューラを起動する前に、クラスター ホストで mjs_def
ファイルを編集します。mjs_def
ファイルは以下の場所にあります。
matlabroot\toolbox\parallel\bin\mjs_def.bat
(Windows オペレーティング システム)matlabroot/toolbox/parallel/bin/mjs_def.sh
(Linux® オペレーティング システム)
mjs_def
ファイル内のパラメーターの詳細については、MATLAB ジョブ スケジューラのスタートアップ パラメーターの定義を参照してください。
既定以外の BASE_PORT
の値を使用して MATLAB からクラスターに接続するには、MATLAB ジョブ スケジューラ クラスター プロファイルの Host
プロパティに BASE_PORT
の値を追加しなければなりません。これは、たとえば myMJSHost:44001
のように、Hostname:BASE_PORT
の形式で行わなければなりません。
ヒープ メモリの増加
MATLAB Parallel Server は、最大 10,000 個のワーカーをもつ MATLAB ジョブ スケジューラ クラスターをサポートします。クラスター内のワーカー数またはタスク数をスケールアップする場合は、ジョブ マネージャーで使用できるヒープ メモリを増加しなければなりません。
これを行うには、mjs
サービスをインストールして MATLAB ジョブ スケジューラを起動する前に、クラスター ノードで mjs_def
ファイルを編集する必要があります。このファイルは、以下の場所にあります。
matlabroot\toolbox\parallel\bin\mjs_def.bat
(Windows オペレーティング システム)matlabroot/toolbox/parallel/bin/mjs_def.sh
(Linux オペレーティング システム)
mjs_def
ファイル内のパラメーターの詳細については、MATLAB ジョブ スケジューラのスタートアップ パラメーターの定義を参照してください。
mjs_def
ファイルで、以下の推奨事項に基づいて mjs_def
ファイル内のパラメーター JOB_MANAGER_MAXIMUM_MEMORY
を設定します。
最小値
1000m
(1000 MiB) を使用する。1,000 個のワーカーごとに
1000m
を使用する。ピーク負荷時にキューに入ると予想される 100,000 件のタスクごとに
1000m
を加える。
たとえば、クラスターに "10,000" 個のワーカーがあり、ピークのキュー サイズが 400,000 件のタスクである場合、JOB_MANAGER_MAXIMUM_MEMORY
を 14000m
に設定します。
mjs_def
ファイルを更新した後、mjs
サービスおよびジョブ マネージャーとワーカーを再起動する必要があります。