メインコンテンツ

Slurm 向けの MATLAB Parallel Server のインストール

Slurm を備えたクラスターがある場合は、以下の手順に従い、MATLAB® Parallel Server™ を使用して MATLAB をスケジューラと統合します。クラスタに既存のスケジューラがない場合は、MATLAB ジョブ スケジューラおよびネットワーク ライセンス マネージャー向けのインストールを参照してください。

以下の手順に従って、次のタスクを行います。

MATLAB を Slurm と統合した後、Parallel Computing Toolbox™ を備えたデスクトップ MATLAB クライアント セッションからクラスターのワーカーにアクセスできます。"ワーカー" は MATLAB の計算エンジンで、通常はコアに対応します。

これらの手順では、設定にネットワーク ライセンス マネージャーを使用します。

MATLAB Parallel Server ライセンスのアクティベーション

MATLAB Parallel Server をインストールするには、ライセンスのアクティベーションを行わなければなりません。MATLAB Parallel Server ライセンスのアクティベーションを行うには、次を行います。

  1. https://www.mathworks.com/licensecenterに移動します。

  2. 管理者の MathWorks アカウントにログインします。

  3. MATLAB Parallel Server ライセンスを選択し、[インストールとアクティベーション] タブをクリックします。

  4. 右端の [関連タスク] から [アクティベーションを実行してライセンス ファイルを取得] を選択します。

  5. 要求された情報を入力します。この情報はライセンス マネージャーをホストするマシンを参照していなければなりません。この手順ではヘッド ノードです。詳細については、ライセンス マネージャーのインストールを参照してください。

  6. 情報を入力したら、ライセンス ファイルをダウンロードするか電子メールで送信し、ファイル インストール キーをコピーします。これらはプロセスの後半で使用します。

メモ

評価版のアクティベーションは不要です。営業担当者に問い合わせて、ライセンス ファイルとファイル インストール キーを取得してください。

インストール ファイルの入手

時間を節約し、クラスター内のコンピューターごとにインストーラーベースのダウンロード処理を行わずにすむように、インストールの前にインストール ファイルをダウンロードします。これにより、多数のマシンへのインストールが容易になります。ライセンスに対応する管理者アカウントにアクセスできる場合は、インストーラーを使用してファイルをダウンロードできるため、ファイルをインストールする必要はありません。そうでない場合は、ライセンスの管理者に問い合わせてインストール ファイルのコピーを取得します。詳細については、インストールを後で行う場合の製品のダウンロードを参照してください。インストーラーを使用してファイルをダウンロードする場合は、次のオプションを選択します。

  • クラスター ノードの適切なオペレーティング システムを選択する。

  • ダウンロードする製品をすべて選択する。MATLAB Parallel Server は、インストールされていない製品を必要とするジョブを実行できません。

MATLAB Parallel Server には 3 つのサーバー側コンポーネントがあります。

  1. ライセンス マネージャー。各ワーカーの使用する MATLAB Parallel Server ライセンスをホストします。詳細については、ライセンス マネージャーのインストールを参照してください。

  2. サードパーティ製ジョブ スケジューラ。ヘッド ノードで実行され、クラスター上のジョブを管理します。このスケジューラを MATLAB Parallel Server と統合します。詳細については、ライセンス マネージャーのインストールおよびクラスターの構成を参照してください。

  3. MATLAB Parallel Server。計算ノード上で実行されます。詳細については、計算ノードへのソフトウェアのインストールを参照してください。

A computer cluster running MATLAB linked to client computers. The cluster headnode is shown running a Third Party scheduler with a license manager.

ライセンス マネージャーのインストール

ライセンス マネージャーをホストするコンピューター ノードを選択します。インストールするには、前述の手順で取得したオフライン インストーラーを使用します。オフラインでのインストール手順の詳細については、オフライン コンピューターへの製品のインストールを参照してください。

  1. インストール ファイルの入手で取得したインストール ファイルから MATLAB インストーラーを起動します。

  2. [詳細オプション][ネットワーク ライセンス マネージャーをインストールする] を選択します。

  3. ライセンス ファイルの手順で、license.lic ファイル (MATLAB Parallel Server ライセンスのアクティベーションから取得) を参照します。

  4. プロンプトの指示に従い、ネットワーク マネージャーのインストールを完了します。手順の詳細については、ライセンス サーバーへのライセンス マネージャーのインストールを参照してください。

  5. ライセンス マネージャーを起動します。

計算ノードへのソフトウェアのインストール

