Hitachi

uCosminexus Grid Processing Server 使用の手引


2.3.10 スケジュールの平準化

バッチジョブ分散実行システムでは,次のスケジューリング方法によってグリッドジョブ実行時間を短縮します。

この機能は,データ配置情報のフォーマット識別子に0102または0202を指定した場合に適用されます。各スケジューリングの詳細について説明します。

〈この項の構成〉

(1) 優先順位の高いサブジョブから実行する方法

実行時間が長いと予測できるレコード数,またはデータ量の大きいサブジョブに高い優先順位を指定します。こうすることで,スケジュール優先順位の高いサブジョブから実行されます。

次に示すデータ配置情報があった場合のサブジョブの実行を,図2-24および図2-25に示します。

data0001,nodeA レコード件数10000件(S0001 スケジュール優先順位10000
data0002,nodeA レコード件数5000件(S0002 スケジュール優先順位5000
data0003,nodeA レコード件数10000件(S0003 スケジュール優先順位10000
data0004,nodeA レコード件数5000件(S0004 スケジュール優先順位5000
図2‒24 スケジュール優先順位の高いサブジョブから実行される設定をしていない場合

[図データ]

図2‒25 スケジュール優先順位の高いサブジョブから実行される設定をしている場合

[図データ]

このスケジューリングはデータ配置情報のFORMATIDで指定します。データ配置情報の書式を次に示します。

FORMATID=0102
データ識別子,スケジュール優先順位,リソース名,ノード名,ノード名;データ識別情報
データ識別子,スケジュール優先順位,リソース名,ノード名,ノード名;データ識別情報

FORMATIDの詳細については,「5.2.2(4) データ配置情報の形式」を参照してください。

(2) 実行ノードの空きを検知してサブジョブを実行する方法

サブジョブ単位に実行要求を行うことで,実行ノードに空きがあれば順次,サブジョブを実行します。一度に要求できる実行要求は,UGPSM_DEFMAXSUBJOB環境変数に指定した値となります。

サブジョブ単位の実行要求の概要を次の図に示します。

図2‒26 サブジョブ単位の実行要求

[図データ]

(3) 障害が発生した場合だけ他の実行ノードにサブジョブを振り分ける方法

先頭ノードまたは先行ジョブで実行したノードが未起動などで使用できない場合だけ,後続ノードでサブジョブを実行します。

実行ノードを選択するときの優先順位を表に例示します。

表2‒22 実行ノードの優先順位の例(データ配置情報で"001,node1,node2,node3,node4"と指定した場合)

グリッド実行ジョブの条件

実行ノード選択の優先順位

node1

node2

node3

node4

先行グリッドジョブの実行結果を引き継ぐ指定

(先行グリッドジョブはnode1で実行した場合)

1

2

3

4

先行グリッドジョブの実行結果を引き継ぐ指定

(先行グリッドジョブはnode3で実行した場合)

2

3

1

4

先行グリッドジョブの実行結果を引き継がない指定

1

2

3

4

グリッド開始ジョブ直後

1

2

3

4

注※ 優先順位が2番目以降で実行されるのは,優先順位が1番目のノードが未起動などの理由で使用できない場合だけです。

表2‒23 実行ノードの優先順位の例(データ配置情報で"001,*" "*=node1,node2,node3,node4"と指定した場合)

グリッド実行ジョブの条件

実行ノード選択の優先順位

node1

node2

node3

node4

先行グリッドジョブの実行結果を引き継ぐ指定

(先行グリッドジョブはnode1で実行した場合)

1

2

2

2

先行グリッドジョブの実行結果を引き継ぐ指定

(先行グリッドジョブはnode3で実行した場合)

2

2

1

2

先行グリッドジョブの実行結果を引き継がない指定

先にサブジョブ実行が完了したノードにスケジュールされます。

グリッド開始ジョブ直後

注※ 優先順位が2番目の実行ノードで実行されるのは,優先順位が1番目のノードが未起動などの理由で使用できない場合だけです。

グループ指定の場合,最優先ノードが未決定のときは,先にサブジョブ実行が完了したノードにスケジュールされます。