Hitachi

uCosminexus Grid Processing Server 使用の手引


3.1.6 管理ホストと実行ノードの運用方法の検討

バッチジョブ分散実行システムを構成する各管理ホストや実行ノードで動作するモジュールについて次の表に示します。

表3‒2 各マネージャでSPPとして動作するモジュール

マネージャ

種類

ユーザサーバ名

モジュール名

役割

ジョブマネージャ

ジョブマネージャSPP

UGPSMjbm

ugpsmjbm

グリッドジョブの分割と分割したジョブの実行を管理します。

ノードマネージャ

ノードマネージャSPP

UGPSMndm

ugpsmndm

UAPの実行を管理します。

データマネージャGW

UGPSMdtg

ugpsmdtg

サブジョブの実行結果をデータマネージャに送信します。

データマネージャ

データマネージャSPP

UGPSMdtm

ugpsmdtm

バッチジョブ分散実行システム全体の実行状態を管理します。

注※ uGPS - Managerで提供するモジュールのことを,特に,ユーザサーバといいます。

表3‒3 各マネージャで常駐プロセスとして動作するモジュール

マネージャ

種類

モジュール名・サービス名

役割

ジョブマネージャ

ジョブマネージャデーモン

  • LinuxまたはAIXの場合

    モジュール名:ugpsmjbmd

  • Windowsの場合

    サービス名:uCosminexus Grid Processing Server JM Service

    プログラム名:ugpsmjbmd.exe

グリッドジョブ前処理プログラムおよびグリッドジョブ後処理プログラムを実行します。

ノードマネージャ

ノードマネージャデーモン

  • LinuxまたはAIXの場合

    モジュール名:ugpsmndmd

  • Windowsの場合

    サービス名:uCosminexus Grid Processing Server NM Service

    プログラム名:ugpsmndmd.exe

サブジョブの実行および実行結果を管理します。

管理ホストでは,グリッドプロパティ情報を管理したり,多重度を制御したりします。

〈この項の構成〉

(1) グリッドプロパティの管理

グリッド開始ジョブによって取得したデータ配置情報は,グリッドプロパティとしてデータマネージャによって管理されます。グリッドプロパティの格納先は,データマネージャSPPのユーザサービス定義のUGPSM_DIR環境変数で指定したディレクトリです。グリッドプロパティの情報は,グリッドジョブごとのファイルで管理されます。管理される情報は,グリッドジョブおよびサブジョブの状態を表示するgpjoblsコマンドで表示できます。

グリッド終了ジョブを実行すると,グリッドプロパティのファイルは,UGPSM_GRIDPROPKEEP環境変数の指定値に応じて次の表に示すように処理されます。

表3‒4 グリッド終了ジョブ実行時のグリッドプロパティの処理

UGPSM_GRIDPROPKEEP環境変数の指定値

処理

N(デフォルト)

グリッドプロパティのファイルが削除されます。

Y

グリッドプロパティのファイルが保持されます。

保持されたグリッドプロパティ情報およびサブジョブ実行結果サマリを削除する場合は,gpproprmコマンドを実行します。

また,設定ファイルのFILE_MEMORY_RESIDENTパラメータで「Y」を指定してメモリ常駐オプションを有効にすると,データマネージャ起動時に管理するファイルをメモリに常駐します。これによって,ジョブ実行時のグリッドプロパティ情報の検索処理性能が上がり,ジョブ実行のスループット性能が向上します。なお,グリッド終了ジョブまで実行していないグリッドプロパティが大量に存在する状態でデータマネージャを起動または再起動すると,起動時のメモリ常駐化に時間を要するため,データマネージャの起動に時間がかかる場合があります。

(2) スプールの管理

サブジョブを実行したときに出力した標準エラー出力は,サブジョブ実行結果ファイルとしてノードマネージャによってスプールで管理されます。サブジョブ実行結果ファイルの格納先は,設定ファイルのSPOOL_DIRパラメータで指定したディレクトリです。サブジョブ実行結果ファイルは,サブジョブごとのファイルで管理されます。

サブジョブの実行完了時,サブジョブ実行結果ファイルは,設定ファイルのSPOOL_KEEPパラメータの指定値に応じて次の表に示すように処理されます。

表3‒5 サブジョブ実行終了時のサブジョブ実行結果ファイルの処理

SPOOL_KEEPパラメータの指定

