JPH09330237A - プロセス切り替え装置およびプロセス切り替え方法 - Google Patents

プロセス切り替え装置およびプロセス切り替え方法

Info

Publication number
JPH09330237A
JPH09330237A JP8146039A JP14603996A JPH09330237A JP H09330237 A JPH09330237 A JP H09330237A JP 8146039 A JP8146039 A JP 8146039A JP 14603996 A JP14603996 A JP 14603996A JP H09330237 A JPH09330237 A JP H09330237A
Authority
JP
Japan
Prior art keywords
checkpoint
executed
execution
computer system
stored
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
JP8146039A
Other languages
English (en)
Inventor
Norihiro Kato
宣弘 加藤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP8146039A priority Critical patent/JPH09330237A/ja
Priority to TW086105424A priority patent/TW339429B/zh
Priority to KR1019970021844A priority patent/KR100243461B1/ko
Priority to US08/868,619 priority patent/US5968168A/en
Priority to CN97105559A priority patent/CN1096022C/zh
Priority to EP97109226A priority patent/EP0811912A3/en
Publication of JPH09330237A publication Critical patent/JPH09330237A/ja
Priority to US09/358,770 priority patent/US6279027B1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Retry When Errors Occur (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】整合性の確保のために必要とする各種処理の遅
延の影響を最小限度に止めてシステムのスループットを
向上させるプロセス切り替え装置を提供する。 【解決手段】チェックポイントの直前でのみ実行される
べきものと予め指定されたプロセスの識別子を遅延プロ
セス記録テーブル5に、チェックポイントを取得するプ
ロセスの識別子をチェックポイントプロセス記録テーブ
ル6にそれぞれ記録しておき、プロセス切替部2は、実
行可能キュー3からプロセスを選択した際に、チェック
ポイントプロセス記録テーブル6を参照することによっ
てチェックポイントの採取点を検出し、その採取点を検
出したときには、遅延実行可能キューに格納されたプロ
セスを、そのチェックポイントの直前に実行する。これ
により、整合性の確保のために必要とする各種処理の遅
延の影響を最小限度に止めることが可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、たとえばチェッ
クポイントとロールバックとを用いて故障回復を可能と
している計算機システムのプロセスディスパッチャなど
に適用して好適なプロセス切り替え装置およびプロセス
切り替え方法に係り、特に整合性の確保のために必要と
する各種処理の遅延の影響を最小限度に止めることによ
ってシステムのスループットを向上させ、かつチェック
ポイント採取後のキャッシュミスを大幅に減少させるこ
とを可能とするプロセス切り替え装置およびプロセス切
り替え方法に関する。
【0002】
【従来の技術】従来のデータベース管理システムでは、
トランザクションのログをディスク装置などへ書き込ん
でいくために、この書き込みを行なうためのプロセス
(以下ログ・ライタと呼ぶ)を専用に設けて稼働させて
いる。このログ・ライタは、他のプロセスからの指示を
受けて、または自らが所定のタイミングで、メモリ上に
確保されるログ・バッファ領域に書き込まれたデータを
ディスク装置へ書き込む処理を実行する。データベース
の一貫性を保つためには、トランザクションをコミット
する際に、そのコミット・ログをディスク装置などへ書
き込まなければならない。したがって、トランザクショ
ンを実行しているプロセスは、コミット処理に入ると、
ログ・ライタに自分のコミット・ログをディスク装置な
どへ書き込むように指示する。そして、そのコミット・
ログがディスク装置などに書き込まれて、ログ・ライタ
からその旨の応答があると、トランザクションを実行し
ているプロセスは、そのコミット処理を完了する。
【0003】ここで、このようなデータベース管理シス
テムを、チェックポイントまでディスク装置への書き込
みを遅延させるような計算機システムで動作させた場合
を考える。このチェックポイントは、故障などのために
処理が中断されたときに、システム全体の整合性を保ち
つつ再開始を可能とするために適宜採取される時点であ
り、この時点ごとに処理の続行に必要なシステムの状態
(プログラム、データ、およびCPUの状態)の全部ま
たは一部が記録される。
【0004】いま、図9に示すように、トランザクショ
ン1(T1)を実行しているプロセスがコミット処理に
入ると(図9の(1))、そのプロセスは、ログ・ライ
タに自分のコミット・ログをディスク装置に書き込むよ
うに指示する。そして、ログ・ライタは、その指示され
たデータを、ディスク装置へ書き込む操作(writ
e)を発行する(図9の(2))。しかしながら、この
計算機システムでは、ディスク装置への書き込みが次の
チェックポイント(図9の(3))まで遅延させられる
ので(図9の(4))ので、それまでログ・ライタは、
書き込み完了待ち状態(sleep)となる。
【0005】このような状態で、別のトランザクション
2(T2)を実行しているプロセスが、コミット処理に
入った際(図9の(5))、このログ・ライタにコミッ
ト・ログの書き込みを指示しても、その書き込みの受け
付けは、直前のログ書き込みが完了(図9の(6))す
るまで遅延させられる。しかも、その書き込みを受け付
けたログ・ライタによるログの書き込みは、さらに次の
チェックポイント(図9の(7))の時点まで遅延させ
られることになる(図9の(8))。
【0006】また、この種の計算機システムでは、チェ
ックポイントを取るための専用プロセス(以下チェック
ポイント・プロセスと呼ぶ)をプロセッサで実行し、そ
れ以外のプロセスがチェックポイントの採取中に動作し
ないようにしている。このチェックポイント・プロセス
は、最高の優先度でスケジューリングされるので、チェ
ックポイント直前に実行されていたプロセスがプリエン
プトされて、チェックポイント・プロセスが実行され
る。このチェックポイント・プロセスは、ハードウェア
がキャッシュ内のダーティ・ラインをメモリへ書き戻す
間、アイドル・ループを回っているだけであり、キャッ
シュ内のデータをほとんど置き換えることはない。した
がって、チェックポイントの終了時点では、チェックポ
イントの直前に実行されていたプロセスがアクセスして
いたデータが、キャッシュ内にそのまま保持されている
ことになる。しかしながら、チェックポイント処理が終
了した時点では、直前に実行されていたプロセスが優先
して実行されるわけではないので、別のプロセスが実行
された場合には、キャッシングされている命令やデータ
を使えずに、すなわちキャッシュ・ミスが多くなる。
【0007】
【発明が解決しようとする課題】前述した従来の1つ目
の問題点は、ログ・ライタへのプロセス切り換えをチェ
ックポイントのかなり以前に行なってしまうことにあ
る。すなわち、ログ・ライタへのプロセス切り換えをチ
ェックポイントの直前まで遅延させれば、後から指示さ
れたコミット・ログについても、グループ・コミットと
して前に指示されたコミット・ログとともに次のチェッ
クポイントの時点で一括してディスク装置に書き込み可
能となり、スループットを向上させることができる。
【0008】また、2つ目の問題点は、チェックポイン
トが終了した時点で、チェックポイントの直前に実行し
ていたプロセスを優先的に実行しないことになる。すな
わち、チェックポイント・プロセスが、キャッシュ内の
データをほとんど置き換えることがないことを考慮すれ
ば、チェックポイントの直前に実行していたプロセスを
優先的に実行することにより、キャッシュ・ミスを大幅
に減少させることができる。
【0009】この発明は、このような実情に鑑みてなさ
れたものであり、整合性の確保のために必要とする処理
の遅延の影響を最小限度に止めることによってシステム
のスループットを向上させ、かつチェックポイント採取
後のキャッシュミスを大幅に減少させることを可能とす
るプロセス切り替え装置およびプロセス切り替え方法を
提供することを目的とする。
【0010】
【発明を解決するための手段】この発明は、中断した処
理を再開始するためのチェックポイントを適宜に設定す
る計算機システムであって、連続する2つのチェックポ
イント間で発生するネットワークやディスクなどを含む
外部装置への出力要求に対応する出力操作を後のチェッ
クポイントまで遅延させる計算機システムのプロセス切
り替え装置において、前記チェックポイントの直前での
み実行されるべきものと予め指定された前記出力要求の
発行を含むプロセスを記憶する記憶手段と、前記チェッ
クポイントの採取点を検出する検出手段と、前記検出手
段がチェックポイントの採取点を検出したときに、前記
記憶手段に記憶されたプロセスの中で実行可能状態にあ
るプロセスを、そのチェックポイントの直前に実行する
実行制御手段とを具備してなることを特徴とする。
【0011】この発明によれば、たとえば前述したログ
・ライタのように、専らディスクへの書き込みを行なう
プロセスへの切り換えを、チェックポイント直前まで遅
らせることができ、1つのチェックポイント間隔の間に
指示された書き込み要求を1回の書き込みにまとめて次
のチェックポイントの時点で発行することができること
になる。これにより、たとえばログ・ライタの場合に
は、コミット処理の応答時間を短縮できるだけでなく、
グループ・コミットによりスループットを向上させるこ
とが可能となる。
【0012】また、この発明は、中断した処理を再開始
するためのチェックポイントを適宜採取する計算機シス
テムのプロセス切り替え装置において、前記チェックポ
イントの直前に実行していたプロセスを記録する記憶手
段と、前記チェックポイントが採取された直後に前記記
憶手段に記憶されたプロセスが実行可能状態であるとき
に、そのプロセスを優先して実行する実行制御手段とを
具備してなることを特徴とする。
【0013】この発明においては、チェックポイントの
直前に実行していたプロセスが実行可能状態にあると
き、そのプロセスを優先して実行する。チェックポイン
ト終了時点では、チェックポイントの直前に実行してい
たプロセスのアクセスしたデータがキャッシュに多く残
っているので、他のプロセスを実行するのに比べて、キ
ャッシュのヒット率が向上し性能が向上する。
【0014】また、この発明は、中断した処理を再開始
するためのチェックポイントを適宜採取する計算機シス
テムのプロセス切り替え装置において、前記チェックポ
イント以前に実行されたプロセスの実行順序を記憶する
記憶手段と、前記チェックポイントが採取された直後に
前記記憶手段に記憶された実行順序を参照し、前記チェ
ックポイントにより近い時点で実行されたプロセスを優
先して実行する実行制御手段とを具備してなることを特
徴とする。
【0015】この発明では、チェックポイントにより近
い時点で実行されていたプロセスをチェックポイントの
直後に優先して実行する。一般に、チェックポイントに
より近い時点で実行されていたプロセスのデータほどキ
ャッシュに残っている可能性が高いといえるので、キャ
ッシュのヒット率が向上し性能が向上する。
【0016】また、この発明は、中断した処理を再開始
するためのチェックポイントを適宜採取する計算機シス
テムであって、プロセスそれぞれの実行命令数をカウン
トするカウント機能をプロセッサが備えてなる計算機シ
ステムのプロセス切り替え装置において、前記チェック
ポイント以前に実行されたプロセスを前記カウント機能
により測定される実行命令数とともに記憶する記憶手段
と、前記チェックポイントが採取された直後に前記記憶
手段に記憶されたプロセスが実行可能状態であるとき
に、それらの中からその実行命令数が多いプロセスを優
先して実行する実行制御手段とを具備してなることを特
徴とする。
【0017】この発明においては、チェックポイント以
前に実行されたプロセスの内、現時点で実行可能状態に
あるプロセスの中からその実行命令数が多いプロセスを
優先して実行する。一般に、プロセッサで連続して実行
される命令数が多いプロセスほど、そのプロセスに関す
る命令およびデータがより多くキャッシュに保持される
ので、そのようなプロセスをチェックポイント終了後に
優先して実行すれば、キャッシュ・ヒット率を高くする
ことが可能となる。
【0018】また、この発明は、前記実行制御手段が、
前記記憶手段に記憶されたプロセスの実行終了時点から
現時点までの間に介在して実行された他のプロセスの実
行命令数に応じて、前記記憶手段に記憶されたプロセス
および前記記憶手段に記憶されていないプロセス相互間
の優先関係を決定する手段を具備してなることを特徴と
する。
【0019】あるプロセスが、プロセッサでの実行を終
了してから、次に実行を開始するまでの間に、他のプロ
セスが多く実行されればされるほど、再開されたプロセ
スのキャッシュ・ミス率は高くなると考えられる。そこ
で、カウンタ機能により再開までの間の実行命令数を測
定することによって、再開時のキャッシュ・ミス率を推
定できるため、他のプロセスとの関係において、キャッ
シュ・ミス率の低いプロセスのみを優先して実行すると
いったことが可能となる。
【0020】また、この発明は、前記プロセッサのカウ
ント機能が、キャッシュミス数をカウントする機能を含
み、前記記憶手段は、前記プロセスそれぞれの連続して
実行された区間でのミス率を記憶する手段を具備し、前
記実行制御手段は、前記優先度を高めたプロセスのミス
率が通常時と比較して低下しているか否か検査する検査
手段と、その結果を前記優先度の決定に反映させる手段
とを具備してなることを特徴とする。
【0021】このように、優先度を上げられたプロセス
のミス率を測定して、通常時のミス数と比較することに
より、優先度を上げたことの効果を知ることができる。
そして、その結果を優先度決定にフィードバックすれ
ば、より適切な優先度づけを行うことが可能となる。
【0022】
【発明の実施の形態】以下、図面を参照してこの発明の
実施の形態を説明する。 (第1実施形態)図1には、この発明の第1の実施形態
の概略構成が示されている。本実施形態の対象となる計
算機システムでは、チェックポイントの採取時に、各プ
ロセッサにおいて最高優先度のチェックポイント・プロ
セスが割り込み禁止状態で動いている。図1において、
チェックポイント・プロセス記録テーブル6には、チェ
ックポイント・プロセスの識別子が予め記録されてい
る。また、遅延プロセス記録テーブル5には、チェック
ポイント開始時点の直前でのみ実行することを指示され
たプロセスの識別子が予め記録されている。
【0023】プロセス・キューイング部1は、実行可能
状態になったプロセスが遅延プロセス記録テーブル5に
記録されているプロセスかどうかを調べ、記録されてい
ない場合には、実行可能キュー3へ、記録されている場
合には遅延実行可能キュー4へそのプロセスをキューイ
ングする。また、プロセス切り替え部2は、実行可能キ
ュー3の中で、最高優先度のプロセスをまず選択する。
このとき、プロセス切り替え部2は、チェックポイント
・プロセス記録テーブル6を参照し、その選択されたプ
ロセスがチェックポイント・プロセスである場合には、
遅延実行可能キュー4を調べる。そして、遅延実行可能
キュー4にプロセスがない場合には、そのままチェック
ポイント・プロセスを実行可能キュー3から外して実行
する。一方、遅延実行可能キュー4にプロセスがある場
合には、そのプロセスを遅延実行可能キュー4から外し
て、最高優先度および割り込み禁止状態で実行する。
【0024】この遅延プロセスの実行が終了すると、プ
ロセス切り替え部2は、実行可能キュー3の中で最高優
先度のプロセス(必然的にチェックポイント・プロセス
となる)を選択し、前述と同じ動作を繰り返す。
【0025】ここで、図2を参照して本実施形態の処理
手順を示す。図2において、トランザクション1(T
1)がコミットを要求した時点で(図2の(1))、ロ
グ・ライタは実行可能状態になり、遅延実行可能キュー
4へ繋がれる(ログ・ライタは遅延プロセス記録テーブ
ル5に記録されているものとする)。また、トランザク
ション2(T2)がコミットを要求した時点では(図2
の(2))、ログ・ライタはまだ実行されておらず、ロ
グ・バッファにはトランザクション2(T2)が書き込
んだコミット・ログも記録される。そして、プロセス切
り替え部2が実行可能状態になったチェックポイント・
プロセスを選択した時点で、チェックポイントが開始さ
れることになるが(図2の(3))、そのとき、遅延実
行可能キュー4にはログ・ライタが存在するので、本実
施形態では、その直前にログ・ライタが実行される(図
2の(4))。このチェックポイント・プロセスの検知
は、チェックポイント・プロセス記録テーブル6の参照
によって行なわれる(このチェックポイント・プロセス
は、予めチェックポイント・プロセス記録テーブル6に
記録されているものとする)。ログ・ライタは、ログ・
バッファに書き込まれたトランザクション1(T1)、
トランザクション2(T2)のコミット・ログをディス
クへ書き込むためにwriteシステム・コールを発行
し、書き込み完了待ちのために停止する(図2の
(5))。この時点で遅延実行可能キュー4にはプロセ
スがなくなるので、プロセス切り替え部2はチェックポ
イント・プロセスを実行する。
【0026】ここで、図3を参照して本実施形態のプロ
セス切替部の動作を説明する。プロセス切替部2は、実
行可能キュー3から最高優先度のプロセスを選択し(ス
テップA1)、このプロセスがチェックポイント・プロ
セスかどうかをチェックポイント・プロセス記録テーブ
ル6を参照して調査する(ステップA2)。
【0027】このプロセスがチェックポイント・プロセ
スでなかった場合(ステップA3のN)、実行可能キュ
ー3からそのプロセスを外して実行する(ステップA
4)。一方、チェックポイント・プロセスであった場合
には(ステップA3のY)、遅延実行可能キュー4を参
照し、そのチェックポイント・プロセスの直前に実行す
べきプロセスがないか調査する(ステップA5)。
【0028】プロセスが遅延実行可能キュー4に存在し
た場合(ステップA6のN)、遅延実行可能キュー4か
らそのプロセスを外して実行し(ステップA7)、ステ
ップA5からの処理を繰り返す。そして、遅延実行可能
キュー4にプロセスが存在しない場合、および存在しな
くなった場合には(ステップA6のY)、実行可能キュ
ー3からチェックポイント・プロセスを外して実行する
(ステップA8)。
【0029】これにより、整合性の確保のために必要と
する各種処理の遅延の影響を最小限度に止めることがで
き、その結果、システム全体のスループットを向上させ
ることが可能となる。
【0030】(第2実施形態)次に、図4乃至図8を参
照してこの発明の第2の実施形態を説明する。図4に
は、この発明の第2の実施形態の概略構成が示されてい
る。図4において、チェックポイント・プロセス記録テ
ーブル6には、チェックポイント・プロセスの識別子が
予め記録されている。そして、プロセス切替部2は、こ
のチェックポイント・プロセス記録テーブル6を参照し
て、次に切り替えるプロセスがチェックポイント・プロ
セスかどうかを調べる。もし、チェックポイント・プロ
セスでなければ、プロセス切替部2は、実行プロセス記
録テーブル7に次に切り替えるプロセスを記録する。一
方、チェックポイント・プロセスであったならば、実行
プロセス記録テーブル7には記録しない。また、プロセ
ス切替部2は、実行プロセス記録テーブル7を参照し、
現在実行中のプロセスがチェックポイント・プロセスか
どうかを調べる。もし、チェックポイント・プロセスな
らば、プロセス切替部2は、チェックポイント・プロセ
ス記録テーブル6を調べ、このチェックポイント・プロ
セス記録テーブル6に記録されているプロセスが実行可
能キュー3にあるかどうかを検索する。そして、実行可
能キュー3にそのプロセスがあれば、それを実行し、な
ければ最も優先度の高いプロセスを実行する。
【0031】図5には、本実施形態のプロセス切替部の
動作が示されている。プロセス切替部2は、実行可能キ
ュー3から最高優先度のプロセスを選択し(ステップB
1)、このプロセスがチェックポイント・プロセスかど
うかをチェックポイント・プロセス記録テーブル6を参
照して調査する(ステップB2)。
【0032】このプロセスがチェックポイント・プロセ
スであった場合(ステップB3のY)、実行可能キュー
3からそのプロセス(チェックポイント・プロセス)を
外して実行する(ステップB10)。一方、チェックポ
イント・プロセスでなかった場合には(ステップB3の
N)、現在実行中のプロセスが、チェックポイント・プ
ロセスかどうかを調査する(ステップB4)。そして、
チェックポイント・プロセスであった場合には(ステッ
プB5のY)、実行プロセス記録テーブル7に記録され
ているプロセスが実行可能キュー3に存在するかどうか
を調査し(ステップB6)、プロセスがあった場合には
(ステップB7のN)、実行可能キュー3から実行プロ
セス記録テーブル7に記録されているプロセスを外して
実行する(ステップB8)。
【0033】一方、実行プロセス記録テーブル7に記録
されているプロセスが実行可能キュー3に存在しなかっ
た場合(ステップB7のY)、および現在実行中のプロ
セスが、チェックポイント・プロセスでなかった場合に
は(ステップB5のN)、実行可能キュー3から選択さ
れたプロセスを実行プロセス記録テーブル7に記録した
後(ステップB9)、実行可能キュー3からそのプロセ
スを外して実行する(ステップB10)。
【0034】これにより、チェックポイント・プロセス
の次には、その直前に実行されていたプロセスが実行可
能状態であれば実行されることになり、キャッシュ・ミ
ス率を大幅に減少させることが可能となる。
【0035】なお、この実行プロセス記録テーブル7の
エントリを複数設けて、最近実行された幾つかのプロセ
スを記録できるようにすることも有効である。この場
合、プロセス切替部2は、チェックポイント・プロセス
の終了時に実行プロセス記録テーブル7を参照し、チェ
ックポイント直前に実行されていたプロセスが実行可能
状態ならばそれを実行し、そうでなければ実行プロセス
記録テーブル7に記録されているプロセスの中で実行可
能状態であるものの優先度を上げる。このとき、チェッ
クポイントにより近い時間に実行されていたプロセスほ
ど高い優先度を与える。たとえば、実行可能キュー3に
存在する各プロセスの優先度が図6に示すような状態で
あり、かつチェックポイント終了時の実行プロセス記録
テーブル7の記録状態が図7に示すような状態である場
合を考える。なお、実行プロセス記録テーブル7は、巡
回して使用され(ローテート)、ポインタは、最新の記
録位置の次のエントリ(書き換えポイント)を常に指し
示している。
【0036】この場合、実行プロセス記録テーブル7に
記録されているプロセスの中で、たとえば「P1」、
「P3」、「P4」が実行可能であるとき、この実行可
能であるプロセス「P1」、「P3」、「P4」の優先
度を、その実行順に応じてそれぞれ5、3および2だけ
上げる。その結果、その優先度は図8に示したようにな
り、チェックポイント終了時には、プロセス「P1」へ
実行が選択されこのプロセスへの切り替えが行なわれる
ことになる。
【0037】また、プロセッサが実行命令数をカウント
できる場合には、それぞれのプロセスの連続して実行さ
れる区間の実行命令数をカウントすることも有効であ
る。なぜならば、連続して実行される命令数が多いプロ
セスほど、そのプロセスに関する命令およびデータがよ
り多くキャッシュに保持されていることを考慮した優先
度制御が可能となるからである。さらに、たとえば、実
行プロセス記録テーブル7に記録されたプロセスと、実
行プロセス記録テーブル7に記録されていないプロセス
との間で優先度を決定する場合に、この実行プロセス記
録テーブル7に記録されたプロセスを常に優先して実行
するのではなく、その実行プロセス記録テーブル7に記
録されたプロセスが実行を終了した時点から現時点まで
に実行された他のプロセスの実行命令数を考慮し、その
数によっては、本来の優先度にしたがって実行プロセス
記録テーブル7に記録されていないプロセスを先に実行
するといった制御も可能となる。なお、この優先度の制
御においては、チェックポイント終了時にプロセスの優
先度そのものを上げてしまうのではなく、切り替えプロ
セスの選択時に実行命令数に応じて仮の優先度を求めて
一時的に使用することが望ましい。
【0038】また、プロセッサがミス数をカウントでき
る場合には、それまで示した方法により優先して実行し
たプロセスのミス率が通常の場合に比べて低くなるかど
うかを判定できる。もし通常に比べてミス率が低い場合
にはそのままでよいが、そうでない場合には、プロセス
の直前に実行されてからの実行命令数とミス率の相関関
係から、プロセスごとに実行命令数の上限を求め、それ
よりも実行命令数が大きい場合には優先度を上げないよ
うにする。これにより、計算機システムの稼働状況を反
映したより適切なプロセスの切り替えが可能となる。
【0039】
【発明の効果】以上詳述したように、この発明によれ
ば、特定のプロセスをチェックポイント採取の直前にの
み実行するように管理することができるため、整合性の
確保のために必要とする各種処理の遅延の影響を最小限
度に止めることによってシステムのスループットを向上
させることが可能となる。
【0040】また、チェックポイント採取の直前に実行
していたプロセスをチェックポイント採取直後に優先し
て実行することにより、キャッシュ・ミス率を大幅に減
少させることが可能となる
【図面の簡単な説明】
【図1】この発明の第1の実施形態の概略構成を示す
図。
【図2】同実施形態の処理手順を示す図。
【図3】同実施形態のプロセス切替部の動作を示すフロ
ーチャート。
【図4】この発明の第2の実施形態の概略構成を示す
図。
【図5】同実施形態のプロセス切替部の動作を示すフロ
ーチャート。
【図6】同実施形態の実行可能キューに存在する各プロ
セスの優先度の状態を例示する図。
【図7】同実施形態の実行プロセス記録テーブルの記録
状態を例示する図。
【図8】同実施形態の実行可能キューに存在する各プロ
セスの優先度の変更結果を例示する図。
【図9】従来の計算機システムのログ・ライタを含む処
理手順を示す図。
【符号の説明】
1…プロセスキューイング部、2…プロセス切替部、3
…実行可能キュー、4…遅延実行可能キュー、5…遅延
プロセス記録テーブル、6…チェックポイントプロセス
記録テーブル、7…実行プロセス記録テーブル。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 中断した処理を再開始するためのチェッ
    クポイントを適宜採取する計算機システムであって、連
    続する2つのチェックポイント間で発生するネットワー
    クやディスクなどを含む外部装置への出力要求に対応す
    る出力操作を後のチェックポイントまで遅延させる計算
    機システムのプロセス切り替え装置において、 前記チェックポイントの直前でのみ実行されるべきもの
    と予め指定された前記出力要求の発行を含むプロセスを
    記憶する記憶手段と、 前記チェックポイントの採取点を検出する検出手段と、 前記検出手段がチェックポイントの採取点を検出したと
    きに、前記記憶手段に記憶されたプロセスの中で実行可
    能状態にあるプロセスを、そのチェックポイントの直前
    に実行する実行制御手段とを具備してなることを特徴と
    するプロセス切り替え装置。
  2. 【請求項2】 中断した処理を再開始するためのチェッ
    クポイントを適宜採取する計算機システムのプロセス切
    り替え装置において、 前記チェックポイントの直前に実行していたプロセスを
    記録する記憶手段と、 前記チェックポイントが採取された直後に前記記憶手段
    に記憶されたプロセスが実行可能状態であるときに、そ
    のプロセスを優先して実行する実行制御手段とを具備し
    てなることを特徴とするプロセス切り替え装置。
  3. 【請求項3】 中断した処理を再開始するためのチェッ
    クポイントを適宜採取する計算機システムのプロセス切
    り替え装置において、 前記チェックポイント以前に実行されたプロセスの実行
    順序を記憶する記憶手段と、 前記チェックポイントが採取された直後に前記記憶手段
    に記憶された実行順序を参照し、前記チェックポイント
    により近い時点で実行されたプロセスを優先して実行す
    る実行制御手段とを具備してなることを特徴とするプロ
    セス切り替え装置。
  4. 【請求項4】 中断した処理を再開始するためのチェッ
    クポイントを適宜採取する計算機システムであって、プ
    ロセスそれぞれの実行命令数をカウントするカウント機
    能をプロセッサが備えてなる計算機システムのプロセス
    切り替え装置において、 前記チェックポイント以前に実行されたプロセスを前記
    カウント機能により測定される実行命令数とともに記憶
    する記憶手段と、 前記チェックポイントが採取された直後に前記記憶手段
    に記憶されたプロセスが実行可能状態であるときに、そ
    れらの中からその実行命令数が多いプロセスを優先して
    実行する実行制御手段とを具備してなることを特徴とす
    るプロセス切り替え装置。
  5. 【請求項5】 実行制御手段は、記憶手段に記憶された
    プロセスの実行終了時点から現時点までの間に介在して
    実行された他のプロセスの実行命令数に応じて、前記記
    憶手段に記憶されたプロセスおよび前記記憶手段に記憶
    されていないプロセス相互間の優先関係を決定する手段
    を具備してなることを特徴とする請求項4記載のプロセ
    ス切り替え装置。
  6. 【請求項6】 プロセッサのカウント機能は、キャッシ
    ュミス数をカウントする機能を含み、 記憶手段は、前記プロセスそれぞれの連続して実行され
    た区間でのミス率を記憶する手段を具備し、 実行制御手段は、前記優先度を高めたプロセスのミス率
    が通常時と比較して低下しているか否か検査する検査手
    段と、その結果を前記優先度の決定に反映させる手段と
    を具備してなることを特徴とする請求項4または5記載
    のプロセス切り替え装置。
  7. 【請求項7】 中断した処理を再開始するためのチェッ
    クポイントを適宜採取する計算機システムであって、連
    続する2つのチェックポイント間で発生するネットワー
    クやディスクなどを含む外部装置への出力要求に対応す
    る出力操作を後のチェックポイントまで遅延させる計算
    機システムのプロセス切り替え方法において、 前記チェックポイントの直前でのみ実行されるべきもの
    と予め指定された前記出力要求の発行を含むプロセスを
    記憶するステップと、 前記チェックポイントの採取点を検出するステップと、 前記チェックポイントの採取点を検出したときに、前記
    記憶したプロセスの中で実行可能状態にあるプロセスを
    そのチェックポイントの直前に実行するステップとを具
    備してなることを特徴とするプロセス切り替え方法。
  8. 【請求項8】 中断した処理を再開始するためのチェッ
    クポイントを適宜採取する計算機システムのプロセス切
    り替え方法において、 前記チェックポイントの直前に実行していたプロセスを
    記録するステップと、 前記チェックポイントが設定された直後に前記記憶され
    たプロセスが実行可能状態であるときに、そのプロセス
    を優先して実行するステップとを具備してなることを特
    徴とするプロセス切り替え方法。
JP8146039A 1996-06-07 1996-06-07 プロセス切り替え装置およびプロセス切り替え方法 Pending JPH09330237A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP8146039A JPH09330237A (ja) 1996-06-07 1996-06-07 プロセス切り替え装置およびプロセス切り替え方法
TW086105424A TW339429B (en) 1996-06-07 1997-04-25 Device method for switching of procedures
KR1019970021844A KR100243461B1 (ko) 1996-06-07 1997-05-30 프로세스 전환 장치 및 프로세스 전환 방법
US08/868,619 US5968168A (en) 1996-06-07 1997-06-03 Scheduler reducing cache failures after check points in a computer system having check-point restart function
CN97105559A CN1096022C (zh) 1996-06-07 1997-06-06 进程转换装置和进程转换方法
EP97109226A EP0811912A3 (en) 1996-06-07 1997-06-06 Process switch apparatus in a computer system
US09/358,770 US6279027B1 (en) 1996-06-07 1999-07-22 Scheduler reducing cache failures after check points in a computer system having check-point restart functions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8146039A JPH09330237A (ja) 1996-06-07 1996-06-07 プロセス切り替え装置およびプロセス切り替え方法

Publications (1)

Publication Number Publication Date
JPH09330237A true JPH09330237A (ja) 1997-12-22

Family

ID=15398731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8146039A Pending JPH09330237A (ja) 1996-06-07 1996-06-07 プロセス切り替え装置およびプロセス切り替え方法

Country Status (6)

Country Link
US (2) US5968168A (ja)
EP (1) EP0811912A3 (ja)
JP (1) JPH09330237A (ja)
KR (1) KR100243461B1 (ja)
CN (1) CN1096022C (ja)
TW (1) TW339429B (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005506598A (ja) * 2001-03-07 2005-03-03 オラクル・インターナショナル・コーポレイション 分散共有ディスクシステムにおけるディスク書込
JP2006309586A (ja) * 2005-04-28 2006-11-09 Fujitsu Ltd バッチスケジューリングプログラム、バッチスケジューリング方法およびバッチスケジューリング装置
JP2009276908A (ja) * 2008-05-13 2009-11-26 Toshiba Corp コンピュータシステム及びプログラム
JP2010277473A (ja) * 2009-05-29 2010-12-09 Nippon Telegr & Teleph Corp <Ntt> ログファイル管理装置、ログファイル管理システム、ログファイル管理方法及びそのプログラム
US8996782B2 (en) 2012-03-23 2015-03-31 Kabushiki Kaisha Toshiba Memory system and bank interleaving method
US9311142B2 (en) 2010-02-23 2016-04-12 Fujitsu Limited Controlling memory access conflict of threads on multi-core processor with set of highest priority processor cores based on a threshold value of issued-instruction efficiency

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200623B2 (en) * 1998-11-24 2007-04-03 Oracle International Corp. Methods to perform disk writes in a distributed shared disk system needing consistency across failures
US6532520B1 (en) * 1999-09-10 2003-03-11 International Business Machines Corporation Method and apparatus for allocating data and instructions within a shared cache
WO2001098844A2 (en) * 2000-06-20 2001-12-27 Liu D Methods of designing optimal pid controllers
CN102772357B (zh) * 2003-03-31 2014-12-31 泰坦医药品公司 用于持续释放多巴胺受体激动剂的可植入聚合物装置
US20050138290A1 (en) * 2003-12-23 2005-06-23 Intel Corporation System and method for instruction rescheduling
US7523343B2 (en) * 2004-04-30 2009-04-21 Microsoft Corporation Real-time file system repairs
US8768890B2 (en) * 2007-03-14 2014-07-01 Microsoft Corporation Delaying database writes for database consistency
CN101986602B (zh) * 2010-08-11 2012-08-15 山东大学 基于报文数目检验无阻塞检查点设置和故障进程恢复方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2650965B2 (ja) * 1988-05-27 1997-09-10 株式会社日立製作所 計算機システムおよびそのタスクスケジュール方法
JPH0752399B2 (ja) * 1988-06-30 1995-06-05 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 記憶システム
US5325536A (en) * 1989-12-07 1994-06-28 Motorola, Inc. Linking microprocessor interrupts arranged by processing requirements into separate queues into one interrupt processing routine for execution as one routine
US5185861A (en) * 1991-08-19 1993-02-09 Sequent Computer Systems, Inc. Cache affinity scheduler
US5261053A (en) * 1991-08-19 1993-11-09 Sequent Computer Systems, Inc. Cache affinity scheduler
EP0529303A3 (en) * 1991-08-29 1993-09-22 International Business Machines Corporation Checkpoint synchronization with instruction overlap enabled
US5574902A (en) * 1994-05-02 1996-11-12 International Business Machines Corporation Efficient destaging of updated local cache pages for a transaction in a multisystem and multiprocess database management system with a high-speed shared electronic store
US5561795A (en) * 1994-05-13 1996-10-01 Unisys Corporation Method and apparatus for audit trail logging and data base recovery
DE69506404T2 (de) * 1994-06-10 1999-05-27 Texas Micro Inc., Houston, Tex. Hauptspeichervorrichtung und wiederanlaufkennzeichnungsverfahren für ein fehlertolerantes rechnersystem
JPH096546A (ja) * 1995-06-19 1997-01-10 Toshiba Corp ディスク制御システム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005506598A (ja) * 2001-03-07 2005-03-03 オラクル・インターナショナル・コーポレイション 分散共有ディスクシステムにおけるディスク書込
JP2006309586A (ja) * 2005-04-28 2006-11-09 Fujitsu Ltd バッチスケジューリングプログラム、バッチスケジューリング方法およびバッチスケジューリング装置
JP4555145B2 (ja) * 2005-04-28 2010-09-29 富士通株式会社 バッチスケジューリングプログラム、バッチスケジューリング方法およびバッチスケジューリング装置
US8407709B2 (en) 2005-04-28 2013-03-26 Fujitsu Limited Method and apparatus for batch scheduling, and computer product
JP2009276908A (ja) * 2008-05-13 2009-11-26 Toshiba Corp コンピュータシステム及びプログラム
JP2010277473A (ja) * 2009-05-29 2010-12-09 Nippon Telegr & Teleph Corp <Ntt> ログファイル管理装置、ログファイル管理システム、ログファイル管理方法及びそのプログラム
US9311142B2 (en) 2010-02-23 2016-04-12 Fujitsu Limited Controlling memory access conflict of threads on multi-core processor with set of highest priority processor cores based on a threshold value of issued-instruction efficiency
US8996782B2 (en) 2012-03-23 2015-03-31 Kabushiki Kaisha Toshiba Memory system and bank interleaving method
US9304691B2 (en) 2012-03-23 2016-04-05 Kabushiki Kaisha Toshiba Memory system and bank interleaving method

Also Published As

Publication number Publication date
EP0811912A2 (en) 1997-12-10
US6279027B1 (en) 2001-08-21
TW339429B (en) 1998-09-01
KR100243461B1 (ko) 2000-02-01
KR980004095A (ko) 1998-03-30
CN1168998A (zh) 1997-12-31
US5968168A (en) 1999-10-19
CN1096022C (zh) 2002-12-11
EP0811912A3 (en) 2006-05-24

Similar Documents

Publication Publication Date Title
Qin et al. Rx: treating bugs as allergies---a safe method to survive software failures
US5845326A (en) Computer system and method for obtaining memory check points and recovering from faults using the checkpoints and cache flush operations
US5388254A (en) Method and means for limiting duration of input/output (I/O) requests
JP3085899B2 (ja) マルチプロセッサシステム
US20150154045A1 (en) Contention management for a hardware transactional memory
JPH09330237A (ja) プロセス切り替え装置およびプロセス切り替え方法
WO2009067219A1 (en) Contention management for a hardware transactional memory
EP0751462A1 (en) A recoverable disk control system with a non-volatile memory
US20060069888A1 (en) Method, system and program for managing asynchronous cache scans
WO2003040948A1 (fr) Ordinateur et procede de commande
US20040128654A1 (en) Method and apparatus for measuring variation in thread wait time
US7197629B2 (en) Computing overhead for out-of-order processors by the difference in relative retirement times of instructions
JP2760747B2 (ja) 入出力命令発行方式
JP4423757B2 (ja) 例外処理システム及び方法、並びに、プロセッサ
JP2000163294A (ja) データベース管理方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体
JP2919457B1 (ja) 二重化装置i/o制御方式およびそのプログラム記録媒体
JP2834036B2 (ja) ロック制御器
JPH05204678A (ja) オンライントランザクションデータ処理システム
JPH103403A (ja) 計算機システムおよびデバッグ方法
JPH03158936A (ja) プログラムのテスト方法
JPH0310343A (ja) ホットスポットデータ管理処理方式
JPH09305553A (ja) 並列計算機システム
JP2933011B2 (ja) ファイルの排他制御システム
JPH09198269A (ja) 耐故障性型コンピュータシステム及び通信処理方法
JPS60254331A (ja) デ−タ処理システムにおける障害処理方式