JP2004094422A - チェックポイント情報採取方法及びその実施装置並びにその処理プログラム - Google Patents

チェックポイント情報採取方法及びその実施装置並びにその処理プログラム Download PDF

Info

Publication number
JP2004094422A
JP2004094422A JP2002252305A JP2002252305A JP2004094422A JP 2004094422 A JP2004094422 A JP 2004094422A JP 2002252305 A JP2002252305 A JP 2002252305A JP 2002252305 A JP2002252305 A JP 2002252305A JP 2004094422 A JP2004094422 A JP 2004094422A
Authority
JP
Japan
Prior art keywords
job
checkpoint
information
collection
time
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
Application number
JP2002252305A
Other languages
English (en)
Inventor
Kenji Matsui
松井 謙治
Kazumasa Tobe
戸部 和政
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002252305A priority Critical patent/JP2004094422A/ja
Publication of JP2004094422A publication Critical patent/JP2004094422A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)

Abstract

【課題】チェックポイント情報の採取によるジョブの実行時間の増大を抑制することが可能な技術を提供する。
【解決手段】障害発生時のジョブのリスタートを行う為のチェックポイント情報をジョブの実行中に採取するチェックポイント情報採取方法において、ジョブ管理キューにて管理されるジョブの実行を行うステップと、前記実行の行われているジョブの実行時間と、当該ジョブにおけるチェックポイント情報の採取に要した合計時間であるチェックポイント処理時間とを比較し、前記ジョブの実行時間に対するチェックポイント処理時間の割合が、当該チェックポイント情報の採取を決定する為の所定の値以下である場合に当該ジョブのチェックポイント情報を採取するステップとを有するものである。
【選択図】    図1

Description