処理

N(デフォルト)

サブジョブ実行結果ファイルが削除されます。

Y

サブジョブ実行結果ファイルが保持されます。保持されたサブジョブ実行結果ファイルは,ユーザが運用によって削除する必要があります。

(3) ステータスファイルの管理

グリッドジョブを実行したときのジョブのステータス情報は,ジョブマネージャがジョブマネージャステータスファイル,ノードマネージャがノードマネージャステータスファイルとして管理されます。ジョブマネージャステータスファイルの格納先は,ジョブマネージャSPPのユーザサービス定義のUGPSM_DIR環境変数で指定したディレクトリです。ノードマネージャステータスファイルの格納先は,ノードマネージャSPPのユーザサービス定義のUGPSM_DIR環境変数で指定したディレクトリです。

各ステータスファイルはグリッドジョブ実行時に作成され,グリッドジョブやサブジョブの実行状態(実行待ち,実行完了など)を管理します。このファイルは,ジョブが正常終了した場合に削除されます。ジョブが異常終了した場合は,ファイルは保持され,ジョブマネージャ回復コマンドまたはデータマネージャ回復コマンドによって,グリッドジョブの情報が正常に回復されたときに削除されます。

(4) 多重度の制御

ジョブ実行の多重度を調整することで,ネットワーク負荷をチューニングできます。チューニングできる多重度実行数の種類と指定個所を次の表に示します。

表3‒6 多重度実行数の種類と指定個所

種類

意味

多重度実行数※3

コンポーネント

指定個所

同時実行グリッドジョブ数

バッチジョブ分散実行システム全体(管理ホスト側)で,同時に実行するグリッドジョブの数です。

1〜255

ジョブマネージャ

  • ジョブマネージャSPPのユーザサービス定義(UGPSMjbmee)

    serviceオペランドの同時実行グリッドジョブ数

  • 設定ファイル(ugpsm.conf)

    JM_THREAD_NUMパラメータ※1

一括処理数

ジョブマネージャから実行ノードへサブジョブを要求する際に,1回で要求するサブジョブの数です。

最適ノード選択機能を使用する場合,1回で要求するサブジョブの数を次に示します。

  • 一括処理数 ≦ (ノード内総同時実行サブジョブ数 - 実行中のサブジョブ数)のとき

    1回で要求するサブジョブの数 = 一括処理数

  • 一括処理数 > (ノード内総同時実行サブジョブ数 - 実行中のサブジョブ数)のとき

    1回で要求するサブジョブの数 = ノード内総同時実行サブジョブ数 - 実行中のサブジョブ数

スケジュールの平準化,またはリソース名による実行制御を使用する場合,1回で要求するサブジョブの数は1として扱います。

1〜128

ノードマネージャ

  • ユーザサービス定義(UGPSMndm)

    UGPSM_MAXCNTSUBJOB環境変数

ノード内グリッドジョブ実行数

実行ノードで同時に処理するグリッドジョブの数です。

ノードマネージャのプロセス数に相当します。

最適ノード選択機能を使用する場合,「同時実行グリッドジョブ数+1」分のプロセス数が推奨値となります。

スケジュールの平準化,またはリソース名による実行制御を使用する場合,「同時に処理するグリッドジョブの数×業務プログラム同時実行数+1」分のプロセス数が推奨値となります。

2〜1,024

ノードマネージャ

  • ユーザサービス定義(UGPSMndm)

    parallel_countオペランド※2

  • 設定ファイル(ugpsm.conf)

    NM_PROC_NUMパラメータ※2

ノード内総同時実行サブジョブ数

実行ノードで,同一グリッドジョブかどうかに関係なく同時に実行するサブジョブ数です。

1〜1,024

ノードマネージャ

  • ユーザサービス定義(UGPSMndm)

    UGPSM_TOTALSUBJOB環境変数

業務プログラム同時実行数

実行ノードで,グリッドジョブごとに同時に実行するサブジョブ数です。

1〜64

ノードマネージャ

  • ユーザサービス定義(UGPSMndm)

    UGPSM_DEFMAXSUBJOB環境変数

実行ノード内の最大同時実行サブジョブ数

ノードマネージャSPPが複数面構成されている実行ノードで,同時に実行する最大のサブジョブ数です。

1〜1,024

