2.3.11 リソース名による実行制御
サブジョブで実行する複数のUAPが1つのデータベースにアクセスすると,データベースの排他制御によってサブジョブの処理時間が長くなるおそれがあります。
このような場合,同じ名称のリソース名が指定されているサブジョブを同時実行しないよう制御できます。この制御は,データ配置情報のフォーマット識別子を0102または0202と指定することで有効になります。データ配置情報の詳細については,「5.2.2(4) データ配置情報の形式」を参照してください。
例えば,次の表に示すリソース名の情報を持つサブジョブを実行したとします。
サブジョブ識別子 |
実行ノード |
リソース名 |
---|---|---|
S001(動作中) |
node1 |
BES1 |
S002 |
node1 |
BES2 |
S003 |
node1 |
BES1 |
S004 |
node2 |
BES3 |
S005 |
node2 |
BES3 |
このときのサブジョブの実行は次のように制御されます。図中の番号と説明の番号は対応しています。
|
このときのリソース名による実行制御の処理を説明します。
-
ジョブマネージャは,ノードマネージャから動作中のサブジョブのリソース名,および空いているリソース名を取得します。
-
ジョブマネージャは,1.で取得したリソース名中に表2-24に示すリソース名があった場合,そのリソースは使用中とします。
-
ジョブマネージャは,1.で取得した空いているリソース名で実行できるサブジョブを選択し,実行します。
-
実行できるサブジョブがない場合,ジョブマネージャはリトライします。