WebSphere Extended Deployment Compute Grid, Version 6.1.1
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows,


パラレル・ジョブ・マネージャー (PJM)

パラレル・ジョブ・マネージャー (PJM) は、独立したパラレル・サブジョブの調整コレクションとして実行されるトランザクション・バッチ・ジョブを実行依頼し、管理するための機能およびフレームワークを提供します。

PJM 操作および SPI 呼び出し

以下の 2 つの図は、PJM アーキテクチャーと、パラレル・ジョブの順序を示しています。まず、最上位のジョブがジョブ・スケジューラーに実行依頼され、ジョブ・スケジューラーは、そのジョブがパラレル・ジョブと判断し、そのジョブを PJM にディスパッチします。PJM は、パラメータライザー SPI を呼び出して、ジョブを 2 つのサブジョブに分割するのを助けます。ここで PJM は LogicalTX 同期 SPI を呼び出して、論理トランザクションの先頭を示します。次に PJM はリポジトリーに保管されているサブジョブ xJCL を使用して、サブジョブをジョブ・スケジューラーに実行依頼します。ここでジョブ・スケジューラーは、サブジョブを実行のためにバッチ・コンテナー・エンドポイントにディスパッチします。サブジョブが実行を開始したことを PJM が検出すると、PJM はライフサイクル SPI を呼び出します。他の SPI 呼び出しとは異なり、この呼び出しの一部としてコンテキスト情報が使用可能になることはありません。次にバッチ・コンテナーがサブジョブを実行します。チェックポイントが取られると、サブジョブ・コレクター SPI が呼び出されます。この SPI は、サブジョブに関する状態情報を収集します。 このデータは、解釈のためにサブジョブ・アナライザー SPI に送られます。 すべてのサブジョブが最終的な状態に達すると、同期 SPI の beforeCompletion および afterCompletion が呼び出されます。ジョブの戻りコードを計算するために、アナライザー SPI も呼び出されます。

PJM アーキテクチャーおよびプログラミング・モデル

以下の図は、PJM アーキテクチャーを要約した図で、どこで SPI が呼び出されるかを示しています。


PJM アーキテクチャー

パラレル・ジョブの順序

以下の図は、パラレル・ジョブのイベントの順序を示しています。


パラレル・ジョブの順序

PJM システム・アプリケーションとパラレル・ジョブ

PJM は、パラレル・サブジョブをモニターし、管理する Enterprise JavaBeans (EJB) アプリケーションです。パラレル・サブジョブは、バッチ J2EE アプリケーションです。PJM は、1 ステップのバッチ Java 2 Platform, Enterprise Edition (J2EE) です。PJM は、バッチ・データ・ストリームを処理するのではなく、ジョブ・リポジトリー内のサブジョブおよび処理対象のサブジョブのカウントを識別するステップ・プロパティーの管理下で、サブジョブを実行依頼または再開します。

パラレル・ジョブは、ParallelJobManager アプリケーションを実行する最上位のジョブと、実際のビジネス・ロジックを実行するサブジョブのセットで構成されます。サブジョブは、同じジョブ定義を実行しますが、それぞれ潜在的に異なる入力が設定されます。すべてのサブジョブは、単一の論理ジョブとしてまとめて管理されます。

最上位およびサブジョブの両方に個別の xJCL 定義が必要になります。すべてのサブジョブは、同じ xJCL 定義を使用して実行され、各サブジョブ・インスタンスは、個別の代替プロパティーでパラメーター化できます。

論理トランザクションは、パラレル・ジョブの実行を測定する作業単位区分です。そのライフサイクルは、パラレル・ジョブのサブジョブのライフサイクルを合わせた長さに一致します。拡張メカニズムによって、コミットおよびロールバック目的で、アプリケーション管理のリソースをこの作業単位の有効範囲で制御できるようにカスタマイズできます。

ジョブの命名規則

パラレル・ジョブのジョブ名は、最上位ジョブを定義する xJCL で指定されます。 最上位ジョブの xJCL は、ファイル・システムまたは Compute Grid ジョブ・リポジトリーを起点とすることができます。ジョブ名は、標準置換プロパティー表記を使用してパラメーター化できます: <job name="${jobname}"… >

ジョブ ID は、ジョブ名にシステム生成のシーケンス番号を連結して形成されます。ジョブ名とシーケンス番号との間は、コロンで区切ります。サブジョブのジョブ名は、パラレル・ジョブのジョブ ID になります。サブジョブの xJCL の起点とできるのは、Compute Grid ジョブ・リポジトリーに限られます。サブジョブの xJCL では、ジョブ名代替プロパティーを指定する必要があります: <job name=”${jobname}” … >

PJM のジョブ管理

最上位のジョブは、サブジョブを実行依頼し、その完了をモニターします。最上位のジョブの終了状態は、サブジョブの結果によって次のように変わってきます。
  1. すべてのサブジョブが終了状態で完了した、すなわち、正常終了した場合は、最上位ジョブも終了状態で完了します。
  2. いずれかのサブジョブが再始動可能状態で完了し、失敗状態で終了したサブジョブがない場合は、最上位ジョブは再始動可能状態で完了します。
  3. 失敗状態で完了したサブジョブがある場合は、最上位ジョブは失敗状態で完了します。
  4. 最上位のジョブとサブジョブが再始動可能な状態になっている場合、最上位ジョブのみが再始動されることになります。いずれかのサブジョブが手動で再始動された場合、最上位ジョブは論理トランザクションを正しく処理しません。



関連概念
Compute Grid ジョブ およびその環境の管理
パラレル・ジョブ・マネージャー実行時のその他の考慮事項
関連タスク
パラレル・ジョブ・マネージャー (PJM) のインストールおよび構成
パラレル・ジョブ・マネージャーのサンプル・アプリケーション
関連資料
システム・プログラミング・インターフェース (SPI) およびプロパティー
parallelJobManager.py スクリプト
概念のトピック    

ご利用条件 | フィードバック

最終更新: 2009/09/17 16時38分56秒EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/scheduler/ccgparallel.html