主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

クラスターの検出とクラスタープロファイルの使用

并行计算工具箱™ には、ローカル デスクトップ マシンで並列コードを実行するためのクラスター プロファイル地方的が事前に設定されています。

MATLAB®[ホーム]タブの[並列]メニューを使用して並列動作を制御します。

[並列]メニューを使用して次を設定できます。

  • ネットワークまたはAmazon EC2で実行されている他のクラスターの検出。[並列][クラスターの検出]をクリックします。詳細については、クラスターの検出を参照してください。

  • クラスタープロファイルマネージャーを使用したクラスタープロファイルの作成と管理。[並列][クラスターの作成と管理]をクリックします。詳細については、クラスタープロファイルの作成と管理を参照してください。

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

クラスター プロファイルを使用すると、クラスターの特定のプロパティを定義し、MATLABクライアントでクラスター オブジェクト、ジョブ オブジェクトおよびタスク オブジェクトを作成する際にこれらのプロパティを適用できます。クラスター プロファイルの使用をサポートする関数には、以下があります。

クラスタープロファイルマネージャーを使用してクラスタープロファイルを管理します。クラスタープロファイルマネージャーを開くには,[ホーム]タブの[環境]セクションで、[並列][クラスターの作成と管理]を選択します。

クラスタープロファイルマネージャーを使用して,次のことができます。

クラスターの検出

MATLABを使用してクラスターを検出できます。次のいずれかの方法を使用して、使用できるクラスターを検出します。

  • [ホーム]タブの[環境]セクションで、[並列][クラスターの検出]を選択する

  • クラスタープロファイルマネージャーで,[クラスターの検出]を選択する

これによって[クラスターの検出]ダイアログボックスが開き,そこでMATLAB并行服务器™クラスターを検索できます。

[ネットワーク上]を選択すると、新しいウィンドウが表示されます。このオプションは、クラスターで MATLABジョブ スケジューラまたは Microsoft Windows HPC服务器を使用している場合に選択します。クラスターが検出されると、選択肢のリストに挿入されます。リストされたクラスターのいずれかのプロファイルが既にある場合は、そのプロファイル名がリストに含められます。検出されたクラスターの 1.つに新しいプロファイルを作成する場合は、使用するクラスターの名前を選択し、(次へ]を選択します。次のダイアログボックスで,作成したプロファイルを既定にするかどうかを選択できます。このオプションは,MATLAB在线ではサポートされていません。

(Amazon EC2上)を選択した場合は、亚马逊EC2で実行されているクラスターを検索します。これらのクラスターにアクセスするには、数学作品アカウントのログイン情報を指定しなければなりません。

クラスター検出のための要件

クラスター検出はMATLABジョブスケジューラ,微软®窗户®高性能计算服务器,Amazon EC2クラウドクラスターでのみサポートされています。スケジューラをMATLAB并行服务器と統合する必要がある場合、またはサポートされている他のスケジューラ用のクラスター プロファイルを作成する必要がある場合は、MATLABParallel服务器入門(MATLAB并行服务器)を参照してください。クラスターの検出には次の要件が適用されます。

  • MATLABジョブスケジューラ——MATLABジョブスケジューラクラスターでは,2通りの異なる検出方法がサポートされます。

    • マルチキャスト: このクラスター検出機能では、クライアントのマルチキャスト ネットワーク プロトコルを使用して MATLABジョブ スケジューラが実行されているヘッド ノードを検索します。このためには、マルチキャスト ネットワーク プロトコルが有効になっていて、MATLABジョブ スケジューラ ヘッド ノード (スケジューラが実行されている場所) とクライアント マシンを接続するネットワーク上で動作している必要があります。この検出形式は、クライアントのローカル サブネットに制限されている場合があるため、ネットワークの他の場所でも常に MATLABジョブ スケジューラを検出できるとは限りません。

    • DNS SRV: DNSサービスレコードでクラスターを検索する代替の検出手法です。

      ドメインネームシステム(DNS)はインターネット上またはプライベートネットワーク内のいずれかでIPアドレスを使用してホスト名を識別する標準的な方法です。DNSを使用すると,ネットワーク全体にブロードキャストするのではなく,特定のホストを識別することでMATLABジョブスケジューラクラスターを検出できます。

      DNSサービス(SRV)レコードは,検出するクラスターに関連するサービスのホストとポートの場所を定義します。システム管理者が,組織のDNSインフラストラクチャ内にDNS SRVレコードを作成します。必要なレコードと検証情報については,DNS SRVレコード(MATLAB并行服务器)を参照してください。

  • HPC服务器-クラスター検出機能は 活动目录ドメイン サービスを使用してヘッド ノードを検出します。HPC服务器ヘッド ノードは HPC服务器ソフトウェアのインストール時に 活动目录に追加されます。

  • 亚马逊EC2-クラスター検出機能では、クライアントと mathworks.comで実行されている 云中心の 网状物サービスの間のネットワーク接続が有効になっている必要があります。

