Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

サードパーティ製スケジューラ クラスター検出の構成

汎用スケジューラ インターフェイスで構成されたサードパーティ製スケジューラ クラスターを MATLAB® が見つけられるようにすることができます。Parallel Computing Toolbox™ クラスター検出機能を使用してクラスターを検出するには、クラスター構成ファイルを作成し、MATLAB ユーザーからアクセスできる場所にそのファイルを保存する必要があります。

前提条件

クラスターでジョブを実行するには、MATLAB クライアントに一連のプラグイン スクリプトを提供しなければなりません。このスクリプトには、ジョブ スケジューラとのインターフェイスを取る方法、クラスター ノードへのジョブおよびタスク データの転送方法など、使用しているクラスター インフラストラクチャ固有の命令が含まれています。

GitHub® リポジトリから、ご使用のサードパーティ製スケジューラに適切なプラグイン スクリプトをダウンロードします。プラグイン リポジトリは MATLAB クライアントがアクセスできる場所に保存する必要があります。詳細については、サポート スクリプトを参照してください。

クラスター構成ファイルの形式

クラスター構成ファイルは拡張子が .conf のテキスト形式のファイルであり、クラスター構成情報を記述したキーと値のペアが含まれます。MATLAB クライアントはクラスター構成ファイルを使用して、クラスターを検出するユーザー用にクラスター プロファイルを構成します。クラスター プロファイルを使用すると、クラスターの特定のプロパティを定義し、MATLAB クライアントでクラスター オブジェクト、ジョブ オブジェクトおよびタスク オブジェクトを作成する際にこれらのプロパティを適用できます。