【0001】
【発明の属する技術分野】
本発明は障害が発生した場合に、最後に採取したジョブのチェックポイント情報を用いてチェックポイント情報の採取時点からジョブ実行をリスタートできる様に、ジョブ内からチェックポイント関数を呼び出し、チェックポイント情報を採取する計算機システムに関し、特にチェックポイント情報の採取により、ジョブの実行時間が増大することを抑制する様にチェックポイント情報の採取を決定する計算機システムに適用して有効な技術に関するものである。
【0002】
【従来の技術】
計算機システム上で、ある一連の処理を行うプログラムの集合(ジョブ)の実行中に、計算機システムに何らかの障害が発生して、ジョブの実行が継続不可能となった場合、通常は、その計算機システムを復旧させた後、ジョブを最初からやり直す。ところが、ジョブを最初からやり直すのでは、計算機システムの障害発生前に行ったジョブの実行が無駄となる。特に、長期間動き続けるジョブでは、非常に損失が大きい。
【0003】
そこで、従来から、計算機で動作中のジョブの実行状態に関する情報(ジョブを構成するプロセスのレジスタ内容やメモリ内容等の資源情報、ジョブ内の各プロセスが使用していたファイルのデータ等)を採取し、これらの情報を二次記憶装置や外部の大容量記憶装置に保存する処理が行われている。
【0004】
計算機システムに何らかの障害が発生してジョブの実行が継続不可能となった場合、前述の様にジョブの実行状態に関する情報を保存していれば、障害が発生する直前に保存処理を行った時点からジョブを再開することができ、システム障害の影響を最小限に抑えることができる。
【0005】
この様に、ある時点の状態からジョブを再開できる様に保存するジョブの実行状態に関する情報をチェックポイント情報と呼び、保存する処理をチェックポイント情報の採取と呼ぶ。また、システム障害後にジョブを再開することをジョブのリスタートと呼ぶ。
【0006】
このチェックポイント情報の採取を指定する方法として、例えば、E.N.Elnozahy、D.B.Johnson、Y.M.Wang著:A Survey of Rollback−Recovery Protocols in Message−Passing Systems(Technical Report CMU−CS−96−181、Department of Computer Science、Carnegie Mellon University、1996)に示してある様に、ある時間間隔で定期的に採取する方法がある。
【0007】
また、例えば、V.Naik、S.Midlkiff、J.Moreira著:A Checkpointing Strategy for ScalableRecovery on Distributed Parallel Systems(SC’97、1997)に示してある様に、ジョブ内からチェックポイント情報の採取を指定する関数(これを、チェックポイント関数と呼ぶ)を呼び出した場合に採取する方法がある。
【0008】
ある時間間隔で定期的にチェックポイント情報を採取する方法では、例えば、ジョブの処理に関係なく行う為、通信処理中やファイルI/O中等、チェックポイント情報の採取が困難な時点での採取を試みることにより、チェックポイント情報の採取に要する時間が増加する様なことが考えられる。これに対し、チェックポイント関数を呼び出す場合にチェックポイント情報を採取する方法では、前記処理の実行中には、ジョブ内でチェックポイント関数を呼び出さない様にユーザにより指定が可能であるといった利点が考えられる。
【0009】
【発明が解決しようとする課題】
しかしながら前記従来技術において、むやみにチェックポイント関数を呼び出した場合、チェックポイント情報の採取に要する時間が増大し、ジョブ実行時間が増大する為、チェックポイント関数をユーザ指定により呼び出す方法では、ジョブ内でチェックポイント関数を呼び出す個所を決定する際に、ジョブの処理時間やチェックポイント情報の採取に要する時間をも考慮する必要があるといった問題があった。
【0010】
本発明の目的は上記問題を解決し、ジョブ内でチェックポイント関数を呼び出す個所を決定する場合に、ジョブの処理時間やチェックポイント情報の採取に要する時間を考慮する必要を無くし、チェックポイント情報の採取によるジョブの実行時間の増大を抑制することが可能な技術を提供することにある。
【0011】
【課題を解決するための手段】
本発明は、障害発生時のジョブのリスタートを行う為のチェックポイント情報をジョブの実行中に採取する計算機システムにおいて、ジョブの実行時間に対するチェックポイント処理時間の割合が所定の値以下である場合にチェックポイント情報を採取するものである。
【0012】
本発明では、ジョブ管理キューにて管理されるジョブの実行を開始し、そのジョブからチェックポイント関数が呼び出されると、その実行の行われているジョブの実行時間を取得した後、当該ジョブにおいてこれまで行われたチェックポイント情報の採取に要した時間の合計であるチェックポイント処理時間を取得し、それらの時間を比較する。そして、前記ジョブの実行時間に対するチェックポイント処理時間の割合が、当該チェックポイント情報の採取を決定する為の所定の値以下であるかどうかを調べ、前記所定の値以下である場合には当該ジョブのチェックポイント情報を採取する。そして、そのチェックポイント情報の採取に要した時間を前記チェックポイント処理時間に加算し、チェックポイント情報の採取に要した合計時間を更新する。
【0013】
ここで、ユーザによって指定された値をチェックポイント採取閾値として設定しておき、前記ジョブの実行時間とチェックポイント処理時間とを比較する際に、そのチェックポイント採取閾値を前記チェックポイント情報の採取を決定する為の所定の値として用いることとしても良い。
【0014】
また、前記チェックポイント情報の採取を決定する為の所定の値を、チェックポイント採取閾値の増減値表中の増減値に応じて変更するものとし、例えば運用時間、ジョブ実行数またはジョブ実行時間によってチェックポイント採取閾値を増減させ、前記所定の値を変更するものとしても良い。
【0015】
以上の様に本発明の計算機システムによれば、ジョブの実行時間に対するチェックポイント処理時間の割合が所定の値以下である場合にチェックポイント情報を採取するので、ジョブ内でチェックポイント関数を呼び出す個所を決定する場合に、ジョブの処理時間やチェックポイント情報の採取に要する時間を考慮する必要を無くし、チェックポイント情報の採取によるジョブの実行時間の増大を抑制することが可能である。
【0016】
【発明の実施の形態】
以下に障害発生時のジョブのリスタートを行う為のチェックポイント情報をジョブの実行中に採取する一実施形態の計算機システムについて説明する。
【0017】
図1は本実施形態のジョブの実行時間とジョブのチェックポイント情報の採取時間の関係を示す図である。本実施形態のジョブから呼び出されるチェックポイント関数では、後述の様に、ジョブの実行時間とチェックポイント採取処理に要した時間から、チェックポイント採取処理に要した時間の割合を求め、チェックポイント情報を採取するかどうかを決定する。
【0018】
図1のT1、T2、T3、T4、T5は各チェックポイント関数の呼び出し時のジョブの実行時間を示し、τ1、τ2、τ3、τ4、τ5は、各チェックポイント関数の処理時間を示している。
【0019】
1、4回目のチェックポイント関数の呼び出しでは、後述の様に、チェックポイント採取処理に要した時間の割合を、各々、0/T1、及び、(τ1+τ2+τ3)/T4によって求め、この場合では、チェックポイント情報の採取を行う。
【0020】
2、3、5回目のチェックポイント関数の呼び出しでは、後述の様に、チェックポイント採取処理に要した時間の割合を、各々、τ1/T2、(τ1+τ2)/T3、(τ1+τ2+τ3+τ4)/T5によって求め、この場合では、その割合が高いので、チェックポイント情報の採取を行わない。
【0021】
この様に本実施形態では、チェックポイント関数の呼び出しの頻度が高い場合に、ジョブのチェックポイント情報の採取によるジョブ実行時間の増大を抑制している。
【0022】
図2は本実施形態のジョブを構成するプログラムの一例を示す図である。図2では、チェックポイント関数をCKPT()にて示しており、繰り返し毎にチェックポイント関数を呼び出すプログラムの例を表している。
【0023】
図3は本実施形態の計算機システムの概略構成を示す図である。図3に示す様に本実施形態の計算機システム1は、ジョブ実行部2と、チェックポイント情報採取部3と、リスタート処理部4とを有している。
【0024】
ジョブ実行部2は、ジョブ管理キューにて管理されるジョブの実行を行う処理部である。チェックポイント情報採取部3は、ジョブ実行部2により実行の行われているジョブからのチェックポイント関数呼び出しに応じて、当該ジョブの実行時間と、そのジョブにおけるチェックポイント情報の採取に要した合計時間であるチェックポイント処理時間とを比較し、前記ジョブの実行時間に対するチェックポイント処理時間の割合が、当該チェックポイント情報の採取を決定する為の所定の値以下である場合に当該ジョブのチェックポイント情報を採取してチェックポイント情報5に保存する処理部である。リスタート処理部4は、計算機システム1の障害発生後に、チェックポイント情報5からチェックポイント採取時の情報を取得して、ジョブのリスタートを行う処理部である。
【0025】
計算機システム1をジョブ実行部2、チェックポイント情報採取部3及びリスタート処理部4として機能させる為のプログラムは、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はCD−ROM以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【0026】
また計算機システム1は、チェックポイント情報5と、チェックポイント関連情報6と、ジョブ管理キュー7と、ジョブ情報10、11、1Nと、CPU101と、メモリ102と、磁気ディスク装置103と、入力装置104と、出力装置105と、CD−ROM装置106と、通信装置107とを有している。
【0027】
チェックポイント情報5は、チェックポイント情報採取部3によって採取された情報を保持するデータであり、リスタート処理部4からの要求により伝達されるものである。チェックポイント関連情報6は、ジョブのチェックポイントに関する情報を保持するデータであり、図9、図11、図13に示す閾値増減表を含む情報である。
【0028】
ジョブ管理キュー7は、計算機システム1において実行されるジョブを管理するキューであり、実行される複数個のジョブの情報であるジョブ情報10、11、1Nを含むものである。ジョブ情報10、11、1Nは、使用するメモリ等の資源情報、ジョブ実行時間等の各ジョブの情報である。
【0029】
CPU101は、計算機システム1全体の動作を制御する装置である。メモリ102は、計算機システム1全体の動作を制御する際にその為の各種処理プログラムやデータをロードする記憶装置である。磁気ディスク装置103は、前記各種処理プログラムやデータを格納しておく記憶装置である。
【0030】
入力装置104は、ユーザ指定のチェックポイント採取閾値等を設定する為の各種入力を行う装置である。出力装置105は、ジョブの実行やチェックポイント情報の採取等に伴う各種出力を行う装置である。
【0031】
CD−ROM装置106は、前記各種処理プログラムを記録したCD−ROMの内容を読み出す装置である。通信装置107は、ネットワークを介して他の処理装置との通信を行う装置である。
【0032】
図4は第1の実施形態におけるジョブ情報10の例を示す図である。本実施形態のジョブ情報10は、一つのジョブに対して一つあり、ジョブ管理キュー7において管理されており、図4に示す様に第1の実施形態におけるジョブ情報10は、そのジョブが使用する計算機資源の内容を示す計算機資源情報20と、そのジョブの実行時間を示すジョブ実行時間30と、そのジョブにおけるチェックポイント情報の採取に要した合計時間を示すチェックポイント処理時間40を保持している。
【0033】
図6は第2及び第3の実施形態におけるジョブ情報10の例を示す図である。図6に示す様に第2及び第3の実施形態におけるジョブ情報10は、そのジョブが使用する計算機資源を示す計算機資源情報20、ジョブ実行時間30、チェックポイント処理時間40、及び、チェックポイント採取閾値50を保持する。
【0034】
ジョブ使用の計算機資源情報20は、当該ジョブが使用する計算機資源に関する情報であり、例えば、レジスタの状態、使用メモリ領域等の情報を格納している。
【0035】
ジョブ実行時間30は、ジョブ実行部2において、当該ジョブを実行した時間の合計を格納している。ジョブ実行時間30は、ジョブの生成時に、「0」に初期化される。また、チェックポイント情報に保存され、ジョブのリスタート時には、チェックポイント情報に保存されたジョブ実行時間に設定される。なお、本実施形態においては、ジョブ実行時間30は、後述のチェックポイント処理時間40の時間を含んでいるものとする。
【0036】
チェックポイント処理時間40は、当該ジョブのチェックポイント情報の採取に要した時間の合計を格納している。チェックポイント処理時間40は、ジョブの生成時に、「0」に初期化される。また、チェックポイント情報として保存され、ジョブのリスタート時には、チェックポイント情報に保存したチェックポイント処理時間に設定される。
【0037】
チェックポイント採取閾値50は、チェックポイント情報採取部3において使用され、チェックポイント情報を採取する、または、採取しないを決める為に使用する値を保持している。チェックポイント採取閾値50は、第2または第3の実施形態において使用し、チェックポイント情報採取部3に設けるチェックポイント採取閾値の設定処理により設定される。また、チェックポイント情報として保存され、ジョブのリスタート時には、チェックポイント情報に保存したチェックポイント採取閾値に設定される。
【0038】
次に本発明の第1の実施形態を図3、図4、図5を用いて説明する。
ユーザの指示等により生成するジョブは、ジョブ管理キュー7により管理されるジョブ情報10を持ち、ジョブ実行部2において実行される。ジョブ実行部2は、ジョブの生成時に、図4に示すジョブ情報10のジョブ実行時間30及びチェックポイント処理時間40を「0」に初期化した後、ジョブの実行を開始させ、実行中のジョブが、タイムスライスを使い切った場合には当該ジョブの実行を中断し、次に実行するジョブをジョブ管理キュー7から決定し、そのジョブにCPUを割り当てて実行する。
【0039】
ジョブの中断時には、当該ジョブのジョブ情報10におけるジョブ実行時間30に、今回のCPUの割り当てで使用した時間を加算していく。これは、例えば、A.S.Tanenbaum著:Modern Operating System(引地信行、引地恵美子訳:OSの基礎と応用(株式会社トッパン、1995年発行))の第253頁に示してある様に、ジョブのCPU割り当て時に時刻を取得し、また、ジョブの中断時に時刻を取得し、CPU割り当て時の時刻と中断時の時刻の差を求め、それまでのジョブ実行時間30に加算することで実現できる。
【0040】
ジョブ内からチェックポイント関数を呼び出した場合、チェックポイント情報採取部3において、当該ジョブのリスタートに必要な情報(例えば、ジョブを構成するプロセスのメモリ内容等)をチェックポイント情報5に保存する。
【0041】
計算機システム1に何らかの障害が発生した場合、システムの復旧後に、リスタート処理部4において、チェックポイント情報5より、障害が発生する直前に保存を行ったチェックポイント情報を取得し、その時点からジョブをリスタートする。
【0042】
図5は第1の実施形態のジョブ内から呼び出されるチェックポイント関数の処理手順を示すフローチャートである。第1の実施形態において実行中のジョブ内からチェックポイント関数が呼び出されると、ステップ501でチェックポイント情報採取部3は、チェックポイント関数の呼び出し時までの当該ジョブの実行時間(これをTsとする)を求め、処理をステップ502へ移す。ここでTsを求める処理は、前述のジョブの実行時間の求める方法において当該ジョブがCPUに割り当てられた時刻を求めているので、その時刻と、チェックポイント関数呼び出し時の時刻の差によって行うことができる。
【0043】
ステップ502では、当該ジョブのチェックポイント情報の採取に要した時間(これをTcとする)を取得し、処理をステップ503へ移す。ここでTcは、ジョブ情報10のチェックポイント処理時間40を読み出すことで取得されるものとする。
【0044】
ステップ503では、その時点での当該ジョブのジョブ実行時間とチェックポイント処理時間の割合を求め、所定の値を超えているかを判定する。本実施形態においては、ジョブ実行時間にチェックポイント処理時間を含めるので、当該割合は、ステップ501とステップ502で求めたTs及びTcを用いてTc/Tsにより求める。なお、「A/B」はAをBで割った商を示すものとする。また、このステップにおいては、一例として、チェックポイント処理に要した割合が10%を超えているかの判定を行うものとする。
【0045】
ステップ503で判定した結果、Tc/Tsが10%を超えていない場合には処理をステップ504へ移し、Tc/Tsが10%を超えている場合には、処理をステップ505へ移す。
【0046】
ステップ504では、当該ジョブのチェックポイント情報を採取し、処理をステップ505へ移す。
ステップ505では、当該ジョブのチェックポイント関数終了前までの実行時間(これをTeとする)を求め、処理をステップ506へ移す。Teは、ステップ501におけるTsと同様にして求めることができる。
【0047】
ステップ506では、このチェックポイント関数に要した時間を、当該ジョブのジョブ情報10のチェックポイント処理時間40に加算して、処理を終了する。これは、前記ステップまでに求めたTs、Tc、Teを用いて、当該ジョブのジョブ情報10のチェックポイント処理時間40に、(Tc+Te−Ts)を格納することで実現できる。なぜならば、(Te−Ts)は、当該チェックポイント関数に要した時間を示しており、Tcは、当該チェックポイント関数の呼び出し前までに、当該ジョブのチェックポイント情報の採取に要した時間を示している為である。
【0048】
次に本発明の第2の実施形態を図3、図6、図7、図8を用いて説明する。
第2の実施形態は、第1の実施形態においてチェックポイント情報の採取において使用した、閾値の指定を可能とするものであり、ジョブの実行の形態は第1の実施形態と同一である。
【0049】
第2の実施形態では、チェックポイント情報の採取に使用する閾値を指定可能とする為、チェックポイント情報採取部3に、チェックポイント採取閾値設定処理を設ける。また、ジョブ情報10に当該閾値を保存する為、ジョブ情報10は、図6に示す様にチェックポイント採取閾値50を具備する。
【0050】
チェックポイント採取閾値設定処理では、ユーザが指定した値を、閾値としてジョブ情報10のチェックポイント採取閾値50に設定する処理を行う。閾値の設定は、例えば、ジョブの実行開始の際にユーザの指定により行うことが可能であるし、また、チェックポイント関数の呼び出しの都度に行うことも可能である。また、予めシステムによって決定しておき、ジョブの生成時にチェックポイント採取閾値の設定処理により行うことも可能である。
【0051】
図7は第2の実施形態のチェックポイント採取閾値設定処理の処理手順を示すフローチャートである。ステップ701でチェックポイント情報採取部3は、ユーザが指定した値を、ジョブ情報10のチェックポイント採取閾値50に設定し、処理を終了する。
【0052】
図8は第2の実施形態のチェックポイント関数の処理手順を示すフローチャートである。第2の実施形態において実行中のジョブ内からチェックポイント関数が呼び出されると、ステップ801でチェックポイント情報採取部3は、チェックポイント関数の呼び出し時までの当該ジョブの実行時間(これをTsとする)を求め、処理をステップ802へ移す。
【0053】
ステップ802では、当該ジョブのチェックポイント情報の採取に要した時間(これをTcとする)を、ジョブ情報10のチェックポイント処理時間40から取得し、処理をステップ803へ移す。
【0054】
ステップ803では、チェックポイント採取閾値(これをRthとする)を、ジョブ情報10のチェックポイント採取閾値50から取得し、処理をステップ804へ移す。
【0055】
ステップ804では、その時点での当該ジョブのジョブ実行時間とチェックポイント処理時間の割合を求め、チェックポイント採取閾値を超えているかを判定する。これはTc/TsとRthを比較することで行うことができる。Tc/TsがRthを超えていない場合には処理をステップ805へ移し、Tc/TsがRthを超えている場合には処理をステップ806へ移す。
【0056】
ステップ805では、当該ジョブのチェックポイント情報を採取し、処理をステップ806へ移す。
ステップ806では、当該ジョブのチェックポイント関数終了前までの実行時間(これをTeとする)を求め、処理をステップ807へ移す。
【0057】
ステップ807では、このチェックポイント関数に要した時間を、当該ジョブのジョブ情報10のチェックポイント処理時間40に加算する、すなわち、(Tc+Te−Ts)を設定して、処理を終了する。
【0058】
次に、本発明の第3の実施形態を図3、図6、図7、図9、図10、図11、図12、図13、図14を用いて説明する。
第3の実施形態では、第2の実施形態と同様に、ジョブ情報10は、図6のチェックポイント採取閾値50を具備しているものとする。ジョブ情報10のチェックポイント採取閾値50の設定は、第2の実施形態と同じく、図7のフローチャートに示したチェックポイント採取閾値設定処理により行える。
【0059】
第3の実施形態は、第2の実施形態において使用したチェックポイント情報の採取を決定する割合の閾値を、所定の表を参照することで変更可能とするものである。当該閾値を変更する方法としては、例えば、システムの運用状況に応じて変更する、計算機システムで実行されるジョブ数に応じて変更する、ジョブの実行時間に応じて変更する等が考えられる。
【0060】
図9、図10は、システムの運用状況に応じて閾値を変更する方法を示している。システムの運用状況に応じて閾値を変更する方法は、例えば、昼は対話型でシステムを運用し、夜はバッチ型でシステムを運用する場合に、それぞれの運用形態で、チェックポイント採取閾値を増減する様な目的で使用できる。
【0061】
図9は第3の実施形態の運用時間によるチェックポイント採取閾値の増減値を格納した、運用時間によるチェックポイント採取閾値の増減値表の一例を示す図である。図9の運用時間によるチェックポイント採取閾値の増減値表90は、計算機システム1のチェックポイント関連情報6に具備されているものとする。
【0062】
運用時間によるチェックポイント採取閾値の増減値表90は、時刻の範囲指定とチェックポイント採取閾値の増減値を格納する行91、92、9Nから構成されている。時刻の範囲指定は、対応するチェックポイント採取閾値の増減値を使用する時刻の範囲を示し、チェックポイント採取閾値の増減値は、対応する時刻の範囲指定の時刻にて使用する閾値の増減値を示し、「0」、正または負の値で増減させる割合を示すものとする。
【0063】
図9に示す例において、行91は、時刻08:00から時刻17:00では、閾値を50%増加させ、行92は、時刻17:00から時刻22:00では、閾値を変化させないことを示している。
【0064】
図10は第3の実施形態においてシステムの運用状況に応じて閾値を変更する場合のチェックポイント関数の処理手順を示すフローチャートである。第3の実施形態において実行中のジョブ内からチェックポイント関数が呼び出されると、ステップ1001でチェックポイント情報採取部3は、チェックポイント関数の呼び出し時までの当該ジョブの実行時間(これをTsとする)を求め、処理をステップ1002へ移す。
【0065】
ステップ1002では、当該ジョブのチェックポイント情報の採取に要した時間(これをTcとする)を、ジョブ情報10のチェックポイント処理時間40から取得し、処理をステップ1003へ移す。
【0066】
ステップ1003では、チェックポイント採取閾値(これをRthとする)を、ジョブ情報10のチェックポイント採取閾値50から取得し、処理をステップ1004へ移す。
【0067】
ステップ1004では、チェックポイント関連情報6に保持されているチェックポイント採取閾値の増減値表90を参照し、この時点の時刻における増減値(これをSthとする)を取得し、処理をステップ1005へ移す。
【0068】
ステップ1005では、その時点での当該ジョブのジョブ実行時間とチェックポイント処理時間の割合を求め、チェックポイント採取閾値を超えているかを判定する。
【0069】
この場合、チェックポイント採取閾値は、当該ジョブのジョブ情報10のチェックポイント採取閾値50のみでなく、ステップ1004において求めたチェックポイント採取閾値の増減値も加味する。すなわち、Tc/Tsと(Rth+Sth)を比較することで前記判定を行い、Tc/Tsが(Rth+Sth)を超えていない場合には、処理をステップ1006へ移し、Tc/Tsが(Rth+Sth)を超えている場合には、処理をステップ1007へ移す。
【0070】
ステップ1006では、当該ジョブのチェックポイント情報を採取し、処理をステップ1007へ移す。
ステップ1007では、当該ジョブのチェックポイント関数終了前までの実行時間(これをTeとする)を求め、処理をステップ1008へ移す。
ステップ1008では、このチェックポイント関数に要した時間を、当該ジョブのジョブ情報10のチェックポイント処理時間40に加算する、すなわち、(Tc+Te−Ts)を設定して、処理を終了する。
【0071】
また図11、図12は、計算機システムで実行されるジョブ数に応じて閾値を変更する方法を示している。ジョブ数に応じて閾値を変更する方法は、例えば、計算機システムで実行されるジョブ数が多い場合には、システム負荷の増加により、システム障害が発生する可能性が増えることを懸念して、チェックポイント採取の割合を変更すること等で使用できる。
【0072】
図11は第3の実施形態のジョブ数に応じたチェックポイント採取閾値の増減値を格納した、ジョブ数に応じたチェックポイント採取閾値の増減値表の一例を示す図である。図11のジョブ数に応じたチェックポイント採取閾値の増減値表110は、計算機システム1のチェックポイント関連情報6に具備されているものとする。
【0073】
ジョブ数に応じたチェックポイント採取閾値の増減値表110は、ジョブ数の範囲指定とチェックポイント採取閾値の増減値を格納する行111、112、11Nから構成されている。ジョブ数の範囲指定は、対応するチェックポイント採取閾値の増減値を使用するジョブの範囲を示し、チェックポイント採取閾値の増減値は、対応するジョブ数の範囲指定のジョブ数にて使用する、閾値の増減値を示し、「0」、正または負の値で増減させる割合を示すものとする。
【0074】
図11に示す例において、行111は、ジョブ数が1個から5個では、閾値を10%減少させ、行112は、ジョブ数が6個から9個では、閾値を10%増加させることを示している。
【0075】
図12は第3の実施形態においてジョブ数に応じて閾値を変更する場合のチェックポイント関数の処理手順を示すフローチャートである。第3の実施形態において実行中のジョブ内からチェックポイント関数が呼び出されると、ステップ1201でチェックポイント情報採取部3は、チェックポイント関数の呼び出し時までの当該ジョブの実行時間(これをTsとする)を求め、処理をステップ1202へ移す。
【0076】
ステップ1202では、当該ジョブのチェックポイント情報の採取に要した時間(これをTcとする)を、ジョブ情報10のチェックポイント処理時間40から取得し、処理をステップ1203へ移す。
【0077】
ステップ1203では、チェックポイント採取閾値(これをRthとする)を、ジョブ情報10のチェックポイント採取閾値50から取得し、処理をステップ1204へ移す。
【0078】
ステップ1204では、ジョブ管理キュー7からジョブ実行数を求め、チェックポイント関連情報6に保持する、チェックポイント採取閾値の増減値表110を参照し、チェックポイント採取閾値の増減値(これをJthとする)を取得し、処理をステップ1205へ移す。
【0079】
ステップ1205では、その時点での当該ジョブのジョブ実行時間とチェックポイント処理時間の割合を求め、チェックポイント採取閾値を超えているかを判定する。
【0080】
この場合、チェックポイント採取閾値は、当該ジョブのジョブ情報10のチェックポイント採取閾値50のみでなく、ステップ1204において求めたチェックポイント採取閾値の増減値も加味する。すなわち、Tc/Tsと(Rth+Jth)を比較することで前記判定を行い、Tc/Tsが(Rth+Jth)を超えていない場合には、処理をステップ1206へ移し、Tc/Tsが(Rth+Jth)を超えている場合には、処理をステップ1207へ移す。
【0081】
ステップ1206では、当該ジョブのチェックポイント情報を採取し、処理をステップ1207へ移す。ステップ1207では、当該ジョブのチェックポイント関数終了前までの実行時間(これをTeとする)を求め、処理をステップ1208へ移す。ステップ1208では、このチェックポイント関数に要した時間を、当該ジョブのジョブ情報10のチェックポイント処理時間40に加算する、すなわち、(Tc+Te−Ts)を設定して、処理を終了する。
【0082】
また図13、図14は、ジョブの実行時間に応じて閾値を変更する方法を示している。ジョブの実行時間に応じて閾値を変更する方法は、例えば、実行時間が少ない場合は、システム障害発生後にジョブを最初から実行しても影響が小さいことから、チェックポイント情報の採取の割合を低くする様なことに使用できる。
【0083】
図13は第3の実施形態のジョブの実行時間に応じたチェックポイント採取閾値の増減値表の一例を示す図である。図13のジョブの実行時間に応じたチェックポイント採取閾値の増減値表130は、計算機システム1のチェックポイント関連情報6に具備されているものとする。
【0084】
ジョブの実行時間に応じたチェックポイント採取閾値の増減値表130は、ジョブの実行時間の範囲指定とチェックポイント採取閾値の増減値を格納する行131、132、13Nから構成されている。
【0085】
ジョブの実行時間の範囲指定は、対応するチェックポイント採取閾値の増減値を使用するジョブの実行時間の範囲を示し、チェックポイント採取閾値の増減値は、対応するジョブの実行時間の範囲で指定されている実行時間にて使用する閾値の増減値を示し、「0」、正または負の値で増減させる割合を示しているものとする。
【0086】
図13に示す例において、行131は、ジョブの実行時間が0時間から10時間では閾値を変化させず、行132は、ジョブの実行時間が10時間から24時間では閾値を10%増加させることを示している。
【0087】
図14は第3の実施形態においてジョブの実行時間に応じて閾値を変更する場合のチェックポイント関数の処理手順を示すフローチャートである。第3の実施形態において実行中のジョブ内からチェックポイント関数が呼び出されると、ステップ1401でチェックポイント情報採取部3は、チェックポイント関数の呼び出し時までの当該ジョブの実行時間(これをTsとする)を求め、処理をステップ1402へ移す。
【0088】
ステップ1402では、当該ジョブのチェックポイント情報の採取に要した時間(これをTcとする)を、ジョブ情報10のチェックポイント処理時間40から取得し、処理をステップ1403へ移す。
【0089】
ステップ1403では、チェックポイント採取閾値(これをRthとする)を、ジョブ情報10のチェックポイント採取閾値50から取得し、処理をステップ1404へ移す。
【0090】
ステップ1404では、ステップ1401で求めたジョブの実行時間を用いて、チェックポイント関連情報6に保持する、チェックポイント採取閾値の増減値表130を参照し、チェックポイント採取閾値の増減値(これをTthとする)を取得し、処理をステップ1405へ移す。
【0091】
ステップ1405では、その時点での当該ジョブのジョブ実行時間とチェックポイント処理時間の割合を求め、チェックポイント採取閾値を超えているかを判定する。
【0092】
この場合、チェックポイント採取閾値は、当該ジョブのジョブ情報10のチェックポイント採取閾値50のみでなく、ステップ1404において求めたチェックポイント採取閾値の増減値も加味する。すなわち、Tc/Tsと(Rth+Tth)を比較することで前記判定を行い、Tc/Tsが(Rth+Tth)を超えていない場合には、処理をステップ1406へ移し、Tc/Tsが(Rth+Tth)を超えている場合には、処理をステップ1407へ移す。
【0093】
ステップ1406では、当該ジョブのチェックポイント情報を採取し、処理をステップ1407へ移す。ステップ1407では、当該ジョブのチェックポイント関数終了前までの実行時間(これをTeとする)を求め、処理をステップ1408へ移す。ステップ1408では、このチェックポイント関数に要した時間を、当該ジョブのジョブ情報10のチェックポイント処理時間40に加算する、すなわち、(Tc+Te−Ts)を設定して、処理を終了する。
【0094】
以上説明した様に本実施形態の計算機システムによれば、ジョブの実行時間に対するチェックポイント処理時間の割合が所定の値以下である場合にチェックポイント情報を採取するので、ジョブ内でチェックポイント関数を呼び出す個所を決定する場合に、ジョブの処理時間やチェックポイント情報の採取に要する時間を考慮する必要を無くし、チェックポイント情報の採取によるジョブの実行時間の増大を抑制することが可能である。
【0095】
【発明の効果】
本発明によればジョブの実行時間に対するチェックポイント処理時間の割合が所定の値以下である場合にチェックポイント情報を採取するので、ジョブ内でチェックポイント関数を呼び出す個所を決定する場合に、ジョブの処理時間やチェックポイント情報の採取に要する時間を考慮する必要を無くし、チェックポイント情報の採取によるジョブの実行時間の増大を抑制することが可能である。
【図面の簡単な説明】
【図1】本実施形態のジョブの実行時間とジョブのチェックポイント情報の採取時間の関係を示す図である。
【図2】本実施形態のジョブを構成するプログラムの一例を示す図である。
【図3】本実施形態の計算機システムの概略構成を示す図である。
【図4】第1の実施形態におけるジョブ情報10の例を示す図である。
【図5】第1の実施形態のジョブ内から呼び出されるチェックポイント関数の処理手順を示すフローチャートである。
【図6】第2及び第3の実施形態におけるジョブ情報10の例を示す図である。
【図7】第2の実施形態のチェックポイント採取閾値設定処理の処理手順を示すフローチャートである。
【図8】第2の実施形態のチェックポイント関数の処理手順を示すフローチャートである。
【図9】第3の実施形態の運用時間によるチェックポイント採取閾値の増減値を格納した、運用時間によるチェックポイント採取閾値の増減値表の一例を示す図である。
【図10】第3の実施形態においてシステムの運用状況に応じて閾値を変更する場合のチェックポイント関数の処理手順を示すフローチャートである。
【図11】第3の実施形態のジョブ数に応じたチェックポイント採取閾値の増減値を格納した、ジョブ数に応じたチェックポイント採取閾値の増減値表の一例を示す図である。
【図12】第3の実施形態においてジョブ数に応じて閾値を変更する場合のチェックポイント関数の処理手順を示すフローチャートである。
【図13】第3の実施形態のジョブの実行時間に応じたチェックポイント採取閾値の増減値表の一例を示す図である。
【図14】第3の実施形態においてジョブの実行時間に応じて閾値を変更する場合のチェックポイント関数の処理手順を示すフローチャートである。
【符号の説明】
1…計算機システム、2…ジョブ実行部、3…チェックポイント情報採取部、4…リスタート処理部、5…チェックポイント情報、6…チェックポイント関連情報、7…ジョブ管理キュー、10、11、1N…ジョブ情報、101…CPU、102…メモリ、103…磁気ディスク装置、104…入力装置、105…出力装置、106…CD−ROM装置、107…通信装置、20…計算機資源情報、30…ジョブ実行時間、40…チェックポイント処理時間、50…チェックポイント採取閾値、90…運用時間によるチェックポイント採取閾値の増減値表、91、92、9N…行、110…ジョブ数に応じたチェックポイント採取閾値の増減値表、111、112、11N…行、130…ジョブの実行時間に応じたチェックポイント採取閾値の増減値表、131、132、13N…行。

