3.1.6 管理ホストと実行ノードの運用方法の検討
バッチジョブ分散実行システムを構成する各管理ホストや実行ノードで動作するモジュールについて次の表に示します。
|
マネージャ |
種類 |
ユーザサーバ名※ |
モジュール名 |
役割 |
|---|---|---|---|---|
|
ジョブマネージャ |
ジョブマネージャSPP |
UGPSMjbm |
ugpsmjbm |
グリッドジョブの分割と分割したジョブの実行を管理します。 |
|
ノードマネージャ |
ノードマネージャSPP |
UGPSMndm |
ugpsmndm |
UAPの実行を管理します。 |
|
データマネージャGW |
UGPSMdtg |
ugpsmdtg |
サブジョブの実行結果をデータマネージャに送信します。 |
|
|
データマネージャ |
データマネージャSPP |
UGPSMdtm |
ugpsmdtm |
バッチジョブ分散実行システム全体の実行状態を管理します。 |
注※ uGPS - Managerで提供するモジュールのことを,特に,ユーザサーバといいます。
|
マネージャ |
種類 |
モジュール名・サービス名 |
役割 |
|---|---|---|---|
|
ジョブマネージャ |
ジョブマネージャデーモン |
|
グリッドジョブ前処理プログラムおよびグリッドジョブ後処理プログラムを実行します。 |
|
ノードマネージャ |
ノードマネージャデーモン |
|
サブジョブの実行および実行結果を管理します。 |
管理ホストでは,グリッドプロパティ情報を管理したり,多重度を制御したりします。
(1) グリッドプロパティの管理
グリッド開始ジョブによって取得したデータ配置情報は,グリッドプロパティとしてデータマネージャによって管理されます。グリッドプロパティの格納先は,データマネージャSPPのユーザサービス定義のUGPSM_DIR環境変数で指定したディレクトリです。グリッドプロパティの情報は,グリッドジョブごとのファイルで管理されます。管理される情報は,グリッドジョブおよびサブジョブの状態を表示するgpjoblsコマンドで表示できます。
グリッド終了ジョブを実行すると,グリッドプロパティのファイルは,UGPSM_GRIDPROPKEEP環境変数の指定値に応じて次の表に示すように処理されます。
|
UGPSM_GRIDPROPKEEP環境変数の指定値 |
処理 |
|---|---|
|
N(デフォルト) |
グリッドプロパティのファイルが削除されます。 |
|
Y |
グリッドプロパティのファイルが保持されます。 保持されたグリッドプロパティ情報およびサブジョブ実行結果サマリを削除する場合は,gpproprmコマンドを実行します。 |
また,設定ファイルのFILE_MEMORY_RESIDENTパラメータで「Y」を指定してメモリ常駐オプションを有効にすると,データマネージャ起動時に管理するファイルをメモリに常駐します。これによって,ジョブ実行時のグリッドプロパティ情報の検索処理性能が上がり,ジョブ実行のスループット性能が向上します。なお,グリッド終了ジョブまで実行していないグリッドプロパティが大量に存在する状態でデータマネージャを起動または再起動すると,起動時のメモリ常駐化に時間を要するため,データマネージャの起動に時間がかかる場合があります。
(2) スプールの管理
サブジョブを実行したときに出力した標準エラー出力は,サブジョブ実行結果ファイルとしてノードマネージャによってスプールで管理されます。サブジョブ実行結果ファイルの格納先は,設定ファイルのSPOOL_DIRパラメータで指定したディレクトリです。サブジョブ実行結果ファイルは,サブジョブごとのファイルで管理されます。
サブジョブの実行完了時,サブジョブ実行結果ファイルは,設定ファイルのSPOOL_KEEPパラメータの指定値に応じて次の表に示すように処理されます。
|
SPOOL_KEEPパラメータの指定 |
処理 |
|---|---|
|
N(デフォルト) |
サブジョブ実行結果ファイルが削除されます。 |
|
Y |
サブジョブ実行結果ファイルが保持されます。保持されたサブジョブ実行結果ファイルは,ユーザが運用によって削除する必要があります。 |
(3) ステータスファイルの管理
グリッドジョブを実行したときのジョブのステータス情報は,ジョブマネージャがジョブマネージャステータスファイル,ノードマネージャがノードマネージャステータスファイルとして管理されます。ジョブマネージャステータスファイルの格納先は,ジョブマネージャSPPのユーザサービス定義のUGPSM_DIR環境変数で指定したディレクトリです。ノードマネージャステータスファイルの格納先は,ノードマネージャSPPのユーザサービス定義のUGPSM_DIR環境変数で指定したディレクトリです。
各ステータスファイルはグリッドジョブ実行時に作成され,グリッドジョブやサブジョブの実行状態(実行待ち,実行完了など)を管理します。このファイルは,ジョブが正常終了した場合に削除されます。ジョブが異常終了した場合は,ファイルは保持され,ジョブマネージャ回復コマンドまたはデータマネージャ回復コマンドによって,グリッドジョブの情報が正常に回復されたときに削除されます。
(4) 多重度の制御
ジョブ実行の多重度を調整することで,ネットワーク負荷をチューニングできます。チューニングできる多重度実行数の種類と指定個所を次の表に示します。
注※1 JM_THREAD_NUMパラメータには,次の値を指定する必要があります。
-
同時実行グリッドジョブ数×2 +1
注※2 NM_PROC_NUMパラメータには,ノードマネージャのユーザサービス定義のparallel_countオペランドと同じ値(2〜1,024)を指定する必要があります。
注※3 ここで示す多重度実行数は,パラメータなどの定義として指定できる下限値と上限値です。システムとして指定できる値は,LinuxまたはAIXの場合はgpdefgenコマンド,Windowsの場合はセットアップダイアログボックスで指定する規模に従ってください。
また,多重度実行数をチューニングするときには,次の表に示すポイントを参考にしながら,バランスに考慮する必要があります。なお,ノードマネージャSPPを複数面構成とした場合は,構成されるノードマネージャのparallel_countオペランドで指定した常駐プロセス数の合計値を指定してください。
(5) タイマ監視の制御
各コンポーネント間での応答待ち時間やプロセスの実行監視時間を設定できます。各コンポーネント間のデータ通信の概要を次の図に示します。
|
|
図中の番号は,次の表に示す項番と対応しています。
各コンポーネント間の応答待ち時間を設定するパラメータを次の表に示します。
|
項番 |
パラメータ |
監視時間(秒) |
説明 |
|---|---|---|---|
|
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プロセスの実行監視時間を次の表に示します。
|
マネージャ |
種類 |
指定個所 |
|---|---|---|
|
ジョブマネージャ |
ジョブマネージャSPP |
ユーザサービス定義(UGPSMjbmee)のtrn_expiration_timeオペランド |
|
データマネージャ |
データマネージャSPP |
ユーザサービス定義(UGPSMdtm)のservice_expiration_timeオペランド |
|
ノードマネージャ |
ノードマネージャSPP |
ユーザサービス定義(UGPSMndm)のservice_expiration_timeオペランド |
|
データマネージャGW |
ユーザサービス定義(UGPSMdtg)のservice_expiration_timeオペランド |