JP2009230581A - バッチジョブ制御システム、管理ノード、およびバッチジョブ制御方法 - Google Patents
バッチジョブ制御システム、管理ノード、およびバッチジョブ制御方法 Download PDFInfo
- Publication number
- JP2009230581A JP2009230581A JP2008076749A JP2008076749A JP2009230581A JP 2009230581 A JP2009230581 A JP 2009230581A JP 2008076749 A JP2008076749 A JP 2008076749A JP 2008076749 A JP2008076749 A JP 2008076749A JP 2009230581 A JP2009230581 A JP 2009230581A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- node
- batch job
- batch
- job
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
【課題】あらかじめ各バッチジョブをどの実行ノードで実行させるかを割り当てることなく、各実行ノードの状況に応じてバッチジョブを実行する実行ノードを動的に決定し、実行ノードをより効率的に使用する。
【解決手段】管理ノード1は、複数のバッチジョブ各々の起動条件が記憶されたスケジュール情報記憶手段16と、各実行ノード2のバッチジョブの実行状態が記憶されたノード情報記憶手段18と、起動条件を満たすバッチジョブが存在するか否かを判別する判別手段11と、バッチジョブを実行させる実行ノード2を決定する決定手段12と、決定した実行ノード2にバッチジョブの実行指示を送信する送信手段11と、実行ノード2からバッチジョブの実行状態を収集してノード情報記憶手段18を更新する情報管理手段13とを有し、実行ノード2は、管理ノード1からの実行指示に基づいてバッチジョブを実行する実行手段21を有する。
【選択図】図1
【解決手段】管理ノード1は、複数のバッチジョブ各々の起動条件が記憶されたスケジュール情報記憶手段16と、各実行ノード2のバッチジョブの実行状態が記憶されたノード情報記憶手段18と、起動条件を満たすバッチジョブが存在するか否かを判別する判別手段11と、バッチジョブを実行させる実行ノード2を決定する決定手段12と、決定した実行ノード2にバッチジョブの実行指示を送信する送信手段11と、実行ノード2からバッチジョブの実行状態を収集してノード情報記憶手段18を更新する情報管理手段13とを有し、実行ノード2は、管理ノード1からの実行指示に基づいてバッチジョブを実行する実行手段21を有する。
【選択図】図1
Description
本発明は、バッチジョブのスケジューリングに関する。
バッチジョブのスケジューリングに関する技術としては、例えば特許文献1に、分散環境におけるバッチジョブの動的負荷分散処理方法が記載されている。特許文献1の動的負荷分散処理方法では、バッチジョブの資源使用特性に基づいて当該バッチジョブを実行するのに適したサーバを決定し、実行させることが記載されている。
また、特許文献2には、複数のジョブが並列して動作できる計算機システムにおいて、ジョブのパラメータに基づいてシュミレーションを行い、バッチ処理時間の短縮を実現する技術が記載されている。
特開平10−334057
特開平11−203151
さて、複数のバッチジョブを、複数の実行ノードで実行させる際に、各バッチジョブをどの実行ノードで実行させるかの割り当てをあらかじめ決めておく場合がある。この場合、バッチジョブが処理するデータ量の変動などにより、バッチジョブの実行時間があらかじめ想定した予想実行時間とずれてしまう可能性があり、予定した時間内(デットライン迄)にバッチジョブが終了しないことがある。また、バッチジョブの実行時間が予想実行時間より短い時間で終了した場合、当該バッチジョブを割り当てた実行ノードでは、次のバッチジョブの起動まで空き時間が発生し、実行ノードを効率的に使用することができない。
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、複数のバッチジョブを複数の実行ノードで実行させる際に、あらかじめ各バッチジョブをどの実行ノードで実行させるかを割り当てることなく、各実行ノードの状況に応じてバッチジョブを実行する実行ノードを動的に決定し、実行ノードをより効率的に使用することにある。
本発明は、バッチジョブの起動スケジュールを管理する管理ノードと、バッチジョブを実行する複数の実行ノードと、を有するバッチジョブ制御システムであって、前記管理ノードは、複数のバッチジョブ各々の起動条件が記憶されたスケジュール情報記憶手段と、各実行ノードのバッチジョブの実行状態が記憶されたノード情報記憶手段と、前記スケジュール情報記憶手段を参照し、起動条件を満たすバッチジョブが存在するか否かを判別する判別手段と、前記ノード情報記憶手段を参照し、前記バッチジョブを実行させる実行ノードを決定する決定手段と、前記決定手段が決定した実行ノードに、前記バッチジョブの実行指示を送信する送信手段と、前記実行ノードからバッチジョブの実行状態を収集し、前記ノード情報記憶手段を更新する情報管理手段と、を有し、前記実行ノードは、前記管理ノードからの実行指示に基づいて、指示されたバッチジョブを実行する実行手段を有する。
また、本発明は、複数の実行ノードにバッチジョブを実行させる管理ノードであって、複数のバッチジョブ各々の起動条件が記憶されたスケジュール情報記憶手段と、各実行ノードのバッチジョブの実行状態が記憶されたノード情報記憶手段と、前記スケジュール情報記憶手段を参照し、起動条件を満たすバッチジョブが存在するか否かを判別する判別手段と、前記ノード情報記憶手段を参照し、前記バッチジョブを実行させる実行ノードを決定する決定手段と、前記決定手段が決定した実行ノードに、前記バッチジョブの実行指示を送信する送信手段と、前記実行ノードからバッチジョブの実行状態を収集し、前記ノード情報記憶手段を更新する情報管理手段と、を有する。
また、本発明は、バッチジョブの起動スケジュールを管理する管理ノードと、バッチジョブを実行する複数の実行ノードとが行うバッチジョブ制御方法であって、前記管理ノードは、複数のバッチジョブ各々の起動条件が記憶されたスケジュール情報記憶部と、各実行ノードのバッチジョブの実行状態が記憶されたノード情報記憶部と、を有し、前記スケジュール情報記憶部を参照し、起動条件を満たすバッチジョブが存在するか否かを判別する判別ステップと、前記ノード情報記憶部を参照し、前記バッチジョブを実行させる実行ノードを決定する決定ステップと、前記決定ステップで決定した実行ノードに、前記バッチジョブの実行指示を送信する送信ステップと、前記実行ノードからバッチジョブの実行状態を収集し、前記ノード情報記憶部を更新する更新ステップとを行い、前記実行ノードは、前記管理ノードからの実行指示に基づいて、指示されたバッチジョブを実行する実行ステップとを行う。
本発明によれば、複数のバッチジョブを複数の実行ノードで実行させる際に、あらかじめ各バッチジョブをどの実行ノードで実行させるかを割り当てることなく、各実行ノードの状況に応じてバッチジョブを実行する実行ノードを動的に決定し、実行ノードをより効率的に使用することができる。
以下、本発明の実施の形態について説明する。
図1は、本発明の実施の形態であるバッチジョブ制御システムの全体構成図である。図示するシステムは、スケジュール管理ノード1と、複数の実行ノード2とを有する。スケジュール管理ノード1は、複数のバッチジョブのスケジュールを管理し、各バッチジョブを実行する実行ノード2を決定する。実行ノード2は、スケジュール管理ノード1の指示により、バッチジョブを実行する。
なお、本実施形態のスケジュール管理ノード1と、各実行ノードとは、ネットワーク9を介して接続されるものとするが、スケジュール管理ノード1と実行ノード2とが1つのコンピュータ内に存在することとしてもよい。また、本実施形態のバッチジョブ制御システムは、例えばバンキングシステムなど、複雑なオンラインシステムのバックエンドで大量のバッチジョブを実行するシステムに適用することが考えられる。
図示するスケジュール管理ノード1は、制御部11と、ノード決定部12と、情報管理部13と、算出部14と、通信制御部15と、スケジュール情報テーブル16と、ジョブ情報テーブル17と、ノード情報テーブル18と、履歴情報テーブル19と、平均実行時間テーブル20とを有する。
制御部11(判別手段および送信手段)は、スケジュール情報テーブル16を参照し、起動条件を満たすバッチジョブが存在するか否かを判別する。また、制御部11は、ノード決定部12が決定した実行ノード2に対して、バッチジョブの実行指示を送信する。
ノード決定部12は、ノード情報テーブル18等を参照して、バッチジョブを実行させる実行ノード2を動的に決定する。情報管理部13は、各実行ノード2から情報を収集し、各種テーブルを更新する。算出部14は、過去に実行したバッチジョブの履歴情報を用いて、実行ノード毎に、各バッチジョブの平均実行時間を算出する。通信制御部15は、Soket、共通メモリ、シグナルなどを用いて実行ノード2と通信する。
スケジュール情報テーブル16には、複数のバッチジョブの起動条件が設定され、ジョブ情報テーブル17には、各バッチジョブのプログラムおよび入力データに関する情報が設定される。ノード情報テーブル18には、各実行ノード2と通信するために必要な情報、各実行ノード2の現在の状況などが記憶される。履歴情報テーブル19には、実行ノード2で実行されたバッチジョブの履歴情報が蓄積される。平均実行時間テーブル20には、算出部14が算出した実行ノード毎の各バッチジョブの平均実行時間が設定される。なお、各テーブル16〜20の詳細については後述する。
図示する実行ノード2各々は、バッチジョブを実行するジョブ実行部21と、スケジュール管理ノード1と通信する通信制御部22とを有する。
上記説明した、スケジュール管理ノード1および実行ノード2は、例えば、少なくともCPUと、メモリと、HDD等の外部記憶装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、各CPUがメモリ上にロードされたスケジュール管理ノード1用または実行ノード2用のプログラムを実行することにより、スケジュール管理ノード1または実行ノード2の各機能が実現される。なお、スケジュール管理ノード1および実行ノード2は、必要に応じて入力装置および出力装置を備えることとしてもよい。
次に、スケジュール管理ノード1の各テーブル16〜20について説明する。
図2(a)は、スケジュール情報テーブル16の一例を示すものである。図示するスケジュール情報テーブル16は、スケジュールID161と、ジョブID162と、起動条件種別163と、起動条件164と、ステータス165とを有する。条件種別163には、バッチジョブを起動する条件の種別(例えば、時刻起動、先行ジョブ終了後など)が設定される。起動条件164には、条件種別に応じた起動条件が設定される。ステータス165には、バッチジョブの実行状態(未実行、実行中、実行済など)が設定される。なお、ステータス156は、各実行ノード2から収集した情報により、情報管理部13が更新するものとする。
図2(b)は、図2(a)に示すスケジュール情報テーブル16のジョブスケジュールを可視化したものである。図示するように、ジョブAは0時以降に起動することが、ジョブBおよびジョブCはジョブAの終了後に起動し、かつ、ジョブDの起動条件である4時前に終了することが条件となっている。ジョブDは、ジョブBおよびジョブCの終了後に起動し、かつ、4時に起動することが条件となっている。
図3は、ジョブ情報テーブル17の一例を示すものである。図示するジョブ情報テーブル17は、ジョブID171と、プログラムパス172と、入力データ情報173と、出力データパス174と、ステータス175とを有する。プログラムパス172には、対応するバッチジョブが格納されているパスが設定される。入力データ情報173には、対応するバッチジョブで処理される入力データが格納されているファイル・DBの情報(パス)と、入力データ量(件数)が設定される。出力データパス174には、対応するバッチジョブの出力先のファイル・DBの情報が設定される。ステータス175には、対応するバッチジョブの実行状態(未実行、実行中、実行済など)が設定される。
図4は、ノード情報テーブル18の一例を示すものである。図示するノード情報テーブル18は、実行ノードID181と、アドレス182と、ポート183と、ステータス184と、実行ジョブ数185とを有する。ステータス184には、対応する実行ノード2の現在の状態(未実行、実行中など)が設定される。また、「実行中」のステータスの場合には、実行中のバッチジョブのジョブIDおよび実行開始時刻が併せて設定される。実行ジョブ数185には、対応する実行ノード2において実行したバッチジョブの件数が設定される。バッチジョブが実行されるたびに実行ジョブ数185の値がカウントアップされ、所定の期間(例えば、1日単位)でゼロにリセットされる。
図5は、履歴情報テーブル19の一例を示すものである。本実施形態の履歴情報テーブル19は、ジョブ情報テーブル17に登録されたバッチジョブ(ジョブID)毎に構成されるものとする。図示する履歴情報テーブル19は、ジョブ実行日時(日付、ジョブ開始時刻、ジョブ終了時刻)191と、入力テータ量(件数)192と、実行ノード193と、使用リソース194(例えばCPU利用率、メモリ使用量等のリソース使用状況)とを有する。情報管理部13は、各実行ノード2からバッチジョブの終了メッセージを受信すると、当該メッセージに基づいて図示するようなレコードを生成し、対応するバッチジョブの履歴情報テーブル19に登録する。
図6は、平均実行時間テーブル20の一例を示すものである。本実施形態の平均実行時間テーブル20は、ジョブ情報テーブル17に登録されたバッチジョブ(ジョブID)毎に構成されるものとする。図示する平均実行時間テーブル20は、実行ノードID201と、バッチジョブの平均実行時間202とが設定されている。平均実行時間202は、対応するバッチジョブ用の履歴情報テーブル19に蓄積された実行履歴を統計処理することにより、過去の実績から平均実行時間を算出する。算出部14は、対応するバッチジョブ用の履歴情報テーブル19が更新されるタイミングで、平均実行時間を再計算し、平均実行時間を更新するものとする。
次に、本実施形態の処理について説明する。
図7は、本実施形態のバッチジョブ制御システムの処理を示すシーケンス図である。
まず、スケジュール管理ノード1の制御部11は、スケジュール情報テーブル16を参照し、起動条件を満たすジョブが存在するか否かを判別する(S11)。すなわち、条件種別が時刻起動のジョブについては、制御部11は、OS(Operating System)などのタイマ機構により現在時刻を取得し、現在時刻と起動条件に設定された起動時刻とを比較し、起動時刻となったジョブが存在するか否かを判別する。また、起動種別が先行ジョブ終了後のジョブについては、制御部11は、起動条件に設定されたジョブのステータスを参照し、当該ジョブが「実行済」となっているか否かを判別する。
起動するジョブが存在する場合(S11:YES)、ノード決定部12は、ノード情報テーブル18を参照し、S11の起動するジョブを実行させる実行ノード2を決定する(S12)。具体的には、ノード決定部12は、ノード情報テーブルの実行ステータスが「未実行」の実行ノード2を特定する。そして、「未実行」の実行ノード2が複数存在する場合は、以下の方法で実行ノード2を決定することが考えられる。
例えば、「未実行」の実行ノード2の中から、ノード情報テーブル18の実行ジョブ数が最も少ない実行ノードを決定することが考えられる。これにより、各実行ノード2にかかる負荷を分散させることができる。
また、「未実行」の実行ノード2の中から、当該ジョブの実行時間が最も短くなると推定される実行ノード2を決定することが考えられる。すなわち、ノード決定部12は、当該ジョブ用の平均実行時間テーブル20を参照し、「未実行」の実行ノード2の中で、最も小さい平均実行時間が設定された実行ノード2を決定する。これにより、ジョブをより短い時間で実行させることができる。また、「未実行」の実行ノード2の中から、ランダムに実行ノード2を決定することも考えられる。
なお、全ての実行ノード2のステータスが「実行中」の場合、「実行中」のジョブが最も早く終了すると推定される実行ノード2を決定し、実行中のジョブが終了次第、当該ジョブを実行させることとする。具体的には、ノード決定部12は、実行ノード2毎に、現在実行中のジョブの推定実行時間を算出する。すなわち、ノード情報テーブル18から実行中のジョブを特定し、当該ジョブ用の平均実行時間テーブル20から対応する実行ノード2の平均実行時間(Ave(Tij))を取得する。そして、実行中のジョブの入力データ量をジョブ情報テーブル17から取得する。そして、以下に示すような式により、ノード決定部12は、推定実行時間を算出する。
(Tij)=(Ave(Tij)×Inputval
(Tij)は、ノードjでジョブiを実行した場合の推定実行時間である。Inputvalは、ジョブ情報テーブル17から取得した入力データ量に基づく係数である。
(Tij)は、ノードjでジョブiを実行した場合の推定実行時間である。Inputvalは、ジョブ情報テーブル17から取得した入力データ量に基づく係数である。
そして、ノード決定部12は、算出した推定実行時間と、現在時刻と、ノード情報テーブル18から取得した実行開始時刻とに基づいて、現在実行中のジョブの終了予定時刻を、実行ノード2毎に算出する。そして、ノード決定部12は、最も早い終了予定時刻の実行ノード2を決定する。
そして、制御部11は、通信制御部15を用いて、ノード決定部12が決定した実行ノード2に、ジョブの起動を指示するジョブ起動メッセージを送信する(S13)。ジョブ起動メッセージには、ジョブ情報テーブル17から取得した、起動対象ジョブのジョブ情報(プログラムパス、入力データパス、出力データパス等)が含まれるものとする。また、ジョブ起動メッセージには、プログラムパスおよび入力データのパスではなく、プログラム自体および入力データ自体を送信することとしてもよい。また制御部11は、決定した実行ノード2の宛先情報(アドレス、ポート等)をノード情報テーブル18から取得する。
実行ノード2のジョブ実行部21は、通信制御部22を用いてジョブ起動メッセージを受信し、当該ジョブ起動メッセージで指定されたジョブを実行する(S14)。なお、ジョブ実行部21は、ジョブの実行開始時に、通知メッセージをスケジュール管理ノード1に送信する。通知メッセージには、当該実行ノード2の実行ノードID、ステータス(実行中)、実行開始するジョブのジョブID、実行開始時刻等が含まれるものとする。
スケジュール管理ノード1の情報管理部13は、通知メッセージを受信し、当該通知メッセージに基づいてノード情報テーブル18の対応するノードのステータスを更新する。また、情報管理部13は、当該通知メッセージに基づいてスケジュール情報テーブル16およびジョブ情報テーブル17の対応するジョブIDのステータスも更新する。
そして、実行ノード2のジョブ実行部21は、ジョブの実行後、ジョブ起動メッセージで指定された出力データパスに出力データを出力し、終了メッセージをスケジュール管理ノード1に送信する(S15)。終了メッセージには、実行ノードID、ジョブID、日付、実行開始時刻、終了時刻、入力データ量、使用リソース情報等の実行内容が含まれるものとする。
スケジュール管理ノード1の情報管理部13は、終了メッセージを受信すると、各種テーブルを更新する。すなわち、情報管理部13は、受信した終了メッセージの内容を、対応するジョブ用の履歴情報テーブル19に登録する。また、情報管理部13は、スケジュール情報テーブル16およびジョブ情報テーブル17の対象ジョブのステータスを「実行済」に更新する。また、情報管理部13は、ノード情報テーブル18の対象実行ノードのステータスを「未実行」に更新する。
そして、算出部14は、対象実行ノードの平均実行時間を算出し、平均実行時間テーブル20を更新する(S17)。具体的には、算出部14は、対応するジョブ用の履歴情報テーブル19から、当該実行ノードのレコードを全て抽出し、抽出したレコードの平均処理時間を算出する。すなわち、算出部14は、抽出したレコード毎に、終了時刻から開始時刻を減算して実行時間を算出する。さらに、実行時間は入力データ量に比例するため、算出部14は、抽出したレコード毎に、算出した実行時間を入力データ量に基づいて補正し、所定のデータ量当たりの実行時間を算出する。そして、算出部14は、所定のデータ量当たりの平均実行時間を算出する。そして、算出部14は、対応するジョブ用の平均実行時間テーブル20の当該実行ノードの平均実行時間を、算出した平均実行時間で更新する。
以上説明した本実施形態のバッチジョブ制御システムでは、複数のバッチジョブを複数の実行ノードで実行させる際に、あらかじめ各バッチジョブをどの実行ノードで実行させるかを割り当てることなく、各実行ノードの状況に応じてバッチジョブを実行する実行ノードを動的に決定し、実行ノードをより効率的に使用することができる。すなわち、バッチジョブの起動条件が満たされたタイミングで、各実行ノードの状態を考慮して、当該バッチジョブを実行する実行ノードを効率よく柔軟に決定することができる。
また、本実施形態では、上記のように各バッチジョブと当該バッチジョブを実行する実行ノードとをあらかじめ対応付けてスケジューリングする必要がないため、スケジュールを作成する負荷を軽減することができる。
また、本実施形態では、ジョブの実行開始時および実行終了時に各実行ノードからメッセージを受信し、ノード情報テーブル等を更新する。これにより、各テーブルを常に最新状態に保つことができ、より最適な実行ノードを選択することができる。
また、本実施形態では、実行ノードを決定する際に、実行ジョブ数が最も少ない実行ノード、または、実行時間が最も短くなると推定される実行ノードを決定する。これにより、各実行ノードにかかる負荷を分散させ、または、バッチジョブをより短い時間で実行させることができる。また、本実施形態では、全ての実行ノードが実行中の場合、実行ノード毎の平均実行時間に基づいて実行中のバッチジョブが最も早く終了する実行ノードを推定し、当該実行ノードを決定する。これにより、各実行ノードの実行状況を考慮して、バッチジョブをより早く起動させることができる。
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
1 スケジュール管理ノード
11 制御部
12 ノード決定部
13 情報管理部
14 算出部
15 通信制御部
16 スケジュール情報テーブル
17 ジョブ情報テーブル
18 ノード情報テーブル
19 履歴情報テーブル
20 平均実行時間テーブル
2 実行ノード
21 ジョブ実行部
21 通信制御部
11 制御部
12 ノード決定部
13 情報管理部
14 算出部
15 通信制御部
16 スケジュール情報テーブル
17 ジョブ情報テーブル
18 ノード情報テーブル
19 履歴情報テーブル
20 平均実行時間テーブル
2 実行ノード
21 ジョブ実行部
21 通信制御部
Claims (10)
- バッチジョブの起動スケジュールを管理する管理ノードと、バッチジョブを実行する複数の実行ノードと、を有するバッチジョブ制御システムであって、
前記管理ノードは、
複数のバッチジョブ各々の起動条件が記憶されたスケジュール情報記憶手段と、
各実行ノードのバッチジョブの実行状態が記憶されたノード情報記憶手段と、
前記スケジュール情報記憶手段を参照し、起動条件を満たすバッチジョブが存在するか否かを判別する判別手段と、
前記ノード情報記憶手段を参照し、前記バッチジョブを実行させる実行ノードを決定する決定手段と、
前記決定手段が決定した実行ノードに、前記バッチジョブの実行指示を送信する送信手段と、
前記実行ノードからバッチジョブの実行状態を収集し、前記ノード情報記憶手段を更新する情報管理手段と、を有し、
前記実行ノードは、
前記管理ノードからの実行指示に基づいて、指示されたバッチジョブを実行する実行手段を有すること
を特徴とするバッチジョブ制御システム。 - 請求項1記載のバッチジョブ制御システムであって、
前記実行ノードの実行手段は、実行時間および入力データ量に関する情報を含むバッチジョブの実行情報を、前記管理ノードに送信し、
前記管理ノードの情報管理手段は、前記実行情報を履歴情報記憶手段に記憶することこと
を特徴とするバッチジョブ制御システム。 - 請求項2記載のバッチジョブ制御システムであって、
前記管理ノードは、
前記履歴情報記憶手段に記憶されたバッチジョブの実行時間および入力データ量に基づいて、実行ノード毎のバッチジョブの平均実行時間を算出する算出手段を、さらに有し、
前記決定手段は、前記平均実行時間が最も短い実行ノードを、前記バッチジョブを実行させる実行ノードをとして決定すること
を特徴とするバッチジョブ制御システム。 - 請求項2または請求項3記載のバッチジョブ制御システムであって、
前記決定手段は、前記ノード情報記憶手段を参照して、現時点でバッチジョブを実行していない未実行の実行ノードが存在する場合は、当該実行ノードを前記バッチジョブを実行させる実行ノードとして決定し、未実行の実行ノードが存在しない場合は、前記算出手段が算出した実行ノード毎の平均実行時間に基づいて実行中のジョブが最も早く終了する実行ノードを推定し、当該実行ノードを前記バッチジョブを実行させる実行ノードとして決定すること
を特徴とするバッチジョブ制御システム。 - 複数の実行ノードにバッチジョブを実行させる管理ノードであって、
複数のバッチジョブ各々の起動条件が記憶されたスケジュール情報記憶手段と、
各実行ノードのバッチジョブの実行状態が記憶されたノード情報記憶手段と、
前記スケジュール情報記憶手段を参照し、起動条件を満たすバッチジョブが存在するか否かを判別する判別手段と、
前記ノード情報記憶手段を参照し、前記バッチジョブを実行させる実行ノードを決定する決定手段と、
前記決定手段が決定した実行ノードに、前記バッチジョブの実行指示を送信する送信手段と、
前記実行ノードからバッチジョブの実行状態を収集し、前記ノード情報記憶手段を更新する情報管理手段と、を有すること
を特徴とする管理ノード。 - 請求項5記載の管理ノードであって、
前記情報管理手段は、前記管理ノードから実行時間および入力データ量に関する情報を含むバッチジョブの実行情報を受信し、当該実行情報を履歴情報記憶手段に記憶することこと
を特徴とする管理ノード。 - 請求項6記載の管理ノードであって、
前記履歴情報記憶手段に記憶されたバッチジョブの実行時間および入力データ量に基づいて、実行ノード毎のバッチジョブの平均実行時間を算出する算出手段を、さらに有し、
前記決定手段は、前記平均実行時間が最も短い実行ノードを、前記バッチジョブを実行させる実行ノードをとして決定すること
を特徴とする管理ノード。 - 請求項6または請求項7記載の管理ノードであって、
前記決定手段は、前記ノード情報記憶手段を参照して、現時点でバッチジョブを実行していない未実行の実行ノードが存在する場合は、当該実行ノードを前記バッチジョブを実行させる実行ノードとして決定し、未実行の実行ノードが存在しない場合は、前記算出手段が算出した実行ノード毎の平均実行時間に基づいて実行中のジョブが最も早く終了する実行ノードを推定し、当該実行ノードを前記バッチジョブを実行させる実行ノードとして決定すること
を特徴とする管理ノード。 - バッチジョブの起動スケジュールを管理する管理ノードと、バッチジョブを実行する複数の実行ノードとが行うバッチジョブ制御方法であって、
前記管理ノードは、
複数のバッチジョブ各々の起動条件が記憶されたスケジュール情報記憶部と、
各実行ノードのバッチジョブの実行状態が記憶されたノード情報記憶部と、を有し、
前記スケジュール情報記憶部を参照し、起動条件を満たすバッチジョブが存在するか否かを判別する判別ステップと、
前記ノード情報記憶部を参照し、前記バッチジョブを実行させる実行ノードを決定する決定ステップと、
前記決定ステップで決定した実行ノードに、前記バッチジョブの実行指示を送信する送信ステップと、
前記実行ノードからバッチジョブの実行状態を収集し、前記ノード情報記憶部を更新する更新ステップと、を行い、
前記実行ノードは、
前記管理ノードからの実行指示に基づいて、指示されたバッチジョブを実行する実行ステップとを行うこと
を特徴とするバッチジョブ制御方法。 - 請求項9記載のバッチジョブ制御方法であって、
前記管理ノードは、
バッチジョブの実行時間および入力データ量に関する履歴情報を記憶する履歴情報記憶部をさらに有し、
前記履歴情報記憶部の実行時間および入力データ量に基づいて、実行ノード毎のバッチジョブの平均実行時間を算出する算出ステップをさらに行い、
前記決定ステップは、前記平均実行時間が最も短い実行ノードを、前記バッチジョブを実行させる実行ノードをとして決定すること
を特徴とするバッチジョブ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008076749A JP2009230581A (ja) | 2008-03-24 | 2008-03-24 | バッチジョブ制御システム、管理ノード、およびバッチジョブ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008076749A JP2009230581A (ja) | 2008-03-24 | 2008-03-24 | バッチジョブ制御システム、管理ノード、およびバッチジョブ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009230581A true JP2009230581A (ja) | 2009-10-08 |
Family
ID=41245866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008076749A Pending JP2009230581A (ja) | 2008-03-24 | 2008-03-24 | バッチジョブ制御システム、管理ノード、およびバッチジョブ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009230581A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012073690A (ja) * | 2010-09-28 | 2012-04-12 | Fujitsu Ltd | ジョブスケジューリングプログラム,方法,および装置 |
WO2014148247A1 (ja) * | 2013-03-19 | 2014-09-25 | 株式会社日立製作所 | 処理制御システム、処理制御方法、および処理制御プログラム |
JP2014232449A (ja) * | 2013-05-29 | 2014-12-11 | 富士通株式会社 | サーバ、データセンタ、システム、および制御方法 |
JP2017174235A (ja) * | 2016-03-24 | 2017-09-28 | 富士通株式会社 | 制御方法、制御プログラムおよび制御装置 |
CN111124491A (zh) * | 2019-12-12 | 2020-05-08 | 浪潮(北京)电子信息产业有限公司 | 一种批处理方法、装置、设备及存储介质 |
CN111160873A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 基于分布式架构的跑批处理装置及方法 |
-
2008
- 2008-03-24 JP JP2008076749A patent/JP2009230581A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012073690A (ja) * | 2010-09-28 | 2012-04-12 | Fujitsu Ltd | ジョブスケジューリングプログラム,方法,および装置 |
WO2014148247A1 (ja) * | 2013-03-19 | 2014-09-25 | 株式会社日立製作所 | 処理制御システム、処理制御方法、および処理制御プログラム |
US9501326B2 (en) | 2013-03-19 | 2016-11-22 | Hitachi, Ltd. | Processing control system, processing control method, and processing control program |
JP6062034B2 (ja) * | 2013-03-19 | 2017-01-18 | 株式会社日立製作所 | 処理制御システム、処理制御方法、および処理制御プログラム |
JP2014232449A (ja) * | 2013-05-29 | 2014-12-11 | 富士通株式会社 | サーバ、データセンタ、システム、および制御方法 |
JP2017174235A (ja) * | 2016-03-24 | 2017-09-28 | 富士通株式会社 | 制御方法、制御プログラムおよび制御装置 |
CN111124491A (zh) * | 2019-12-12 | 2020-05-08 | 浪潮(北京)电子信息产业有限公司 | 一种批处理方法、装置、设备及存储介质 |
WO2021114548A1 (zh) * | 2019-12-12 | 2021-06-17 | 浪潮(北京)电子信息产业有限公司 | 一种批处理方法、装置、设备及存储介质 |
CN111124491B (zh) * | 2019-12-12 | 2022-04-22 | 浪潮(北京)电子信息产业有限公司 | 一种批处理方法、装置、设备及存储介质 |
CN111160873A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 基于分布式架构的跑批处理装置及方法 |
CN111160873B (zh) * | 2019-12-31 | 2023-08-22 | 中国银行股份有限公司 | 基于分布式架构的跑批处理装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11748154B2 (en) | Computing node job assignment using multiple schedulers | |
US20080016508A1 (en) | Distributed processing management apparatus, distributed processing management method and distributed processing management program | |
US8185903B2 (en) | Managing system resources | |
US8434085B2 (en) | Scalable scheduling of tasks in heterogeneous systems | |
JP2007041720A (ja) | ジョブステップ実行プログラムおよびジョブステップ実行方法 | |
CN107391279B (zh) | 一种消息队列容器创建方法、装置及消息队列容器 | |
JP2009230581A (ja) | バッチジョブ制御システム、管理ノード、およびバッチジョブ制御方法 | |
US9921882B2 (en) | Information processing system, deployment method, processing device, and deployment device | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
WO2018235739A1 (ja) | 情報処理システムおよびリソース割り当て方法 | |
CN114924858A (zh) | 任务调度方法及装置、存储介质及电子设备 | |
JP5613578B2 (ja) | 仮想化環境リソース管理構成変更システム、及びプログラム | |
JP5444900B2 (ja) | ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム | |
US9367361B2 (en) | Information processing device, method for processing information, and non-transitory computer-readable recording medium having stored therein information processing program | |
CN113051063B (zh) | 分布式任务的任务调度方法、装置及电子设备 | |
JP5045576B2 (ja) | マルチプロセッサシステム及びプログラム実行方法 | |
JP5441179B2 (ja) | ジョブ実行管理システム | |
JP2020126483A (ja) | 制御装置、情報処理装置、コンピュータプログラム及び情報処理方法 | |
JP2010186347A (ja) | ジョブスケジューリングシステム、ジョブスケジューリング方法及びプログラム | |
JP2001022601A (ja) | ジョブ実行制御方法及び並列計算機システム | |
JP2015090688A (ja) | MapReduceジョブ管理システム、MapReduceジョブ管理方法 | |
JP2017068877A (ja) | ジョブネット管理装置及びプログラム | |
CN112130979B (zh) | 调度任务及训练神经网络模型的方法、装置、终端和介质 | |
JP6302103B2 (ja) | ジョブネット管理装置及びプログラム | |
JP6118841B2 (ja) | ジョブネット管理装置及びプログラム |