5.2.1 グリッドジョブネットの構成および定義のポイント
グリッドジョブネットは,グリッド開始ジョブ,グリッド実行ジョブ,およびグリッド終了ジョブの一連の処理の定義です。バッチジョブ分散実行システムでは,グリッドプロパティが同じグリッドジョブを1つのグリッドジョブネットとして扱います。
バッチジョブ分散実行システムがサポートするグリッドジョブネットの構成,およびグリッドジョブネットを定義する際のポイントについて説明します。
- 〈この項の構成〉
(1) グリッドジョブネットの構成
(a) サポートするグリッドジョブネットの構成
バッチジョブ分散実行システムでサポートするグリッドジョブネットの構成は次に示すとおりです。
-
すべてのグリッドジョブの先行グリッドジョブが1つだけである。
-
グリッドジョブネット内で,グリッド開始ジョブ,およびグリッド終了ジョブが1つだけである。
ただし,グリッドプロパティが異なる場合は,グリッド開始ジョブ,およびグリッド終了ジョブを複数定義できます。
-
グリッド開始ジョブ,グリッド実行ジョブ,グリッド終了ジョブの順番に定義されている。
実行順序が保証されていれば,同一のグリッドジョブネットに定義する必要はありません。
-
世代管理機能を使用する場合は,グリッドジョブネットは同一ルートジョブネット内に定義する必要がある。
世代管理機能を使用しない場合は,グリッドジョブネットは同一ルートジョブネット内に定義する必要はありません。
基本的な構成例を次に示します。
次の図に示すように,グリッドプロパティが異なる複数のグリッドジョブが1つのグリッドジョブネットに含まれていても,グリッド開始ジョブ,グリッド実行ジョブ,グリッド終了ジョブの順番に定義されていれば問題ありません。JP1/AJS3上では,1つのグリッドジョブネットとして各グリッドジョブが順次実行されますが,バッチジョブ分散実行システムでは,グリッドプロパティが異なるジョブは別のグリッドジョブネットとして扱われます。
また,世代管理機能を使用しない場合,グリッド開始ジョブ,グリッド実行ジョブ,およびグリッド終了ジョブは,実行順序が保証されていれば,同じグリッドジョブネットに定義する必要はありません。ただし,各グリッドジョブのグリッドプロパティは同じにする必要があります。
(b) サポートしないグリッドジョブネットの構成
先行グリッドジョブが複数あるグリッドジョブを含むグリッドジョブネットはサポートしません。次の図に示す例では,「job5」と「jobed」の先行グリッドジョブが複数あります。JP1/AJS3 - Viewで定義できますが,このようなグリッドジョブネットを実行しても,先行グリッドジョブが複数あるかなどグリッドジョブ間の妥当性はチェックされないため,動作を保証しません。
(2) グリッドジョブネットの定義のポイント
グリッド開始ジョブ,グリッド実行ジョブ,およびグリッド終了ジョブの定義で,グリッドプロパティ名を指定する際のポイントについて説明します。
(a) グリッドプロパティ名
グリッドジョブネットに含まれるすべてのカスタムジョブ(グリッド開始ジョブ,グリッド実行ジョブ,およびグリッド終了ジョブ)に,同じグリッドプロパティ名を指定してください。それは,グリッドプロパティ名はグリッド開始ジョブからグリッド終了ジョブまでシステムによって保持されて,グリッドプロパティの識別に利用されるためです。したがって,グリッドジョブネットの異常終了などで未解放のグリッドプロパティがある場合は,グリッド終了ジョブを実行して解放するまで,同じグリッドプロパティ名は使用できません。
ただし,世代管理機能を使用する場合は,異なるジョブネットおよび異なる実行世代で同じグリッドプロパティ名を使用できますが,それぞれが別々のグリッドジョブネットとして動作します。
また,バッチジョブ分散実行システムでは,グリッドプロパティ名が一致しているジョブ間でサブジョブの実行状態を共有します。プロパティが異なるグリッドジョブ間ではサブジョブの実行状態を共有しません。