ノードマネージャ

  • 実行ノード

    設定ファイル(ugpsm.conf)

    [NODE_MAX_SUBJOB]

同時実行サブジョブ数

管理ホスト側で,グリッドジョブごとに同時に実行するサブジョブの数です。

1〜4,095

グリッドビュー

  • [グリッド実行定義]ダイアログボックスまたは[単体グリッドジョブ定義]ダイアログボックス

    [同時実行サブジョブ数]

注※1 JM_THREAD_NUMパラメータには,次の値を指定する必要があります。

  • 同時実行グリッドジョブ数×2 +1

注※2 NM_PROC_NUMパラメータには,ノードマネージャのユーザサービス定義のparallel_countオペランドと同じ値(2〜1,024)を指定する必要があります。

注※3 ここで示す多重度実行数は,パラメータなどの定義として指定できる下限値と上限値です。システムとして指定できる値は,LinuxまたはAIXの場合はgpdefgenコマンド,Windowsの場合はセットアップダイアログボックスで指定する規模に従ってください。

また,多重度実行数をチューニングするときには,次の表に示すポイントを参考にしながら,バランスに考慮する必要があります。なお,ノードマネージャSPPを複数面構成とした場合は,構成されるノードマネージャのparallel_countオペランドで指定した常駐プロセス数の合計値を指定してください。

表3‒7 多重度実行数のチューニングのポイント

項番

種類

チューニング要素

ポイント

1

同時実行グリッドジョブ数

バッチジョブ分散実行システム全体のリソース使用量の調整

JP1/AJS3から同時に分散実行するグリッドジョブ数の上限値を指定してください。

2

一括処理数

通信負荷の調整

  • 推奨値は,項番5(業務プログラム同時実行数)の指定値以上の値です。

  • 多過ぎると,サブジョブ受付サービスがタイムアウトになる可能性が高くなります。

  • ジョブごとの多重度より少ないと,実行多重度に空きができます。

  • スケジュールの平準化,またはリソース名による実行制御を使用する場合,一括処理数は1として扱います。

3

ノード内グリッドジョブ実行数

実行ノードのリソース調整

  • ジョブ数が多いほど,サブジョブ受付プロセスの取り合いになって性能が低下します。

  • 最適ノード選択機能を使用する場合の推奨値は,「同時実行グリッドジョブ数+1」以上の値となります。

  • スケジュールの平準化,またはリソース名による実行制御を使用する場合の推奨値は,「同時に処理するグリッドジョブの数×業務プログラム同時実行数+1」以上の値となります。

  • この値を超えた数のサブジョブを実行しようとすると,サブジョブ実行要求が受け付けられないで,ジョブが待たされるおそれがあります。

4

ノード内総同時実行サブジョブ数

実行ノードのリソース調整

マシンの処理能力に応じて,プログラムの同時実行数を決定してください。CPUを使用するジョブの場合は,コア数と同じ値を指定してください。

5

業務プログラム同時実行数

  • 複数ジョブを同時実行する場合のジョブごとの進捗調整

  • 1つのジョブによる占有の防止

  • 推奨値は,項番4(ノード内総同時実行サブジョブ数)未満の値です。なお,制限の必要がない場合は,この環境変数は定義しないでください。

  • 項番4(ノード内総同時実行サブジョブ数)と同じ値を指定した場合,ある時点で1つのジョブのサブジョブしか実行されない状態に見えることがあります。

  • この値が大きく,かつ項番3(ノード内グリッドジョブ実行数)が大きい場合,あるジョブのサブジョブ実行によって,ほかのジョブのサブジョブ実行を長く待たせることになります。それは,サブジョブ実行待ちの長い行列の後ろにキューイングすることになるためです。2.の占有に加えて,受信通知がされてもなかなか実行されない状態が発生します。

  • 少な過ぎると,実行多重度に空きができます。

6

実行ノード内の最大同時実行サブジョブ数

ノードマネージャSPP複数面構成での,実行ノードのリソース調整

  • マシンの処理能力に応じて,プログラムの同時実行数を決定してください。CPUを使用するジョブの場合は,コア数と同じ値を指定してください。

  • 構成されているノードマネージャSPPの項番4(ノード内総同時実行サブジョブ数)の総和未満の値を指定した場合は,ほかのジョブのサブジョブ実行を長く待たせることになります。

7

同時実行サブジョブ数

