ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

一般的なスケジューラ インターフェイスの使用

はじめに

この節では、一般的なスケジューラ インターフェイスを使用して通信ジョブをプログラムする方法について説明します。このインターフェイスでは、おもちの任意のスケジューラを使用してクラスターでジョブを実行できます。

通信ジョブに一般的なスケジューラ インターフェイスを使用する際の原則は、分散ジョブの場合と同じです。分散ジョブにおける送信関数とデコード関数の概念と詳細のまとめは、「分散ジョブのプログラミング」の章の「一般的なスケジューラ インターフェイスの使用」を参照してください。

クライアントのコード

スケジューラ オブジェクトの構成

一般的なスケジューラでの通信ジョブのコーディングに必要な手順は、独立ジョブのコーディングの場合と同じです。

  1. parcluster を用いてクラスターを表すオブジェクトを作成します。

  2. クラスター オブジェクトのプロパティがプロファイルで定義されていない場合は、それらを適切に設定します。多くの場合、スケジューラ自体は多数のユーザーとアプリケーションで共通なため、これらのプロパティのプログラムにはプロファイルを使用するのがおそらく最適です。「クラスター プロファイル」を参照してください。

    通信ジョブに必要なプロパティに、CommunicatingSubmitFcn があります。独自の通信用送信関数およびデコード関数を作成することも、さまざまなスケジューラとプラットフォーム用に製品に付属の送信関数およびデコード関数を使用することもできます。次節「付属の送信関数およびデコード関数」を参照してください。

  3. createCommunicatingJob を使用して、クラスターに通信ジョブ オブジェクトを作成します。

  4. タスクを作成し、ジョブを実行して通常どおりに結果を取得します。

付属の送信関数およびデコード関数

ツールボックスには、一般的なスケジューラ インターフェイスで使用するための送信関数およびデコード関数がいくつか用意されています。これらのファイルは次のフォルダーにあります。

matlabroot/toolbox/distcomp/examples/integration

このフォルダーには、スケジューラのタイプごとにサブフォルダーがあります。

これらのファイルは、ネットワークおよびクラスターの構成によっては、特定環境での使用前に変更する必要があります。詳細は、システム管理者にお問い合わせください。

このマニュアルの出版時点では、PBS (pbs) および Platform LSF® (lsf) スケジューラ、一般的な UNIX® ベース スクリプト (ssh)、Sun™ Grid Engine (sge)、Microsoft® Windows® オペレーティング システムの mpiexec (winmpiexec) のそれぞれにフォルダーが設けられています。また、pbslsf および sge のフォルダーには sharednonshared および remoteSubmission というサブフォルダーがあり、特定のクラスター構成で使用するスクリプトが含まれています。これらの各サブフォルダーには README というファイルがあり、スクリプトを使用する場所と方法に関する指示が記載されています。

各スケジューラ タイプにつき、フォルダー (または構成サブフォルダー) には、ラッパー、送信関数、独立ジョブと通信ジョブのためのジョブ管理スクリプトが収められています。たとえば、matlabroot/toolbox/distcomp/examples/integration/pbs/shared フォルダーには PBS スケジューラで使用する以下のファイルが収められています。

ファイル名説明
independentSubmitFcn.m独立ジョブ用の送信関数
communicatingSubmitFcn.m通信ジョブ用の送信関数
independentJobWrapper.shPBS に送信され、独立ジョブのタスクを評価するワーカーを起動するスクリプト
communicatingJobWrapper.shPBS に送信され、通信ジョブのタスクを評価するワーカーを起動するスクリプト
deleteJobFcn.mスケジューラからジョブを削除するスクリプト
extractJobId.mスケジューラからジョブ ID を取得するスクリプト
getJobStateFcn.mスケジューラからジョブの状態を取得するスクリプト
getSubmitString.mスケジューラの送信文字列を取得するスクリプト

これらのファイルはすべて製品に付属している標準のデコード関数を使用するようプログラムされているため、専用のデコード関数はありません。通信ジョブ用の、製品に付属している標準のデコード関数は parallel.cluster.generic.communicatingDecodeFcn です。このファイルの必須の変数を表示するには、次のように入力します。

edit parallel.cluster.generic.communicatingDecodeFcn

他のスケジューラ タイプのフォルダーにも同様のファイルが収められています。使用可能なスケジューラと、そのファイルやソリューションはいつでも追加される可能性がありますので、MathWorks の Web サイト http://www.mathworks.co.jp/support/product/product.html?product=DM にある本製品のサポート ページをご確認ください。この Web ページには、ご質問に備えて連絡先情報も記載されています。

この情報は役に立ちましたか?