Claims (6)

  1. 障害発生時のジョブのリスタートを行う為のチェックポイント情報をジョブの実行中に採取するチェックポイント情報採取方法において、
    ジョブ管理キューにて管理されるジョブの実行を行うステップと、前記実行の行われているジョブの実行時間と、当該ジョブにおけるチェックポイント情報の採取に要した合計時間であるチェックポイント処理時間とを比較し、前記ジョブの実行時間に対するチェックポイント処理時間の割合が、当該チェックポイント情報の採取を決定する為の所定の値以下である場合に当該ジョブのチェックポイント情報を採取するステップとを有することを特徴とするチェックポイント情報採取方法。
  2. ユーザによって指定された値をチェックポイント採取閾値として設定し、そのチェックポイント採取閾値を前記チェックポイント情報の採取を決定する為の所定の値として用いることを特徴とする請求項1に記載されたチェックポイント情報採取方法。
  3. 前記チェックポイント情報の採取を決定する為の所定の値を、チェックポイント採取閾値の増減値表中の増減値に応じて変更することを特徴とする請求項1または請求項2のいずれかに記載されたチェックポイント情報採取方法。
  4. 前記チェックポイント情報の採取を決定する為の所定の値をチェックポイント採取閾値の増減値表中の増減値に応じて変更する際に、運用時間、ジョブ実行数またはジョブ実行時間によって異なる増減値により変更することを特徴とする請求項3に記載されたチェックポイント情報採取方法。
  5. 障害発生時のジョブのリスタートを行う為のチェックポイント情報をジョブの実行中に採取する計算機システムにおいて、
    ジョブ管理キューにて管理されるジョブの実行を行うジョブ実行部と、前記実行の行われているジョブの実行時間と、当該ジョブにおけるチェックポイント情報の採取に要した合計時間であるチェックポイント処理時間とを比較し、前記ジョブの実行時間に対するチェックポイント処理時間の割合が、当該チェックポイント情報の採取を決定する為の所定の値以下である場合に当該ジョブのチェックポイント情報を採取するチェックポイント情報採取部とを備えることを特徴とする計算機システム。
  6. 障害発生時のジョブのリスタートを行う為のチェックポイント情報をジョブの実行中に採取する計算機システムとしてコンピュータを機能させる為のプログラムにおいて、
    ジョブ管理キューにて管理されるジョブの実行を行うジョブ実行部と、前記実行の行われているジョブの実行時間と、当該ジョブにおけるチェックポイント情報の採取に要した合計時間であるチェックポイント処理時間とを比較し、前記ジョブの実行時間に対するチェックポイント処理時間の割合が、当該チェックポイント情報の採取を決定する為の所定の値以下である場合に当該ジョブのチェックポイント情報を採取するチェックポイント情報採取部としてコンピュータを機能させることを特徴とするプログラム。