クラウドクラスターの作成

クラスタープロファイルマネージャーから直接に,Amazon AWSクラウドサービスでクラスターを作成できます。クラスタープロファイルマネージャーで,[クラウド クラスターの作成]を選択します。迈斯沃克®アカウントでサインアップし,必要な手順を完了します。次に,クラウドクラスターを作成して,マシンの数,マシンごとのワーカー数などのパラメーターを設定できます。使用できる各パラメーターの詳細については,创建云集群を参照してください。すべての手順を完了すると、MATLABにより新しいクラスター プロファイルが作成されます。そのプロパティをクラスター プロファイル マネージャーから変更できます。

MathWorks云中心でライセンスの管理,クラウド接続のテスト,クラウドクラスターの管理を行うには,クラスタープロファイルマネージャーのツールストリップの[クラウド]セクションに移動します。

クラスター プロファイルの追加と変更

クラスター プロファイル マネージャーを使用して、MATLABジョブ スケジューラ用またはサードパーティ製スケジューラ用のクラスター プロファイルを追加できます。MATLABで使用するためにクラスターをセットアップする必要がある場合は、MATLABParallel服务器入門(MATLAB并行服务器)を参照してください。

次の例では,クラスタープロファイルマネージャーを使用してプロファイルの追加と変更を行う方法を説明します。

プロファイルを作成し,MATLABジョブスケジューラクラスターでジョブを実行するようにいくつかのプロパティを設定するとします。以下の例では,使用するワーカー数のみが異なる2つのプロファイルを作成する,想定可能なワークフローについて説明します。

  1. クラスタープロファイルマネージャーで,[クラスタープロファイルの追加)(MATLABジョブスケジューラ]を選択します。これにより,MATLABジョブスケジューラクラスター用のプロファイルの新規作成が指定されます。

    MJSProfile1という新しいプロファイルが作成され、表示されます。

  2. リスト内の新しいプロファイル名をダブルクリックし、プロファイル名をMyMJSProfile1に変更します。

  3. ツール ストリップの[編集]を選択します。これでプロファイルのプロパティ値を設定できます。

    [説明] フィールドに、次の図に示されているようにテキスト有4名工人的MJSを入力します。MATLABジョブ スケジューラを実行するマシンのホスト名と、MATLAB ジョブ スケジューラの名前を入力します。既にネットワークで実行されている実際の MATLAB ジョブ スケジューラの情報を入力する場合は、その実際の名前を入力します。MATLAB ジョブ スケジューラの名前とネットワーク上の場所がわからない場合は、システム管理者に問い合わせてください。

    メモ

    MATLABジョブ スケジューラが、mjs_defファイルに定義されている既定とは異なるBASE_PORT設定を使用している場合、クラスター プロファイルの宿主プロパティにこのBASE_PORT番号を追加しなければなりません。たとえば,MJS-Host: 40000です。

  4. [ワーカー]セクションまで下にスクロールし,[ジョブを実行するワーカーの数の範囲]に2要素ベクトル(4 - 4)を入力します。これは,このプロファイルを使用するジョブで,少なくとも4つの,かつ4つを超えない数のワーカーが必要であることを指定します。したがって,開始するのに4つのワーカーが使用可能になるまで待たなければならない場合でも,このプロファイルを使用するジョブはちょうど4つのワーカーで実行されます。

    ネットワークおよびクラスターの特定状況に応じて、他のプロパティを編集することができます。

  5. [完了]を選択してプロファイル設定を保存します。