この手順はライセンス マネージャーのインストールと同様です。オフラインでのインストール手順の詳細については、オフライン コンピューターへの製品のインストールを参照してください。

  1. インストール ファイルの入手で取得したインストール ファイルから MATLAB インストーラーを起動します。

  2. [詳細オプション][ファイル インストール キーを持っている] を選択し、プロンプトの指示に従います。

  3. すべての製品を選択します。あるいは、容量を節約するために、クラスターのユーザーがライセンスを付与されている製品のみをインストールします。

  4. ヘッド ノードから取得した license.dat ファイルを使用します。このファイルは matlabroot/etc フォルダーから取得できます。ここで、matlabroot は MATLAB のインストール フォルダーです。

最高のパフォーマンスを得るには、各ノードでローカルにインストールします。ただし、ネットワーク共有の場所にインストールすることもできます。

メモ

次の場合は、代わりに非対話的な (警告なしの) インストールを行います。

  • グラフィカル ユーザー インターフェイス (GUI) なしでマシンにソフトウェアをインストールする。

  • 各計算ノード向けのインストーラー構成に要する時間を節約する。

詳細については、プログラムによる製品のインストールを参照してください。

コマンド ライン インターフェイスで次のコマンドを実行して、インストールとライセンスをテストできます。matlabroot は MATLAB のインストール フォルダーです。filename は、たとえば一時的な場所など、ログ ファイルを書き込む場所です。この場所での書き込み権限がなければなりません。

matlabroot/toolbox/parallel/bin/checkLicensing -logfile filename

メモ

Slurm 向けに MATLAB Parallel Server を構成する場合、mjs サービスを起動する必要はありません。

ローカル デスクトップへのソフトウェアのインストール

MATLAB Parallel Server を使用するには、MATLAB および Parallel Computing Toolbox を実行しているローカル デスクトップを使用しなければなりません。ライセンスの付与された MathWorks® 製品 (Parallel Computing Toolbox を含む) を、クラスターへのジョブの投入に使用するローカル デスクトップにインストールします。この手順のヘルプについては、インストールおよびライセンスを参照してください。

起動する MATLAB クラスター ワーカーはいずれもダイナミック ライセンスを使用します。MATLAB クライアントではライセンスで許可されているすべての機能を使用できますが、クラスターでは MATLAB Parallel Server ライセンスのみがチェックアウトされます。

クライアント マシンの構成

この手順では、並列計算製品がインストールされ、クラスター上で正しく構成されているかを検証します。

クラスター プロファイルの作成

この手順では、後続の手順で使用するクラスター プロファイルを作成します。

  1. クラスター プロファイル マネージャーを起動します。[ホーム] タブの [環境] 領域で、[並列][クラスターの作成と管理] を選択します。

  2. クラスター プロファイル マネージャーで [クラスター プロファイルの追加][Slurm] を選択して、新しいプロファイルを作成します。

  3. リストで新しいプロファイルが選択されている状態で、[名前の変更] をクリックし、プロファイル名を編集して「InstallTest」にします。Enter キーを選択します。

  4. [プロパティ] タブで、次のフィールドの値を指定します。

    1. [説明] フィールドに「For testing installation」と入力します。

    2. [JobStorageLocation] フィールドを、ジョブおよびタスクのデータを保存するクライアント マシン上の場所に設定します (例: C:\Temp\joblocation)。この場所にクラスター上のノードからもアクセスできる場合、MATLAB ワーカーはその場所に対する読み取りと書き込みを直接行うことができます。それ以外の場合、クライアントは sftp を使用して、クラスターとの間でジョブおよびタスクのデータ ファイルをコピーします。

      メモ

      異なるバージョンの並列計算製品で同じジョブ ストレージの場所を使用してはなりません。クラスター上の各バージョンはそれぞれ固有のジョブ ストレージの場所を使用しなければなりません。

    3. [NumWorkers] フィールドに、検証テストを実行するワーカーの数をライセンスの制限内で設定します。

    4. [NumThreads] を、各ワーカーで使用するスレッド数に設定します。

    5. [ClusterMatlabRoot] を、ワーカー マシン上で実行する MATLAB のインストール場所に設定します。

    6. クラスターでオンライン ライセンスを使用する場合、[RequiresOnlineLicensing] を true に設定します。

    7. [RequiresOnlineLicensing] を true に設定した場合は、[LicenseNumber] フィールドにライセンス番号を入力します。

    8. [HasSharedFilesystem] フィールドで、クライアントおよびワーカーが同じ JobStorageLocation プロパティの値を共有できるかどうかを設定します。

    9. 既定では、MATLAB のインストールにはすぐに使用できるスケジューラのプラグイン スクリプトが付属しています。[PluginScriptsLocation] フィールドは、既定の MathWorks 提供のプラグイン スクリプトのままにしておくことができます。

      クラスター プロファイルでカスタマイズしたプラグイン スクリプトを使用する場合は、[PluginScriptsLocation] フィールドでカスタマイズしたプラグイン スクリプトの場所を指定します。既定のプラグイン スクリプトをダウンロードして変更する方法については、プラグイン スクリプトのダウンロードとカスタマイズを参照してください。

    10. [AdditionalProperties] テーブルにプロパティを追加すると、組み込みのスケジューラのプロパティまたはカスタムのスケジューラのプロパティを使用してクライアントがクラスターとどのように連携するかをカスタマイズできます。各スケジューラの組み込みの追加プロパティの完全な一覧については、サンプル プラグイン スクリプトの動作のカスタマイズを参照してください。

      たとえば、次の追加プロパティを使用すると、リモート クラスターでジョブを接続して実行できます。

      • ClusterHost

        クライアントがスケジューラ ユーティリティにアクセスしてサードパーティ製スケジューラにジョブを直接投入できない場合、プラグイン スクリプトはクラスターへの ssh セッションを作成し、その接続を介してスケジューラ コマンドを実行します。MATLAB は sbatchsqueue などのスケジューラ ユーティリティを実行するため、クラスターのヘッドノードまたはログイン ノードのホスト名を指定する必要があります。[AdditionalProperties] テーブルで [追加] を選択します。名前に ClusterHost を使用して新しいプロパティを指定します。値には、クラスター ヘッドノードのホスト名を指定します (例: cluster-host-name)。[型]String に設定します。

      • RemoteJobStorageLocation

        クライアントとワーカーが同じジョブ ストレージの場所を共有しておらず、[HasSharedFilesystem] を false に設定した場合は、ヘッドノードとクラスター ワーカーがアクセスできるジョブ ストレージの場所を指定する必要があります。クライアントは、sftp を使用してコンピューターとクラスター上のリモート ジョブ ストレージの場所との間でジョブおよびタスクのファイルをコピーします。[AdditionalProperties] テーブルで [追加] を選択します。名前に RemoteJobStorageLocation を使用して新しいプロパティを指定します。値には、クラスター ワーカーがジョブおよびタスクのデータを保存できる場所のパスを指定します (例: /network/share/joblocation)。[型]String に設定します。

    11. [完了] をクリックしてクラスター プロファイルを保存します。完成したクラスター プロファイルは、次のいずれかの図のようになります。

       プロパティを追加していないクラスター プロファイル

       プロパティを追加したクラスター プロファイル