JP2002252305A 2002-08-30 2002-08-30 チェックポイント情報採取方法及びその実施装置並びにその処理プログラム Pending JP2004094422A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002252305A JP2004094422A (ja) 2002-08-30 2002-08-30 チェックポイント情報採取方法及びその実施装置並びにその処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002252305A JP2004094422A (ja) 2002-08-30 2002-08-30 チェックポイント情報採取方法及びその実施装置並びにその処理プログラム

Publications (1)

Publication Number Publication Date
JP2004094422A true JP2004094422A (ja) 2004-03-25

Family

ID=32058609

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002252305A Pending JP2004094422A (ja) 2002-08-30 2002-08-30 チェックポイント情報採取方法及びその実施装置並びにその処理プログラム

Country Status (1)

Country Link
JP (1) JP2004094422A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169515A (ja) * 2008-01-11 2009-07-30 Denso Corp コンピュータシステム及びシステム回復装置
JP2012008863A (ja) * 2010-06-25 2012-01-12 Nec Corp 情報処理装置及びその制御方法
JP2013196238A (ja) * 2012-03-19 2013-09-30 Nec Corp バッチ処理システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169515A (ja) * 2008-01-11 2009-07-30 Denso Corp コンピュータシステム及びシステム回復装置
JP2012008863A (ja) * 2010-06-25 2012-01-12 Nec Corp 情報処理装置及びその制御方法
JP2013196238A (ja) * 2012-03-19 2013-09-30 Nec Corp バッチ処理システム
US9244719B2 (en) 2012-03-19 2016-01-26 Nec Corporation Batch processing system