違いの少ない類似のプロファイルを作成するには,以下のように既存のプロファイルを複製し,変更が必要な部分のみを修整します。

  1. クラスター プロファイル マネージャーでリストにあるプロファイル名MyMJSProfile1を右クリックし、[複製]を選択します。

    これにより、元のプロファイル名に_抄袭を加えた名前をもつ複製プロファイルが作成されます。

  2. 新しいプロファイル名をダブルクリックし,名前を編集して”MyMJSprofile2“にします。

  3. [編集]を選択して,プロファイルのプロパティ値を変更可能にします。

  4. [説明] フィールドを編集して、そのテキストをMJS与任何工人に変更します。

  5. [ワーカー]セクションまで下にスクロールし,[ジョブを実行するワーカーの数の範囲]フィールドの(4 - 4)を消去して、このフィールドを空白にします。

  6. [完了]を選択してプロファイル設定を保存し,プロパティエディターを閉じます。

これで,ジョブの実行に必要なワーカー数のみが異なる2つのプロファイルができました。

ジョブを作成するときに、ジョブを実行するワーカー数を指定する方法として、いずれかのプロファイルをそのジョブに適用できます。

サポートされているさまざまな種類のスケジューラのプロファイル例は,MATLAB并行服务器のインストール手順にあるクラスターの構成(MATLAB并行服务器)を参照してください。

クラスタープロファイルのインポートとエクスポート

クラスター プロファイルは MATLAB基本設定の一部として保存されるため、通常は個々のユーザー ベースでの使用が可能です。クラスター プロファイルを自分以外が使用できるようにするには、個別の.mlsettingsファイルにエクスポートします。こうすることで、計算用クラスターの全ユーザーが共通プロファイルを共有できるよう、プロファイルのリポジトリを作成できます。

クラスタープロファイルをエクスポートするには,以下の手順に従います。

  1. クラスター プロファイル マネージャーで、エクスポートするプロファイルを選択 (強調表示) します。

  2. [エクスポート][エクスポート]を選択します (または、リスト内のプロファイルを右クリックして[エクスポート]を選択することもできます)。

    すべてのプロファイルを単一のファイルにエクスポートする場合は、[エクスポート][すべてをエクスポート]を選択します。

  3. [プロファイルをファイルにエクスポート] ダイアログ ボックスで、ファイルの場所と名前を指定します。既定のファイル名は、そのファイルに含められるプロファイルの名前に.mlsettings拡張子を付けたものです。名前は必要に応じて変更できます。

云中心の個人用クラスターのプロファイルはエクスポートできないことに注意してください。

このようにして保存されたプロファイルは、他の MATLABユーザーによるインポートが可能になります。

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

  2. [ファイルからプロファイルをインポートする]ダイアログボックスで,参照により,インポートするプロファイルの.mlsettingsファイルを見つけます。ファイルを選択して,[開く]を選択します。

    インポートしたプロファイルが集群配置文件管理器のリストに表示されます。リストに記載されるプロファイル名は,ファイル名と同じであるとは限らないことに注意してください。インポートするプロファイルと同じ名前のプロファイルが既にある場合,インポートされるプロファイルの名前には,識別できるよう拡張子が加えられます。

プロファイルは、関数parallel.exportProfileおよびparallel.importProfileを使用して、プログラムでエクスポートおよびインポートすることもできます。

MATLAB编译器用プロファイルのエクスポート

