2.3.2 サブジョブの制御
サブジョブは,グリッドプロパティのデータ配置情報を基に生成されて,データ識別子ごとに指定された実行ノードに投入されます。このとき,すべてのデータ識別子のサブジョブが一度に投入されるのではなく,各実行ノードに定義したUGPSM_MAXCNTSUBJOB環境変数の値の分だけ投入されます。
実行ノードの選択機能が有効な場合は,残りのサブジョブは,投入中のサブジョブが完了して,実行多重度に空きができたときに投入されます。一度に投入してキューイングしない理由は,次のような場合でも実行ノード間の負荷のばらつきを低減して,グリッド実行ジョブの終了時間を早めるためです。
-
投入されるサブジョブのデータ数が異なる場合
-
実行ノードの処理性能が不均一な場合
- 〈この項の構成〉
(1) ノードマネージャに転送される情報
サブジョブの投入時に,ノードマネージャ(実行ノード)に転送される情報を次の表に示します。
入力情報 |
説明 |
---|---|
コマンドライン
|
|
UAP固有の環境変数 |
[グリッド実行定義]ダイアログボックスまたは[単体グリッドジョブ定義]ダイアログボックスで設定した環境変数(全サブジョブ共通) |
データ識別子 (UGPSM_DATAID環境変数) |
サブジョブを区別するための,uGPS - Manager固有の情報(データ配置情報で指定したデータ識別子) |
データ識別情報 (UGPSM_DATAINFO環境変数) |
データを識別するための情報(データ配置情報で指定したデータ識別情報) |
データ識別情報(拡張情報) (UGPSM_DATAINFOnn※環境変数) |
データ配置情報で指定したデータ識別情報(拡張情報) |
世代識別子 (UGPSM_GEN環境変数) |
世代実行されたジョブを識別するための情報(JP1/AJS3 - Viewから実行されたジョブの実行ID(10byte以内の文字列)が設定されます。AJSEXECID環境変数と同じ値が設定されます) |
リソース名 (UGPSM_RESOURCENAME環境変数) |
uGPS - Manager固有の,サブジョブごとに指定されたリソース名の情報(データ配置情報で指定したリソース名) |
スケジュール優先順位 (UGPSM_SCHEDULEPRIORITY環境変数) |
uGPS - Manager固有の,サブジョブごとに指定されたスケジュール優先順位(データ配置情報で指定したスケジュール優先順位) |
プログラム実行ファイル (UGPSM_AUTOUAP環境変数) |
uGPS - Manager固有の,自動分散を適用する際に実行するプログラム実行ファイルの情報 |
グリッドプロパティ識別子 (UGPSM_GRIDPROPID環境変数) |
uGPS - Manager固有の,自動分散を適用する際にグリッドプロパティを区別するための情報 |
(2) サブジョブ実行プログラムで参照できる情報
サブジョブ実行プログラム(UAP)で参照できる環境変数を次の表に示します。なお,環境変数は,表に示す優先順位に従って設定されるため,同一の環境変数名が存在する場合には,優先順位が高い環境変数が有効となります(優先順位がいちばん高いのは1です)。また,Windowsの場合,ユーザプロファイル情報は無効になります。
優先順位 |
内容 |
環境変数 |
---|---|---|
1 |
|
|
2 |
グリッド実行ジョブの定義または単体グリッドジョブの定義で設定した環境変数 |
[グリッド実行定義]ダイアログボックスまたは[単体グリッドジョブ定義]ダイアログボックスで設定した環境変数 |
3 |
バッチジョブ分散実行システムが設定する環境変数 |
|
(3) UAPから参照できるJP1/AJS3の環境変数
JP1/AJS3環境変数は,グリッドクライアント実行ホストの設定ファイル(ugpsm.conf)のJP1_ENVNAMEパラメータにJP1/AJS3環境変数名を指定することで,UAP(グリッドジョブ前処理プログラム,グリッドジョブ後処理プログラムおよびサブジョブ実行プログラム)から参照できます。
JP1_ENVNAMEパラメータの詳細については,「4.8.36 JP1_ENVNAMEパラメータ(UAPに渡すJP1/AJS3環境変数名定義)」を参照してください。
JP1/AJS3からのジョブ実行時に設定される環境変数と,UAPから参照できるJP1/AJS3環境変数を,次の表に示します。
環境変数名 |
内容 |
---|---|
AJSENV |
スケジュールに従ってジョブが起動されたことを識別できる情報 |
AJSPRE_ST |
先行ジョブまたは先行ジョブネットの終了状態を表す文字 |
AJSPRE_RC |
先行ジョブの戻り値 |
AJSNETNAME |
ルートジョブネット名 |
AJSJOBNAME |
ジョブ名 |
AJSHOST |
ジョブの実行を依頼したマネージャーホスト名 |
AJS_AJSCONF |
ジョブの実行を依頼したマネージャーホストのスケジューラーサービス名 |
AJSEXDATE |
ルートジョブネットの実行開始予定日 |
AJSEXECID |
ジョブの実行ID |
AJSEXECPID |
起動条件監視中世代の実行ID |
JP1_HOSTNAME |
自ホストの論理ホスト名 |
JP1JobName |
実行ファイル名,またはジョブ名 |
JP1JobID |
ジョブ番号 |
JP1UserName |
ジョブをサブミットしたユーザ名 |
JP1_USERNAME |
ジョブをサブミットしたユーザ名 |
JP1UNCName |
ジョブを実行しているエージェントホスト名 |
JP1NBQSQueueName |
ジョブの登録先であるマネージャーホスト名とキュー名 |
JP1NBQSClientName(Windows限定) |
ジョブを投入したクライアントコンピュータ名 |
JP1Priority |
ジョブの実行優先順位 |
上記以外のJP1/AJS3環境変数※ |
− |
(4) サブジョブから返される情報
実行ノードからグリッドジョブ管理ホストへは,次に示す情報が出力されます。
-
終了コード:UAPの戻り値
-
サブジョブ稼働情報:サブジョブのE-TIME・C-TIMEなど
実行ノードからグリッドプロパティ管理ホストには,次に示す情報が出力されます。
-
実行結果:サブジョブが標準エラー出力に出力した内容
(5) サブジョブの実行状態監視
サブジョブの投入から情報が出力されるまでの実行状態は,ジョブマネージャやノードマネージャによって監視されます。実行監視時間はジョブの特性に合わせてチューニングをする必要があります。チューニングのポイントについては,「3.1.6(5) タイマ監視の制御」を参照してください。
(6) グリッドプロパティ不正によるエラーリターン
[グリッド実行定義]ダイアログボックスまたは[単体グリッドジョブ定義]ダイアログボックスで指定したグリッドプロパティが存在しない場合は,サブジョブは実行されることなく終了コード88でエラーリターンします。
また,先行グリッドジョブのグリッドプロパティの取得時に,該当するグリッドジョブが実行中の場合は,終了コード90でエラーリターンします。