Similar Documents

Publication Publication Date Title
US11379272B2 (en) Autoscaling using file access or cache usage for cluster machines
KR101721466B1 (ko) 결함 내성 배치 처리
US9378056B2 (en) Management server, and virtual machine move control method
JPWO2006100752A1 (ja) 分散処理管理装置、分散処理管理方法、分散処理管理プログラム
US20130097382A1 (en) Multi-core processor system, computer product, and control method
CN110109741B (zh) 循环任务的管理方法、装置、电子设备及存储介质
US20150026694A1 (en) Method of processing information, storage medium, and information processing apparatus
CN114564281A (zh) 容器调度方法、装置、设备及存储介质
US10599472B2 (en) Information processing apparatus, stage-out processing method and recording medium recording job management program
US20160266808A1 (en) Information processing device, information processing method, and recording medium
JP2007328413A (ja) 負荷分散方法
JP2004094422A (ja) チェックポイント情報採取方法及びその実施装置並びにその処理プログラム
JP4723465B2 (ja) ジョブ割当プログラム及びジョブ割当方法
CN112612616B (zh) 一种任务处理方法及装置
CN105760215A (zh) 基于映射规约模型分布式文件系统作业的运行方法
CN108920722B (zh) 一种参数配置的方法、装置及计算机存储介质
JP6292796B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2016167212A (ja) 情報処理システム、チェックポイントデータ採取方法およびチェックポイントデータ採取プログラム
JPH11353284A (ja) ジョブ再実行方法
US20160210320A1 (en) Log acquisition management program, log acquisition management device, and log acquisition management method
CN115562834A (zh) 一种任务调度方法、装置、设备及可读存储介质
AU2014274491B2 (en) Fault tolerant batch processing
JP2009217760A (ja) 電子計算機装置
JP2020154392A (ja) コンテナ管理装置、方法およびプログラム
JP2022013618A (ja) 分散型記憶方法および装置、電子機器、コンピュータ可読媒体およびコンピュータプログラム製品