クラスター プロファイルの検証

この手順では、クラスター プロファイルを検証し、その結果を基にインストール環境を検証します。プロファイルの検証時に、使用するワーカーの数を指定できます。[検証] タブでワーカー数を指定しない場合、検証では、[プロパティ] タブの NumWorkers プロパティで指定されている値と同数のワーカーの使用が試みられます。より少ないワーカー数を指定すると、クラスター全体を占有せずに構成を検証することができます。

  1. クラスター プロファイル マネージャーを起動します (まだ開いていない場合)。[ホーム] タブの [環境] 領域で、[並列][クラスターの作成と管理] を選択します。

  2. 一覧でクラスター プロファイルを選択します。

  3. [検証] タブをクリックします。

  4. チェック ボックスを使用してすべてのテストまたは検証段階のサブセットを選択し、プロファイルの検証時に使用するワーカーの数を指定します。

  5. [検証] をクリックします。

クライアントでクラスターの検証が完了すると、[検証] タブに出力が表示されます。次の図では、すべての検証テストをパスしたプロファイルの結果が表示されています。

Cluster Profile Manager with the install test cluster profile selected. The validation results for the Slurm cluster show that all the stage tests have passed.

メモ

検証をパスしなかった場合は、MathWorks インストール サポート チームにお問い合わせください。

検証がパスすると、他の並列アプリケーションで利用可能な有効なプロファイルの準備ができたことになります。ご使用のアプリケーションに合わせて、NumWorkersRangeAttachedFilesAdditionalPaths など、プロファイルを変更することができます。

他のユーザー用にプロファイルを保存するには、プロファイルを選択して [エクスポート] をクリックしてから、目的の場所にプロファイルをファイルとして保存します。後で、クラスター プロファイル マネージャーの実行中に、他のユーザーは [インポート] をクリックしてこのプロファイルをインポートできます。

構成ファイルを作成し、このファイルをクラスター ユーザーに配布することで、MATLAB クライアントが Parallel Computing Toolbox の "クラスターの検出" 機能を使用してクラスターを特定できるようにします。詳細については、サードパーティ製スケジューラ クラスター検出の構成を参照してください。

並列コードの実行

構成の完了後、ジョブをクラスターに投入できます。例は、クラスターおよびクラウド プラットフォームでのコードの実行を参照してください。

参考

トピック