JP2011018281A - ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム - Google Patents

ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム Download PDF

Info

Publication number
JP2011018281A
JP2011018281A JP2009163835A JP2009163835A JP2011018281A JP 2011018281 A JP2011018281 A JP 2011018281A JP 2009163835 A JP2009163835 A JP 2009163835A JP 2009163835 A JP2009163835 A JP 2009163835A JP 2011018281 A JP2011018281 A JP 2011018281A
Authority
JP
Japan
Prior art keywords
execution
job
resource
order
information
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.)
Granted
Application number
JP2009163835A
Other languages
English (en)
Other versions
JP5444900B2 (ja
Inventor
Yoshiro Naito
義郎 内藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009163835A priority Critical patent/JP5444900B2/ja
Publication of JP2011018281A publication Critical patent/JP2011018281A/ja
Application granted granted Critical
Publication of JP5444900B2 publication Critical patent/JP5444900B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】コンピュータシステムにおけるバッチジョブを迅速に処理する。
【解決手段】バッチジョブ情報に基づき前記ジョブの実行を制御するジョブ実行制御部と、ジョブの実行に利用される実行用リソースを監視するリソース監視部とを備え、ジョブ定義情報に基づき実行順番に依らず実行可能な先行実行ジョブを抽出する実行順序予測手段121と、抽出された各先行実行ジョブの実行タイミングが予め前記バッチジョブ情報で設定された実行タイミングより早く設定された先行実行順序を決定すると共に、実行待機状態にある遊休リソースをリソース使用状況情報に基づき特定する実行順序補正手段122と、先行実行順序に基づき前記先行実行ジョブを前記遊休リソースを利用して実行する投機実行手段123を備えた。
【選択図】図1

Description

本発明は、コンピュータなどのジョブ実行環境におけるジョブの実行を迅速化するジョブ実行管理システムに関する。
コンピュータシステムで実行処理される複数の異なるジョブの処理順序(実行順序)が記述されたバッチジョブファイルに基づいてジョブの実行順序を制御するバッチジョブでは、一般に、バッチジョブファイル内で予め設定された実行順がきたときに、対応するジョブの実行が行われる。
また、このコンピュータシステムにおいては、ジョブの実行処理に利用されるCPU(中央演算装置)の処理速度が高速化し、メモリ、HDD(ハードディスクドライブ)などの記憶装置に対する迅速なアクセスが可能となり、更には、通信速度が向上したことにより、プリンタなどを含むコンピュータシステムのリソースで処理速度が向上している。
このため、ジョブ実行処理時に処理待機状態やアイドル状態となってしまうリソース(以下「遊休リソース」という)が生じてしまい、これら遊休リソースを有効に利用することができないという不都合が生じてきている。
上記バッチジョブの処理迅速化にかかる関連技術として、異なる複数のジョブスケジューリングシステムで管理されているジョブ同士に実行順序の関連を持たせて実行し、これを統一された操作で一元管理すると共に、同一のジョブスケジューリングシステムで管理される異なるジョブグループ間のジョブネット同士に関連を持たせて実行するジョブの連携運用管理システムが開示されている(特許文献1)。
また、上記リソースの使用状況や他のバッチジョブの実行状況に基づいて遊休リソースを有効活用することに対する関連技術として、並列実行される異なる複数のジョブネットに対して、各ジョブネットに関するスクリプトデータの入力を受付け、ジョブネットの実行に利用される資源ノードの割当てを行うことにより、ジョブネットごとの資源ブローカリングを行う並列実行装置が開示されている(特許文献2)。
特開2002−157134号公報 特開2008−226181号公報
上記特許文献1に開示された関連技術では、予め設定されたバッチジョブに基づく順番でしかジョブの実行を行うことができないため、予め設定されたリソース(遊休リソース)を効率的に利用することができないという不都合があった。
また、上記特許文献2に開示された関連技術では、ジョブネットの実行を行うリソースの使用状況に基づき、ジョブネットごとにリソース(資源ノード)を割当てているが、割当てを行うのに先立ちジョブネットの実行スケジューリングを設定することができず、このため、実際にリソースによる実行が行われるまで、ジョブネットの実行に対して、そのリソースで足りるか否かがわからないという不都合がある。
[発明の目的]
本発明は、上記関連技術の有する不都合を改善し、コンピュータシステムにおけるバッチジョブを迅速に処理し得るジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラムを提供することを、その目的とする。
上記目的を達成するために、本発明に係るジョブ実行管理システムは、ジョブの実行順番を示すバッチジョブ情報に基づき前記ジョブの実行を制御するジョブ実行制御部と、前記ジョブの実行用に予め設定された実行用リソースの動作を監視すると共に前記実行用リソースの使用状況を示すリソース使用状況情報を生成するリソース監視部とを備えたジョブ実行管理システムであって、前記バッチジョブ情報内に予め設定されたジョブ定義情報に基づき前記実行順番に依らず実行可能な先行実行ジョブを抽出する先行実行ジョブ抽出手段と、前記抽出された各先行実行ジョブの実行タイミングが予め前記バッチジョブ情報で設定された実行タイミングより早い実行タイミングを先行実行順序として設定する先行実行順序設定手段と、前記実行用リソースのうちの実行待機状態にある遊休リソースを前記リソース使用状況情報に基づき特定する遊休リソース特定手段と、前記先行実行順序に基づき前記先行実行ジョブを前記遊休リソースを利用して実行する投機実行制御手段とを備えた構成をとっている。
また、本発明にかかるジョブ実行管理方法は、ジョブの実行順番を示すバッチジョブ情報に基づき前記ジョブの実行を制御するジョブ実行制御部と、前記ジョブの実行に利用される実行用リソースを監視すると共に前記実行用リソースの使用状況を示すリソース使用状況情報を生成するリソース監視部とを備えたジョブ実行管理システムにあって、前記ジョブの実行を行うジョブ実行管理方法であって、前記バッチジョブ情報内に予め設定されたジョブ定義情報に基づき前記実行順番に依らず実行可能な先行実行ジョブを抽出し、前記抽出された各先行実行ジョブの実行タイミングが予め設定された前記バッチジョブ情報の実行タイミングより早い実行タイミングを先行実行順序として設定し、前記実行用リソースのうちの実行待機状態にある遊休リソースを前記リソース使用状況情報に基づき特定し、前記先行実行順序に基づき前記先行実行ジョブを前記遊休リソースを利用して実行することを特徴としている。
又、本発明にかかるジョブ実行管理プログラムは、ジョブの実行順番を示すバッチジョブ情報に基づき前記ジョブの実行を制御するジョブ実行制御部と、前記ジョブの実行に利用される実行用リソースを監視すると共に前記実行用リソースの使用状況を示すリソース使用状況情報を生成するリソース監視部とを備えたジョブ実行管理システムにあって、前記ジョブの実行を行うためのジョブ実行管理プログラムであって、前記バッチジョブ情報内に予め設定されたジョブ定義情報に基づき前記実行順番に依らず実行可能な先行実行ジョブを抽出する先行実行ジョブ抽出機能と、前記抽出された各先行実行ジョブの実行タイミングが予め設定された前記バッチジョブ情報の実行タイミングより早く設定された先行実行順序を決定する先行実行順序設定機能と、前記実行用リソースのうちの実行待機状態にある遊休リソースを前記リソース使用状況情報に基づき特定する遊休リソース特定機能と、前記先行実行順序に基づき前記先行実行ジョブを前記遊休リソースを利用して実行する投機実行制御機能とを予め設定されたコンピュータに実行させることを特徴としている。
本発明は、以上のように構成され機能するので、これによると、バッチジョブ情報に基づき実行順番に依らず実行可能な先行実行ジョブを抽出する手段と、抽出された各先行実行ジョブの実行タイミングが予め前記バッチジョブ情報で設定された実行タイミングより早く設定された先行実行順序を決定する手段とを備えた構成としたことにより、実行待機状態にある遊休リソースを利用した実行を行い、コンピュータシステムにおける遊休リソースを利用してバッチジョブを迅速に処理することを可能としたジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラムを提供することができる。
本発明によるジョブ実行管理システムにおける一実施形態を示す概略ブロック図である。 図1に開示したジョブ実行管理システムにおける実行順序予測手段の動作処理ステップを示すフローチャートである。 図1に開示したジョブ実行管理システムにおける実行順序補正手段の動作処理ステップを示すフローチャートである。 図1に開示したジョブ実行管理システムにおける実行手段の動作処理ステップを示すフローチャートである。 図1に開示したジョブ実行管理システムにおけるバッチジョブ定義の一例を示す説明図である。 図1に開示したジョブ実行管理システムにおけるジョブフローの一例を示す説明図である。 図1に開示したジョブ実行管理システムにおけるジョブ定義の一例を示す説明図である。 図1に開示したジョブ実行管理システムにおける投機実行条件の一例を示す説明図である。 図1に開示したジョブ実行管理システムにおける予測情報テーブルの一例を示す説明図である。 図1に開示したジョブ実行管理システムにおける実行順序テーブルの一例を示す説明図である。 本発明によるジョブ実行管理システムにおける一実施形態を示す概略ブロック図である。
[実施形態]
次に、本発明の実施形態について、その基本的構成内容を説明する。
本実施形態であるジョブ実行管理システムは、図1に示すように、業務の基幹システムとして運用されるジョブの実行に利用される、コンピュータリソース(以下「リソース」という)の監視を行うリソース管理部11と、予め設定されたバッチジョブの通常の実行を制御する正規実行部13と、リソース管理部11により通知されたリソースの利用状況を示す情報と正規実行部13から取得したバッチジョブの実行進捗を示す情報とに基づいて、先行実行可能なジョブの投機実行を行う投機実行部12を備えた構成を有するコンピュータシステムである。
これにより、本実施形態では、ジョブの中で先行実行できる部分があれば、遊休リソースを利用して、投機的に先行実行を行う。
また、投機実行部12は、正規実行部13のバッチジョブ定義格納部131からバッチジョブ定義情報を取得し、このバッチジョブ定義情報に基づきジョブ実行順序を予測決定する実行順序予測手段121と、リソース管理部11で生成されたリソースの使用状況を示すリソース状況情報と、正規実行部13のバッチジョブ実行部132におけるジョブ実行進捗状況を示す情報(実行状況情報)とに基づいて投機実行順序を補正する実行順序補正手段122と、実行順序補正手段122により更新(補正)された投機実行順序に基づき先行実行可能なジョブの実行を行う投機実行手段123を有している。
また、投機実行部12は、実行順序予測手段121および実行順序補正手段122に接続して設けられ、実行順序を示す予測情報テーブルを記憶する予測情報テーブル記憶部124と、実行順序補正手段122および投機実行手段123に接続して設けられ、投機実行の順序を示す実行順序テーブルを記憶する実行順序テーブル記憶部125を備えている。
正規実行部13は、バッチジョブの定義が格納されているバッチジョブ定義格納部131とバッチジョブを実行するバッチジョブ実行部132と、バッチジョブの実行結果が格納される実行結果テーブル記憶部133を備えている。
次に、投機実行部12の内部構成要素である、実行順序予測手段121、実行順序補正手段122、投機実行手段123、それぞれについて詳説する。
実行順序予測手段121は、バッチジョブ定義格納部131を検索すると共に、予め設定されたバッチジョブ定義情報を選択し、そのバッチジョブ定義情報をバッチジョブ定義格納部131から読み込む。
ここで、図5にバッチジョブ定義情報の一例を示す。
ここで、バッチジョブ定義情報には、バッチジョブ名、実行開始時刻、投機実行開始時刻、バッチフローが定義されているものとする。
ここで、バッチジョブ定義情報に含まれ設定されたジョブフローの一例を図6に示す。
このジョブフローは、図6では、ジョブの実行順序を示したフローであって、ジョブ(JOB A〜G)、並列分岐(図6の中ではpと表記)、条件分岐(図6の中ではcと表記)を含み構成されている。
実行順序予測手段121は、取得したバッチジョブ定義情報のジョブフローを、木構造に変換し、幅優先探索によりジョブフローを直列化する(直列化機能)。
ここで、上記直列化により生成された、ジョブの実行順序を示す情報を直列化情報という。本実施形態では、この直列化情報を投機実行における予測順序情報とする。
尚、本実施形態では、直列化処理の例として、バッチジョブ定義情報を木構造に変換後、幅優先探索によりジョブフローを直列化しているが、直列化自体のアルゴリズムは、他のアルゴリズムを用いて直列化を行う設定としてもよい。
実行順序予測手段121は、上記直列化情報を、バッチ時刻の投機実行開始時刻順に序列した予測情報テーブルとして予測情報テーブル記憶部124に格納する。
ここで、図9に予測情報テーブルの一例を示す。
この予測情報テーブルでは、図9に示すように、バッチジョブA(バッチジョブ定義情報に対応)の直列化情報としてジョブA、ジョブC、ジョブDという直列化された実行順序が設定されている。
また、図9に示すように、バッチジョブCの直列化情報としてジョブA、ジョブD、ジョブG、ジョブCという実行順序が直列化情報として設定され、更に、バッチジョブDの直列化情報としては、ジョブD、ジョブA、ジョブG、ジョブCという実行順序が設定されている。
実行順序補正手段122は、実行順序予測手段121により設定された予測情報テーブルからバッチジョブ名および直列化情報を取得し、直列化情報内に設定されたジョブを順次選択する(対象ジョブ選択機能)。
また、実行順序補正手段122は、対象ジョブのジョブ定義情報にコンテキスト非依存部分が含まれている場合に、バッチジョブ実行部132対してアクセスを行い、予め設定された投機実行条件の内容を調べる投機実行条件参照機能を備えている。
ここで、投機実行条件は、例えば図8に示すように、バッチジョブ実行部132によって、依存性条件とリソース条件を含む形式で、バッチジョブ実行部132内に設定されるものとする。
依存性条件の内容は、バッチジョブの通常実行の進捗状況(ジョブ実行進捗状況)に応じて更新設定され、投機実行がバッチジョブ実行部132で行われるバッチジョブ通常実行に対して影響を及ぼすタイミングなどを示す。
例えば、「バッチジョブDのジョブBの実行完了後」は、バッチジョブ実行部132でバッチジョブDのジョブBの実行(通常実行)が完了するまでは、バッチジョブDのジョブの投機実行を行うと通常実行に影響が及ぶことを示す。
これにより、実行順序補正手段122は、バッチジョブ実行部132における通常実行に影響が出ないように、投機実行を行うべき適切なタイミングや投機実行順序を設定することができる。
実行順序補正手段122は、依存性条件に基づき、対象ジョブの投機実行が通常実行に影響を及ぼすか否かの判定を行い、対象ジョブの投機実行が通常実行に対して許容されるか否かの判定を行う(投機通常実行比較判定機能)。
また、実行順序補正手段122は、対象ジョブの投機実行が通常実行に対して許容される場合に、リソース条件に基づきリソース管理部11からリソース情報を取得する(リソース情報取得機能)
ここでは、実行順序補正手段122は、リソース(遊休リソース)の利用率や占有率などを示すリソース情報を取得する。
実行順序補正手段122は、このリソース情報に基づき、このリソースの利用状態がリソース条件を満たしているか否か判定する(リソース条件判定機能)。
実行順序補正手段122は、投機実行条件に含まれる依存性条件およびリソース条件の全てを満たしている場合に、対象ジョブ(非依存部分)を実行順序テーブル(図10)に登録する実行順序テーブル設定機能を有する。このとき、実行順序補正手段122は、予測順序テーブルの直列化情報から対象ジョブを削除し登録を解除する。
これにより、実行順序補正手段122は、投機実行条件を満たすタイミング、および順序でジョブ(先行実行可能ジョブ)が序列された、投機実行の実行順序テーブルを設定することができる。
この実行順序テーブルには、図10に示すように、投機実行される順番にジョブ(対象ジョブ)が登録されていくものとする。また、各ジョブの所属するバッチジョブ名が各ジョブに対応して示されるものとする。
尚、実行順序補正手段122は、定期的に投機実行条件に基づく判定を実行し、実行順序テーブルの登録内容の更新を行う設定としてもよい。
これにより、実行順序補正手段122は、遊休状態にあるリソースを利用して、通常実行に影響を与えないタイミングで投機実行を行うための投機実行スケジュール(投機実行タイミング)を示す、実行順序テーブルを更新設定することができる。
尚、実行結果テーブルは、実行結果を格納するためのもので、正規実行部13の実行結果テーブル記憶部133内に設定されているものとする。
投機実行手段123は、当該投機実行手段123が投機実行を行った回数(投機実行数)をカウントする投機実行回数カウント機能と、カウントした投機実行数を記憶保持する投機実行数記憶機能を備えている。
また、投機実行手段123は、投機実行数が予め設定された最大投機実行数を超えているか否かの判定を行う投機実行数比較判定機能を有する。
ここで、投機実行処理数が最大投機実行数以下である場合に、投機実行手段123は、実行順序テーブル記憶部125に記憶された実行順序テーブルからジョブ(「対象ジョブ」という)を取得すると共に、実行順序テーブルに基づき各ジョブのコンテキスト非依存部分の投機実行を順次行う(投機実行機能)。この際、投機実行手段123は、投機実行数の設定値に1加算(カウントアップ)するものとする。
更に、投機実行手段123は、投機実行機能の実行に先立ち、バッチジョブ実行部132に実行状況(実行進捗状況)に基づき、ジョブフローにおける分岐または正規実行内容に基づいて、投機実行がキャンセルされていないかを確認する投機実行キャンセル確認機能を備えている。
ここで、バッチジョブ実行部132における通常実行内で投機実行処理がキャンセルされていた場合は、投機実行を行わない。
投機実行手段123は、バッチジョブ実行部132に対して、対象ジョブの投機実行を開始したことを示す投機実行開始情報を通知する投機実行開始通知機能と、実行順序テーブル記憶部133から投機実行を行ったジョブエントリを削除する実行ジョブエントリ削除機能を有する。
更に、投機実行手段123は、投機実行処理が完了した対象ジョブがある場合、バッチジョブ実行部132に対して投機実行が完了したことを示す投機実行完了情報を通知する投機実行完了情報通知機能を備えている。
ここで、異なる複数のジョブ(対象ジョブ)の投機実行が完了している場合は、投機実行手段123は、各対象ジョブに対応した投機実行完了情報を、バッチジョブ実行部132に通知するものとする。
また、投機実行手段123は、対象ジョブの投機実行結果を実行結果テーブル記憶部133に格納すると共に、投機実行数(実行可能数)を投機実行が完了した数だけ下げる投機実行数減数設定機能を有する。
以上のような構成とすることにより、本実施形態では、ジョブの中で先行実行できる部分(コンテキスト非依存部分)があれば、遊休リソースを利用して投機的に先行実行する。これにより、バッチジョブ全体の実行を迅速化し、さらには、システムのリソース使用のピークを分散させることができるので、システム全体の処理キャパシティを向上させることができる。
尚、本実施形態の変形例として、図11に示すように、上記実施形態における投機実行部12を構成する実行順序予測手段121、実行順序補正手段122、および予測情報テーブル記憶部124と、正規実行13を含むジョブ実行制御装置2と、実行順序補正手段122に対して通信ネットワークを介して接続された投機実行手段331および実行順序テーブル記憶部332を備え、ジョブ実行制御装置2とは異なるプログラムに基づく実行処理が行われるコンピュータ装置であるジョブ実行制御装置3と、実行順序補正手段122に対してリソース情報の提供を行うリソース管理部11を備えた構成としてもよい。
尚、上記実施形態と同一の部分は同一の符号を付するものとする。
ここで、ジョブ実行制御装置3内に設定された投機実行手段331と実行順序テーブル記憶部332は、投機実行手段123と実行順序テーブル記憶部125に対応するものと備えた構成としてもよい。
この場合、実行装置3内に設けられた投機実行手段331は、実行順序補正手段122、バッチジョブ実行部132、および実行結果テーブル記憶部133に対してネットワーク通信回線を介して接続され、実行順序テーブル記憶部332は、実行順序補正手段122に対してネットワーク通信回線を介して接続された構成とする。
また、実行順序テーブル332は、ネットワーク通信回線を介して、実行順序補正手段122および投機実行手段331により共有され、実行結果テーブル記憶部133もバッチジョブ実行部132および投機実行手段331により共有された構成となる。
この様に構成することにより、投機実行手段331と正規実行部13のバッチジョブ実行部132とが、それぞれ異なるプログラム(OSなど)により制御されるコンピュータ(ジョブ実行制御装置2および3)上に設置されることにより、正規実行部13での動作や処理負荷による影響を抑制した状態で、投機実行部12における投機実行が可能となる。
また、リソース管理部11を、ジョブ実行制御装置2および3とは異なるコンピュータ(外部コンピュータ)内に設けたことにより、リソース管理部11、ジョブ実行制御装置2および3を含むネットワーク全体のリソースを考慮して、投機実行の制御を行うことが可能になる。
[実施形態の動作説明]
次に、本実施形態の動作について、その概略を説明する。
まず、実行順序予測手段121が、前記バッチジョブ情報内に予め設定されたジョブ定義情報に基づき前記実行順番に依らず実行可能な先行実行ジョブを抽出し(先行実行ジョブ抽出行程)、実行順序補正手段122が、前記抽出された各先行実行ジョブの実行タイミングが予め設定された前記バッチジョブ情報の実行タイミングより早く設定された先行実行順序を決定し(先行実行順序設定行程)、前記実行用リソースのうちの実行待機状態にある遊休リソースを前記リソース使用状況情報に基づき特定し(遊休リソース特定手段)、次いで、投機実行手段123が、前記先行実行順序に基づき前記先行実行ジョブを前記遊休リソースを利用して実行する(投機実行制御手段)。
ここで、上記先行実行ジョブ抽出行程、先行実行順序設定行程、遊休リソース特定行程、および投機実行制御行程については、その実行内容をプログラム化し、コンピュータに実行させるように構成してもよい。
次に、ジョブ実行制御システム1における実行順序予測手段121の動作について、図2のフローチャートに基づいて説明する。
まず、実行順序予測手段121は、バッチジョブ定義格納部131を検索すると共に、予め設定されたバッチジョブ定義情報を選択し(ステップS101)、そのバッチジョブ定義情報をバッチジョブ定義格納部131から読み込む(ステップS102)。
ここで、図5にバッチジョブ定義情報の一例を示す。
ここで、バッチジョブ定義情報には、バッチジョブ名、実行開始時刻、投機実行開始時刻、バッチフローが定義されているものとする。
次に、実行順序予測手段121は、取得したバッチジョブ定義情報のジョブフローを、木構造に変換し、幅優先探索によりジョブフローを直列化する(ステップS104:直列化処理)。ここで、上記直列化により生成された、ジョブの実行順序を示す情報を直列化情報という。本実施形態では、この直列化情報を投機実行における予測順序情報とする。
これにより、実行順序予測手段121は、コンテキスト非依存部分を先行して投機実行できるように予測順序情報を設定することができる。
また、実行順序予測手段121が、実行される順番を一定の割合で予測して、投機実行順番を設定することにより、例えば、全てのバッチジョブのコンテキスト非依存部分を一度に実行しようとした場合にシステム内のリソースを使い切ってしまうといった状態が生じるのを抑制することができる。
尚、本実施形態では、直列化処理の例として、バッチジョブ定義情報を木構造に変換後、幅優先探索によりジョブフローを直列化しているが、直列化自体のアルゴリズムは、他のアルゴリズムを用いて直列化を行う設定としてもよい。
次いで、実行順序予測手段121は、上記直列化情報を、バッチ時刻の投機実行開始時刻順に序列した予測情報テーブルとして予測情報テーブル記憶部124に格納する。
ここで、図9に予測情報テーブルの一例を示す。
この予測情報テーブルでは、図9に示すように、バッチジョブA(バッチジョブ定義情報に対応)の直列化情報としてジョブA、ジョブC、ジョブDという直列化された実行順序が設定されている。
また、図9に示すように、バッチジョブCの直列化情報としてジョブA、ジョブD、ジョブG、ジョブCという実行順序が直列化情報として設定され、更に、バッチジョブDの直列化情報としては、ジョブD、ジョブA、ジョブG、ジョブCという実行順序が設定されている。
次に、ジョブ実行制御システム1における実行順序補正手段(実行順序更新手段)122の動作について、図3のフローチャートに基づき説明する。
まず、実行順序補正手段122は、上記設定された予測情報テーブルからバッチジョブ名および直列化情報を取得し(ステップS201)、直列化情報内に設定されたジョブ(例えば、ジョブA)先頭側から順次選択する(ステップS202)。以下、選択されたジョブを対象ジョブという。
次に、実行順序補正手段122は、選択した対象ジョブのジョブ定義情報がコンテキスト非依存部分を含むか否かの判定を行い(ステップS203:ジョブがコンテキスト非依存部分を持っている?)、対象ジョブのジョブ定義情報にコンテキスト非依存部分が含まれていなければ(NO:ステップS203)、直列化情報内における次のジョブを順次選択する(ステップS202に戻る)。
ここで、対象ジョブのジョブ定義情報にコンテキスト非依存部分が含まれている場合(YES:ステップS203)、実行順序補正手段122は、バッチジョブ実行部132内に設定された投機実行条件の内容を調べる。
ここで、投機実行条件は、例えば図8に示すように、バッチジョブ実行部132によって、依存性条件とリソース条件を含む形式で、バッチジョブ実行部132内に設定されるものとする。
依存性条件の内容は、バッチジョブの通常実行の進捗状況(ジョブ実行進捗状況)に応じて更新設定され、投機実行がバッチジョブ実行部132で行われるバッチジョブ通常実行に対して影響を及ぼすタイミングなどを示す。
例えば、「バッチジョブDのジョブBの実行完了後」は、バッチジョブ実行部132でバッチジョブDのジョブBの実行(通常実行)が完了するまでは、バッチジョブDのジョブの投機実行を行うと通常実行に影響が及ぶことを示す。
これにより、実行順序補正手段122は、バッチジョブ実行部132における通常実行に影響が出ないように、投機実行を行うべき適切なタイミングや投機実行順序を設定することができる。
ここで、実行順序補正手段122は、依存性条件の内容を満たしており、投機実行が行われてもよいタイミングである、つまり通常実行に影響を及ぼさない場合に(YES:ステップS205)、実行順序補正手段122は、投機実行条件のリソース条件の内容を確認する。
ここで、実行順序補正手段122は、リソース条件の内容(例えば、リソースAの占有率50%:図8)に基づきリソース管理部11からリソース情報を取得する(ステップS206)。例えば、ここでは、実行順序補正手段122は、リソース管理部11からリソースAの占有率を示すリソース情報を取得する。
また、実行順序補正手段122は、このリソース情報に基づき、このリソース(遊休リソースに対応:リソースA)の利用状態がリソース条件を満たしているか否か判定する(ステップS207:リソース条件判定機能)。例えば、リソースAの占有率が50%未満であるか否かの判定を行う。
次に、実行順序補正手段122は、投機実行条件に含まれる依存性条件およびリソース条件の全てを満たされている場合(Yes:ステップS207:リソース条件を満たしている?)、対象ジョブ(非依存部分)を実行順序テーブル(図10)に登録する(ステップS208)。
ここで、リソース条件を満たしていない場合(例えば、リソースAの占有率が60%である場合など:図8)、このジョブの投機実行は行われないので、このジョブを実行順序テーブルには登録せず、直列化情報内のジョブ全てについて、リソース条件判定処理を完了したか否かの判定を行う(ステップS209へ移行)。
一方、リソース条件を満たしていた場合、実行順序補正手段122は、このジョブを予測順序テーブルの直列化情報から登録を解除すると共に、このジョブを実行順序テーブルに登録する(ステップS208:実行順序テーブルに登録)。
ここで、実行順序テーブルには、図10に示すように、投機実行される順番にジョブ(対象ジョブ)が登録されていくものとする。また、各ジョブの所属するバッチジョブ名が各ジョブに対応して示されるものとする。
尚、実行順序補正手段122は、定期的に投機実行条件に基づく判定(ステップS204〜207)を実行し、実行順序テーブルの登録内容の更新を行う設定としてもよい。
これにより、実行順序補正手段122は、遊休状態にあるリソースを利用して、通常実行に影響を与えないタイミングで投機実行を行うための投機実行スケジュール(投機実行タイミング)を示す、実行順序テーブルを更新設定することができる。
また、本実施形態では、投機実行条件のリソース条件に基づいて、ジョブ実行制御システム1における遊休リソースを利用したジョブ(先行実行可能ジョブ)の実行を行う設定としたことにより、例えば、コンテキスト非依存部分の実行のために遊休リソースを使い切ってしまうといったことを回避することができる。
次に、実行順序補正手段122は、ジョブフロー内のジョブが全て処理されたか否かの判定を行い、全てのジョブの処理が完了されていなければ(NO:ステップS209)、直列化情報のジョブを順次選択する(ステップS202へ)。
また、ジョブフロー内の全てのジョブの処理が完了している場合、実行順序補正手段122は、直列化情報内にジョブが残っていない場合に、予測情報テーブル記憶部124に格納された予測情報テーブルからバッチジョブ定義情報の登録解除を行い(ステップS210)、次に、ステップS201に戻る。
次に、ジョブ実行制御システム1における投機実行手段123(331)の動作について、図4のフローチャートに基づき説明する。
まず、投機実行手段123は、投機実行を行った回数を示す投機実行数が予め設定された最大投機実行数を超えているか否かの比較判定を行う(ステップS301)。
ここで、投機実行処理数が予め設定された最大投機実行数を超えている場合は、再び上記比較判定を行う(ステップS301に戻る)。
ここで、投機実行処理数が最大投機実行数を超えていない場合、(最大投機実行数以下である場合に)、投機実行手段123は、実行順序テーブル記憶部125(332)に記憶された実行順序テーブルからジョブ(「対象ジョブ」という)を取得する(ステップS303)。
次に、投機実行手段123は、バッチジョブ実行部132に実行状況(実行進捗状況)に基づき、ジョブフローにおける分岐または正規実行内容に基づいて、投機実行がキャンセルされていないかを確認する(ステップS304)。
ここで、バッチジョブ実行部132における通常実行内で投機実行処理がキャンセルされていた場合はステップS303に戻る。
また、投機実行処理がキャンセルされていない場合、投機実行手段123は、投機実行数の設定値に1加算(カウントアップ)すると共に、実行順序テーブルに基づき各ジョブのコンテキスト非依存部分の投機実行を順次行う(ステップS306)。
これにより、投機実行手段123(331)は、先行実行可能なコンテキスト非依存部分を予め設定された実行タイミングより早く実行することができるので、正規実行部13で実行されるバッチ処理時間を有効に短縮化することができ、更には、遊休リソースを有効活用することができる。
次に、投機実行手段123は、バッチジョブ実行部132に対して、対象ジョブの投機実行を開始したことを示す投機実行開始情報を通知する(ステップS307)と共に、実行順序テーブル記憶部133から投機実行を行ったジョブエントリを削除する(ステップS308)。
これにより、投機実行手段123およびバッチジョブ実行部132それぞれで同一のジョブが2重に実行されるのを抑制することができる。
更に、投機実行手段123は、対象ジョブの投機実行が完了した場合に(投機実行処理が完了した対象ジョブがある場合)、バッチジョブ実行部132に対して投機実行が完了したことを示す投機実行完了情報を通知する。
ここで、異なる複数のジョブ(対象ジョブ)の投機実行が完了している場合は、投機実行手段123は、各対象ジョブに対応した投機実行完了情報を通知する。これに対して、バッチジョブ実行部132は、投機実行完了情報に基づき、実行順序テーブル記憶部133から投機実行が完了したジョブエントリを削除する。
また、投機実行手段123は、対象ジョブの投機実行結果を実行結果テーブル記憶部133に格納すると共に、投機実行数(実行可能数)を投機実行が完了した数だけ下げる(ステップS309)。
次いで、投機実行手段123は、再び、投機実行数が予め設定された最大投機実行数を超えているか否かの判定を行う(ステップS301に戻る)。
以上のように、先行実行可能なコンテキスト非依存部分と先行実行不可能なコンテキスト依存部分とを分けて定義することで、コンテキスト非依存部分を投機実行できるため、遊休リソースを有効活用でき、システム全体のバッチ処理を迅速化することができる。
時間を短縮することができる。
また、投機実行により、実際のバッチジョブの開始時刻よりも早くリソース使用ができる機会が回ってくるので、全体としてリソースの利用効率が向上し、リソース使用のピークを分散させることができ、これにより、システムの処理キャパシティを向上させることが可能となる。
投機実行により、リソース使用を分散させ、投機実行条件を指定することにより、依存関係やリソースの条件を指定できるため、負荷やリソース使用を考慮した柔軟なバッチジョブ設計が可能となり、バッチジョブの設計の柔軟性が向上させることができる。
本発明は、ネットワークを介して接続されたコンピュータにより異なる複数のバッチジョブの処理を行うネットワーク分散型コンピュータシステムに対して有用に適用することができる。
1 ジョブ実行制御システム(コンピュータシステム)
2,3 ジョブ実行制御装置
11 リソース管理部
12 投機実行部
13 正規実行部
121 実行順序予測手段
122 実行順序補正手段
123,331 投機実行手段
124 予測情報テーブル記憶部
125,332 実行順序テーブル記憶部
131 バッチジョブ定義格納部
132 バッチジョブ実行部
133 実行結果記憶部

Claims (7)

  1. ジョブの実行順番を示すバッチジョブ情報に基づき前記ジョブの実行を制御するジョブ実行制御部と、前記ジョブの実行用に予め設定された実行用リソースの動作を監視すると共に前記実行用リソースの使用状況を示すリソース使用状況情報を生成するリソース監視部とを備えたジョブ実行管理システムであって、
    前記バッチジョブ情報内に予め設定されたジョブ定義情報に基づき前記実行順番に依らず実行可能な先行実行ジョブを抽出する先行実行ジョブ抽出手段と、
    前記抽出された各先行実行ジョブの実行タイミングが前記バッチジョブ情報に予め設定された実行タイミングより早い実行タイミングを先行実行順序として設定する先行実行順序設定手段と、
    前記実行用リソースのうちの実行待機状態にある遊休リソースを前記リソース使用状況情報に基づき特定する遊休リソース特定手段と、
    前記先行実行順序に基づき前記先行実行ジョブを前記遊休リソースを利用して実行する投機実行制御手段とを備えたことをジョブ実行管理システム。
  2. 請求項1に記載のジョブ実行管理システムにおいて、
    前記ジョブ実行制御部による前記ジョブの実行進捗状態に基づき前記先行実行ジョブが実行可能な実行タイミングを示す先行実行条件を設定する先行実行条件設定手段と、
    前記先行実行条件に基づき前記先行実行順序に設定された前記先行実行ジョブの実行順序を更新設定する先行実行順序更新手段とを備えたことを特徴とするジョブ実行管理システム。
  3. 請求項2に記載のジョブ実行管理システムにおいて、
    先行実行順序更新手段が、前記前記リソース使用状況情報に基づいて設定された前記先行実行ジョブの実行順序を更新設定するリソース実行順序更新機能を備えたことを特徴とするジョブ実行管理システム。
  4. 請求項1に記載のジョブ実行管理システムにおいて、
    前記投機実行制御手段は、前記先行実行ジョブの実行回数をカウントすると共に、当該実行回数が予め設定された上限実行回数に達した場合に、前記先行実行ジョブの実行を抑制する実行回数抑制手段を備えたことを特徴とするジョブ実行管理システム。
  5. 請求項1に記載のジョブ実行管理システムにおいて、
    前記ジョブ実行制御部による前記ジョブの実行進捗状態に基づき前記投機実行制御手段による前記先行実行ジョブの実行をキャンセルする先行実行キャンセル手段を備え、
    前記投機実行制御手段は、先行実行キャンセル手段にアクセスを行い、前記先行実行ジョブのキャンセルがないことが確認された場合に、前記先行実行ジョブの実行を行うキャンセル確認機能を備えたことを特徴とするジョブ実行管理システム。
  6. ジョブの実行順番を示すバッチジョブ情報に基づき前記ジョブの実行を制御するジョブ実行制御部と、前記ジョブの実行に利用される実行用リソースの動作を監視すると共に前記実行用リソースの使用状況を示すリソース使用状況情報を生成するリソース監視部とを備えたジョブ実行管理システムにあって、前記ジョブの実行を行うジョブ実行管理方法であって、
    前記バッチジョブ情報内に予め設定されたジョブ定義情報に基づき前記実行順番に依らず実行可能な先行実行ジョブを抽出し、前記抽出された各先行実行ジョブの実行タイミングが予め設定された前記バッチジョブ情報の実行タイミングより早い実行タイミングを先行実行順序として設定し、前記実行用リソースのうちの実行待機状態にある遊休リソースを前記リソース使用状況情報に基づき特定し、前記先行実行順序に基づき前記先行実行ジョブを前記遊休リソースを利用して実行することを特徴としたジョブ実行管理方法。
  7. ジョブの実行順番を示すバッチジョブ情報に基づき前記ジョブの実行を制御するジョブ実行制御部と、前記ジョブの実行用に予め設定された実行用リソースの動作を監視すると共に前記実行用リソースの使用状況を示すリソース使用状況情報を生成するリソース監視部とを備えたジョブ実行管理システムにあって、前記ジョブの実行を行うためのジョブ実行管理プログラムであって、
    前記バッチジョブ情報内に予め設定されたジョブ定義情報に基づき前記実行順番に依らず実行可能な先行実行ジョブを抽出する先行実行ジョブ抽出機能と、
    前記抽出された各先行実行ジョブの実行タイミングが予め設定された前記バッチジョブ情報の実行タイミングより早い実行タイミングを先行実行順序として設定する先行実行順序設定機能と、
    前記実行用リソースのうちの実行待機状態にある遊休リソースを前記リソース使用状況情報に基づき特定する遊休リソース特定機能と、
    前記先行実行順序に基づき前記先行実行ジョブを前記遊休リソースを利用して実行する
    投機実行制御機能とを予め設定されたコンピュータに実行させることを特徴としたジョブ実行管理プログラム。
JP2009163835A 2009-07-10 2009-07-10 ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム Expired - Fee Related JP5444900B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009163835A JP5444900B2 (ja) 2009-07-10 2009-07-10 ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009163835A JP5444900B2 (ja) 2009-07-10 2009-07-10 ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム

Publications (2)

Publication Number Publication Date
JP2011018281A true JP2011018281A (ja) 2011-01-27
JP5444900B2 JP5444900B2 (ja) 2014-03-19

Family

ID=43596002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009163835A Expired - Fee Related JP5444900B2 (ja) 2009-07-10 2009-07-10 ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム

Country Status (1)

Country Link
JP (1) JP5444900B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011096110A (ja) * 2009-10-30 2011-05-12 Toshiba Corp ジョブネット制御プログラムおよびジョブネット制御装置
JP2012190355A (ja) * 2011-03-11 2012-10-04 Nec Corp バッチ処理システム、及びバッチ処理方法
JP2012203732A (ja) * 2011-03-25 2012-10-22 Toshiba Corp ジョブ実行システム及びプログラム
US11030010B2 (en) 2017-10-31 2021-06-08 Hitachi, Ltd. Processing storage management request based on current and threshold processor load using request information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844574A (ja) * 1994-07-29 1996-02-16 Nec Corp ジョブ運転管理装置
JP2007140791A (ja) * 2005-11-16 2007-06-07 Mizuho Information & Research Institute Inc ジョブ実行管理方法、ジョブ実行管理システム及びジョブ実行管理プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844574A (ja) * 1994-07-29 1996-02-16 Nec Corp ジョブ運転管理装置
JP2007140791A (ja) * 2005-11-16 2007-06-07 Mizuho Information & Research Institute Inc ジョブ実行管理方法、ジョブ実行管理システム及びジョブ実行管理プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011096110A (ja) * 2009-10-30 2011-05-12 Toshiba Corp ジョブネット制御プログラムおよびジョブネット制御装置
JP2012190355A (ja) * 2011-03-11 2012-10-04 Nec Corp バッチ処理システム、及びバッチ処理方法
JP2012203732A (ja) * 2011-03-25 2012-10-22 Toshiba Corp ジョブ実行システム及びプログラム
US11030010B2 (en) 2017-10-31 2021-06-08 Hitachi, Ltd. Processing storage management request based on current and threshold processor load using request information

Also Published As

Publication number Publication date
JP5444900B2 (ja) 2014-03-19

Similar Documents

Publication Publication Date Title
JP5120061B2 (ja) 優先度制御プログラム、優先度制御装置、及び優先度制御方法
JP5245722B2 (ja) スケジューラ、プロセッサシステム、プログラム生成装置およびプログラム生成用プログラム
US9858115B2 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
EP1750200A2 (en) System and method for executing job step, and computer product
WO2013157244A1 (ja) タスク配置装置、タスク配置方法、および、コンピュータ・プログラム
WO2011148563A1 (ja) 情報処理システム
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
CN104199739B (zh) 一种基于负载均衡的推测式Hadoop调度方法
US20120284720A1 (en) Hardware assisted scheduling in computer system
US8539495B2 (en) Recording medium storing therein a dynamic job scheduling program, job scheduling apparatus, and job scheduling method
US20130097382A1 (en) Multi-core processor system, computer product, and control method
JP5444900B2 (ja) ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム
JP2007188523A (ja) タスク実行方法およびマルチプロセッサシステム
JP2007316710A (ja) マルチプロセッサシステム、ワークロード管理方法
US9740530B2 (en) Decreasing the priority of a user based on an allocation ratio
JP2012181578A (ja) 更新制御装置及びプログラム
Sudarsan et al. Scheduling resizable parallel applications
KR101771183B1 (ko) 인메모리 캐시를 관리하는 방법
KR101771178B1 (ko) 인메모리 캐시를 관리하는 방법
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
Guo et al. A data distribution aware task scheduling strategy for mapreduce system
JP2010186347A (ja) ジョブスケジューリングシステム、ジョブスケジューリング方法及びプログラム
CN107562527B (zh) 一种rtos上的smp的实时任务调度方法
JP5417626B2 (ja) 管理計算機、ジョブスケジューリング方法及びジョブスケジューリングプログラム
JP2010009288A (ja) マルチプロセッサシステム及びプログラム実行方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131209

R150 Certificate of patent or registration of utility model

Ref document number: 5444900

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees