メインコンテンツ

MATLAB ジョブ スケジューラを統合するための詳細オプションの設定

以下の手順に従って、MATLAB® ジョブ スケジューラ クラスターの詳細オプションを構成します。

以下の手順において、matlabroot はインストールされている MATLAB Parallel Server™ ソフトウェアの場所を示します。以下の説明でこの文字列が使用されていたら、パスをご使用の場所に置き換えてください。

Windows クラスター ホストの設定

Windows® マシンのクラスター上にはじめて MATLAB Parallel Server をインストールする場合、ジョブが通信できるようにそれらのホストを構成する必要があります。

メモ

Windows クラスターがない場合、または Windows クラスター上に以前のバージョンの MATLAB Parallel Server が既にインストールされている場合は、この手順を省略できます。

クラスター ノード上の Windows ファイアウォールの構成

クラスター ノード上で Windows ファイアウォールを使用している場合は、次を行います。

  1. 管理者権限をもつユーザーとしてログインします。

  2. 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_MEMORY14000m に設定します。

mjs_def ファイルを更新した後、mjs サービスおよびジョブ マネージャーとワーカーを再起動する必要があります。

参考

トピック