クラスター構成ファイルは次の仕様に従っている必要があります。

  • 構成ファイルの拡張子は .conf でなければなりません。

  • Name = Value という形式で各クラスター プロパティの名前と値を指定する必要があります。

    Name = InstallTest

  • クラスターの NameNumworkersJobStorageLocation、および PluginScriptsLocation プロパティの値を指定する必要があります。

  • コメントを構成ファイルに追加するには、行の先頭をハッシュ (#) シンボルにする必要があります。

  • プロパティを構造体として指定できます。構造体のフィールド名はプロパティ名でなければならず、フィールド値によりプロパティ値を指定する必要があります。

    • structName.fieldName = fieldValue という形式のドット表記を使用して構造体を指定できます。たとえば、AdditionalProperties 構造体で Username プロパティの値を指定できます。

      AdditionalProperties.Username = myUserName

    • あるいは、大かっこを使用して、後続の名前と値のペアが同じ構造体に属すことを指定できます。

      [AdditionalProperties]
      Username = myUserName
      ClusterHost = cluster-host-name

    • AdditionalProperties 構造体を構成ファイルに追加した場合、MATLAB はその構造体を parallel.cluster プロパティの parallel.cluster.AdditionalProperties に変換します。

  • プロパティ値に適用されるオペレーティング システムを指定できます。指定子 "Windows""Mac""Linux"、または "Unix" の 1 つ以上を小かっこで囲んでプロパティ値に追加します。MATLAB は指定したプラットフォームでのみプロパティ値を実行します。たとえば、Windows® または UNIX® オペレーティング システムでクライアント コンピューターに異なるジョブ ストレージの場所を設定できます。

    JobStorageLocation (Windows) = C:\Temp\joblocation
    JobStorageLocation (Unix) = /home/Temp/joblocation

  • "$VARIABLE" としてオペレーティング システム環境変数名を指定します。MATLAB は getenv("VARIABLE") を使用して環境変数の値を検出します。たとえば、環境変数を使用して、Windows、macOS、または Linux® の各オペレーティング システムに異なるユーザー名を設定できます。

    [AdditionalProperties]
    Username (Windows) = "$USERNAME"
    Username (Mac, Linux) = "$USER"
    ClusterHost = cluster-host-name

    メモ

    変数 "$MATLAB_VERSION_STRING" は MATLAB クライアントのリリース番号 (2022a など) を返します。必要に応じて "R" または "r" を追加して MATLAB バージョンを完成させます。

    ClusterMATLABRoot = /network/installs/MATLAB/R"$MATLAB_VERSION_STRING"

  • MATLAB は数値のテキスト表現を double 型に変換し、true および false を logical 型に変換します。

  • MATLAB では cell 配列および string 配列がサポートされています (たとえば、{'hello', 'world'} または ["hello", "world"])。

構成ファイルの保存

クラスター構成ファイルは、クラスターを検出するユーザーの MATLAB クライアントが見つけることができる場所に保存します。MATLAB は次の場所で構成ファイルを検索します。

  • matlabroot/toolbox/parallel/user/clusterprofiles – ユーザーがクラスターで MATLAB インストール環境を共有している場合は、この場所を使用できます。

  • 環境変数 $MATLAB_CLUSTER_PROFILES_LOCATION で定義されたフォルダー – 組織のマシンがイメージ化されるときにクラスター管理者がそのマシンに環境変数を設定できる場合は、これが役立つことがあります。

  • ユーザーのホーム フォルダー – Windows では %USERPROFILE%、UNIX では $HOME

  • ユーザーのホーム フォルダー内のユーザーの [ダウンロード] フォルダー – ユーザーが組織のイントラネットから構成ファイルをダウンロードできる場合は、これが役立つことがあります。

  • _mdcs._tcp.<domain> の下にリストされているドメイン ネーム システム (DNS) テキスト レコードによって定義されている任意の場所 – 上記のオプションのいずれも使用可能でない場合は、これが役立つことがあります。ユーザーのマシンに変更を加える必要がないため、これはクラスターを検出する簡便なワークフローになります。

    DNS テキスト (TXT) レコードは、テキスト文字列を特定のドメインに関連付けます。システム管理者が、組織の DNS インフラストラクチャ内に DNS TXT レコードを作成します。

    DNS TXT レコードの形式は "discover_folder=<folder>" でなければなりません。ここで、<folder> はファイルシステム上のアクセス可能な場所です。

    MATLAB は <folder> に保存されている構成ファイルを検出します。<folder> に複数の構成ファイルを保存できます。また、複数の DNS TXT レコードを under_mdcs._tcp に登録できます。必要なレコードと検証情報については、DNS TXT レコードを参照してください。

ユーザー マシンでのクラスターの検出

MATLAB クライアントからクラスターを検出するには、[クラスターの検出] を使用します。詳細については、クラスターの検出 (Parallel Computing Toolbox)を参照してください。

構成ファイルのインポートによるクラスター プロファイルの作成

R2023b 以降

別の方法として、クラスター プロファイル マネージャーを使用するか、MATLAB コマンド ウィンドウでのプログラムにより、構成ファイルをインポートして MATLAB クライアントにクラスター プロファイルを作成できます。

メモ

インポートした構成ファイルが、クラスター プロファイル マネージャーのリストに新しいクラスター プロファイルとして表示されます。リストに表示されるクラスター プロファイル名は、ファイル名と同じであるとは限りません。構成ファイルに記述されているクラスターと同じ名前をもつクラスター プロファイルが既にある場合、新しいクラスター プロファイルの名前には、識別できるように拡張子が加えられます。

クラスター プロファイル マネージャーを使用したインポート

クラスター プロファイル マネージャーを使用して構成ファイルをインポートするには、次を行います。

  1. [ホーム] タブの [環境] セクションで、[並列][クラスターの作成と管理] を選択します。

  2. クラスター プロファイル マネージャーで、[インポート] を選択します。

  3. [ファイルからプロファイルをインポートする] ダイアログ ボックスで、参照により、インポートする構成ファイル (.conf 拡張子付き) を見つけます。ファイルを選択して、[開く] を選択します。

プログラム (parallel.importProfile) を使用したインポート

MATLAB コマンド ウィンドウでプログラムを使用して構成ファイルをインポートするには、関数 parallel.importProfile (Parallel Computing Toolbox) を使用します。

たとえば、次のコードは Slurm HPC という名前のクラスター用の構成ファイル clusterConfigFile.conf をインポートし、そのクラスター名をもつクラスター プロファイルを作成します。

clusterProfile = parallel.importProfile("C:\User\Downloads\clusterConfigFile.conf")
clusterProfie =

    'Slurm HPC'

関連するトピック