グリッドジョブごとのリソース使用量の調整

ほかのチューニング要素よりも優先される要素のため,値が小さ過ぎると実行ノードの負荷に偏りが発生することがあります。

(5) タイマ監視の制御

各コンポーネント間での応答待ち時間やプロセスの実行監視時間を設定できます。各コンポーネント間のデータ通信の概要を次の図に示します。

図3‒2 各コンポーネント間の通信の概要

[図データ]

図中の番号は,次の表に示す項番と対応しています。

各コンポーネント間の応答待ち時間を設定するパラメータを次の表に示します。

表3‒8 各コンポーネント間の応答待ち時間を設定するパラメータ

項番

パラメータ

監視時間(秒)

説明

1

GS_WATCH_TIME

0〜65535

グリッド開始ジョブ実行時の,グリッドクライアントからジョブマネージャへの通信時の応答待ち時間を指定します。

GJ_WATCH_TIME

グリッド実行ジョブ実行時の,グリッドクライアントからジョブマネージャへの通信時の応答待ち時間を指定します。

GE_WATCH_TIME

グリッド終了ジョブ実行時の,グリッドクライアントからジョブマネージャへの通信時の応答待ち時間を指定します。

CANCEL_WATCH_TIME

1〜65535

ジョブの強制終了時の,グリッドクライアントからジョブマネージャへの通信時の応答待ち時間を指定します。

2

DM_WATCH_TIME

0〜65535

グリッドジョブ実行時やジョブの強制終了の,ジョブマネージャ,ノードマネージャまたはグリッドクライアントからデータマネージャへの通信時の応答待ち時間を指定します。

3

NM_WATCH_TIME

0〜65535

グリッドジョブ実行時の,ジョブマネージャからノードマネージャへの通信時の応答待ち時間を指定します。

SJOB_WATCH_TIME

グリッドジョブ実行時の,グリッドジョブ管理ホストから,実行ノードに対するサブジョブ実行要求の監視時間を指定します。

監視時間内に応答がない場合は,サブジョブ実行中の実行ノードに対して,サブジョブ一括処理数取得要求を発行し,ノードマネージャデーモンの起動時刻を取得します。デーモンの起動時刻が一致している場合は,再度,サブジョブ実行要求の応答を待ち,サブジョブ実行要求の応答が返ってくるまで繰り返します。

NODEINFO_WATCH_TIME,

NODEINFO_RETRY_COUNT,

NODEINFO_TIMEOUT_NORETRY

グリッドジョブ実行時の,グリッドジョブ管理ホストから,実行ノードに対するサブジョブ一括処理数取得要求の監視時間を指定します。

NODEINFO_WATCH_TIMEパラメータには,サブジョブ一括処理数取得要求の応答が返るまでの待ち時間を指定します。

NODEINFO_RETRY_COUNTパラメータには,サブジョブ一括処理数取得要求の応答が返らないでタイムアウトとなった場合に,サブジョブ一括処理数取得要求を発行するリトライ回数を指定します。

NODEINFO_TIMEOUT_NORETRYパラメータは,サブジョブ一括処理数取得要求でタイムアウトが発生した場合に,サブジョブを実行できる状態であればリトライしないでサブジョブ実行を開始するかどうかを指定します。

注※ 応答待ち時間を超過するとグリッドクライアントは応答待ちを打ち切って,ジョブは異常終了します。ただし,このジョブのサブジョブ実行処理は続行するため,サブジョブを打ち切りたい場合はgpjobcancelコマンドを実行する必要があります。

また,SPPについては,次の表に示すとおり,プロセスの実行監視時間を設定できます。これらの監視時間をチューニングすることで,運用に合わせたシステム環境が構築できます。

SPPプロセスの実行監視時間を次の表に示します。

表3‒9 SPPプロセスの実行監視時間

マネージャ

種類

指定個所

ジョブマネージャ

ジョブマネージャSPP

ユーザサービス定義(UGPSMjbmee)のtrn_expiration_timeオペランド

データマネージャ

データマネージャSPP

ユーザサービス定義(UGPSMdtm)のservice_expiration_timeオペランド

ノードマネージャ

ノードマネージャSPP

ユーザサービス定義(UGPSMndm)のservice_expiration_timeオペランド

データマネージャGW

ユーザサービス定義(UGPSMdtg)のservice_expiration_timeオペランド