エクスポートしたプロファイルをMATLAB编译器™MATLAB编译器SDK™で使用して,コンパイルされたアプリケーションをクラスターで実行するためのクラスターセットアップ情報を特定することができます。たとえば,関数setmcruserdata(MATLAB编译器)では,エクスポートしたプロファイルファイル名を使用して,キー平行剖面の値を設定できます。並列アプリケーションの配布の詳細と例については,実行時に并行计算工具箱プロファイルを渡す(MATLAB编译器)および在部署的应用程序中使用并行计算工具箱(MATLAB编译器SDK)を参照してください。

コンパイルされたアプリケーションには,アプリケーションがコンパイルされたときにコンパイルを行うユーザーがもっていた同じ既定のプロファイルと,同じ代替プロファイルのリストが設定されます。つまり,ローカルワーカーに地方的プロファイルを使用する場合と同様,多くの場合プロファイルファイルは不要であるということです。エクスポートしたファイルを使用する場合,そのファイル内の最初のプロファイルがインポートする際の既定値になります。インポートされるプロファイルのいずれかが既存のプロファイルのいずれかと同じ名前をもっている場合,その名前はインポートに際して変更されます(ただし,ファイル内の名前は変更されません)。

ワーカー数とクラスター設定の編集

クラスター プロファイルの作成後に、ワーカー数と他のプロファイル プロパティを指定できます。

  • NumWorkers: プールを起動するワーカーの数。実際のプールのサイズはライセンス、クラスターのサイズ、クラスターのプロファイル設定により制限されることがあります。プールサイズとクラスターの選択を参照してください。

  • NumThreads:各ワーカー上で使用する計算スレッドの数。ワーカーがマルチスレッドモードで実行されてクラスター上のすべてのコアを使用できるように,NumThreadsを変更することが可能です。これにより、ワーカー数NumWorkersを増加させずに各ワーカーで計算スレッド数NumThreadsを増やすことができます。より多くのコアが使用できる場合は,NumThreadsを増加して、組み込み並列処理を最大限に活用します。この並列処理は、基となる MATLABライブラリの多数が持つマルチスレッド特性によって提供されます。詳細については、在多核和多处理器机器上运行MATLABを参照してください。

    メモ

    1台のマシン上のすべてのワーカーで,物理コアの数を超えてスレッド数を増やさないでください。つまり,必ずNumWorkers x NumThreadsをマシンの物理コア数以下にしてください。そうしない場合,パフォーマンスが低下することがあります。

MATLABからのクラスターの使用

クラスター上でparpool批处理などの並列言語関数を実行するには、クラスター プロファイルを既定として設定するか、クラスター オブジェクトを使用します。

既定のクラスターの指定

クラスタープロファイルを既定として設定するには,次の方法のいずれかを使用します。

  • [ホーム]タブの[環境]セクションで[並列][既定のクラスターの選択]を選択すると、そこからすべてのプロファイルを使用できます。既定のプロファイルは既定として示されます。リスト内の任意のプロファイルを既定のプロファイルとして選択できます。

  • クラスター プロファイル マネージャーにより、どれが既定のプロファイルであるかが示されます。リスト内の任意のプロファイルを選択して、[既定に設定]を選択できます。

  • 既定のプロファイルをプログラムによって取得または設定するには,関数parallel.defaultClusterProfileを使用します。以下のコマンドのセットは、いずれも同じ内容を実行します。

    parallel.defaultClusterProfile(“MyMJSProfile1”) parpool

    または

    帕尔普(“MyMJSProfile1”

プログラムによるクラスターの指定 (parcluster

関数parclusterは,指定したプロファイルに従ってワークスペースにクラスターオブジェクトを作成します。プロファイルにより,特定のクラスターが識別され,プロパティ値が適用されます。以下に例を示します。

c = parcluster (“MyMJSProfile1”

このコマンドはMyMJSProfile1というプロファイルの設定で定義されたクラスターを検出し,プロファイルの設定に基づいてクラスターオブジェクトにプロパティ値を設定します。parpool批处理などの関数でクラスター オブジェクトを使用します。MATLABアプリケーション コードを変更しなくても、異なるプロパティを適用することでクラスターの選択を変更することができます。

参考

|||||||(MATLAB编译器)

関連する例

詳細

外部のWebサイト