JPS62204351A - デツドロツク解除方式 - Google Patents
デツドロツク解除方式Info
- Publication number
- JPS62204351A JPS62204351A JP61046647A JP4664786A JPS62204351A JP S62204351 A JPS62204351 A JP S62204351A JP 61046647 A JP61046647 A JP 61046647A JP 4664786 A JP4664786 A JP 4664786A JP S62204351 A JPS62204351 A JP S62204351A
- Authority
- JP
- Japan
- Prior art keywords
- deadlock
- database
- produced
- resource usage
- released
- 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
- 238000000034 method Methods 0.000 claims abstract description 84
- 238000011022 operating instruction Methods 0.000 abstract 1
- 238000001514 detection method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、データベース管理システム等における同時ア
クセス制御に関し、特にデッドロック発生時の解除方式
に間する。
クセス制御に関し、特にデッドロック発生時の解除方式
に間する。
従来、データベース管理システムでは、デッドロックが
発生すると一方的にデッドロックを検出したプロセスの
処理をキャンセルすることによりデッドロックの解除を
行なっていた。
発生すると一方的にデッドロックを検出したプロセスの
処理をキャンセルすることによりデッドロックの解除を
行なっていた。
前述した従来のデッドロック解除方式では、デッドロッ
クに関係するプロセス群のリソース使用量(例えばCP
Uタイム、データベースに対するアクセス回数等)を調
べず、デッドロックを検出したプロセスを一方的にキャ
ンセルしていた為、例えばそのプロセスのデータベース
アクセス量が他のプロセスのアクセス量より大きい場合
、キャンセルに伴う時間的損失が大きくなったり、キャ
ンセル時のデータベース復元処理に多くの時間を要する
という欠点があった。
クに関係するプロセス群のリソース使用量(例えばCP
Uタイム、データベースに対するアクセス回数等)を調
べず、デッドロックを検出したプロセスを一方的にキャ
ンセルしていた為、例えばそのプロセスのデータベース
アクセス量が他のプロセスのアクセス量より大きい場合
、キャンセルに伴う時間的損失が大きくなったり、キャ
ンセル時のデータベース復元処理に多くの時間を要する
という欠点があった。
本発明はこのような従来の欠点を解決したもので、その
目的は、デッドロック解除時のオーバーヘッドを少なく
することができるデッドロック解除方式を提供すること
にある。
目的は、デッドロック解除時のオーバーヘッドを少なく
することができるデッドロック解除方式を提供すること
にある。
本発明のデッドロック解除方式は、上記目的を達成する
ために、デッドロック発生時、該デッドロックに関係す
るプロセス群の中の何れかのプロセスの処理をキャンセ
ルすることにより、デッドロックの解除を行なうデッド
ロック解除方式において、 コンピュータのリソースの使用量をプロセス毎に計測す
るリソース使用量計測手段と、デッドロック発生時、該
デッドロックを発生させたプロセス群の中で前記リソー
ス量計測手段により計測されたリソース使用量が一番少
ないプロセスを検出するキャンセルプロセス検出手段と
、該キャンセルプロセス検出手段により検出されたプロ
セスの処理をキャンセルすることによりデッドロックの
解除を行なうデッドロック解除手段とを設ける。
ために、デッドロック発生時、該デッドロックに関係す
るプロセス群の中の何れかのプロセスの処理をキャンセ
ルすることにより、デッドロックの解除を行なうデッド
ロック解除方式において、 コンピュータのリソースの使用量をプロセス毎に計測す
るリソース使用量計測手段と、デッドロック発生時、該
デッドロックを発生させたプロセス群の中で前記リソー
ス量計測手段により計測されたリソース使用量が一番少
ないプロセスを検出するキャンセルプロセス検出手段と
、該キャンセルプロセス検出手段により検出されたプロ
セスの処理をキャンセルすることによりデッドロックの
解除を行なうデッドロック解除手段とを設ける。
デッドロックが検出されると、そのデフドロックを発生
させたプロセス群の中でリソース使用量が一番少ないプ
ロセスが検出され、このプロセスがキャンセルされるこ
とによりデッドロックの解除が行なわれるので、デッド
ロック解除時のオーバーヘッドを少なくすることができ
る。
させたプロセス群の中でリソース使用量が一番少ないプ
ロセスが検出され、このプロセスがキャンセルされるこ
とによりデッドロックの解除が行なわれるので、デッド
ロック解除時のオーバーヘッドを少なくすることができ
る。
次に本発明の実施例について図面を参照して説明する。
第1図は本発明の一実施例の構成図であり、1はユーザ
プロセス、2はデータベース操作命令解析手段、3はリ
ソース使用量計測手段、4はデッドロック検出手段、5
はキャンセルプロセス検出手段、6はデッドロック解除
手段である。
プロセス、2はデータベース操作命令解析手段、3はリ
ソース使用量計測手段、4はデッドロック検出手段、5
はキャンセルプロセス検出手段、6はデッドロック解除
手段である。
同図において、ユーザプロセス1がデータベース操作命
令を発行すると、制御はデータベース操作命令解析手段
2に移される。
令を発行すると、制御はデータベース操作命令解析手段
2に移される。
データベース操作命令解析手段2は、制御を引き取ると
、先ずそのデータベース操作命令を渡してリソース使用
量計測手段3を呼ぶ。
、先ずそのデータベース操作命令を渡してリソース使用
量計測手段3を呼ぶ。
リソース使用量計測手段3は、コンピュータのリソース
の使用量をプロセス毎に計測する手段であり、その実現
方法は各種考えられるが、その−例を第2図に示す。第
2図によれば、リソース使用量計測手段3は、次のステ
ップより構成される。
の使用量をプロセス毎に計測する手段であり、その実現
方法は各種考えられるが、その−例を第2図に示す。第
2図によれば、リソース使用量計測手段3は、次のステ
ップより構成される。
ステップ21; データベース操作命令のタイプを判
定する。COMMIT/ROLLBACK命令であれば
ステップ22を実行し、他の場合はステップ23を実行
する。
定する。COMMIT/ROLLBACK命令であれば
ステップ22を実行し、他の場合はステップ23を実行
する。
ステップ22; データベース操作命令実行回数カウ
ンタをゼロに初期化する。
ンタをゼロに初期化する。
ステップ23: データベース操作命令実行回数カウ
ンタに「1」を加える。
ンタに「1」を加える。
なお、上記データベース操作命令実行回数カウンタは、
各プロセスの開始時にゼロクリアされている。
各プロセスの開始時にゼロクリアされている。
以上のような処理により、リソース使用量計測手段3は
、データベース操作命令解析手段2から渡されたデータ
ベース操作命令に関連するプロセスのデータベース操作
命令実行回数カウンタの更新を行なう。
、データベース操作命令解析手段2から渡されたデータ
ベース操作命令に関連するプロセスのデータベース操作
命令実行回数カウンタの更新を行なう。
次に、データベース操作命令解析手段2は、データベー
ス操作命令を渡してデッドロック検出手段4を呼ぶ。
ス操作命令を渡してデッドロック検出手段4を呼ぶ。
デッドロック検出手段4は呼ばれると、当該データベー
ス操作命令によるデータベースに対するアクセス要求が
デッドロックを引き起こすが否かを判定する。デッドロ
ックを引き起こさない場合は、制御をデータベース操作
命令解析手段2に戻す、他方、デッドロックを引き起こ
す場合は、キャンセルプロセス検出手段5を呼ぶ。
ス操作命令によるデータベースに対するアクセス要求が
デッドロックを引き起こすが否かを判定する。デッドロ
ックを引き起こさない場合は、制御をデータベース操作
命令解析手段2に戻す、他方、デッドロックを引き起こ
す場合は、キャンセルプロセス検出手段5を呼ぶ。
キャンセルプロセス検出手段5は、デッドロックを引き
起こしたプロセス群の中で、どのプロセスの実行をキャ
ンセルすべきかを決定する手段であり、その処理の一例
を第3図に示す。第3図によれば、デフドロック検出手
段4ば次の手順によりキャンセルすべきプロセスを決定
する。
起こしたプロセス群の中で、どのプロセスの実行をキャ
ンセルすべきかを決定する手段であり、その処理の一例
を第3図に示す。第3図によれば、デフドロック検出手
段4ば次の手順によりキャンセルすべきプロセスを決定
する。
ステップ31; デッドロックを引き起こしたブロセ
ス群を管理しているキューの中から最初のプロセスを捜
し、そのプロセス番号を領域P1に、そのプロセスに対
応するデータベース操作命令実行回数カウンタの値を領
域A1に設定する。
ス群を管理しているキューの中から最初のプロセスを捜
し、そのプロセス番号を領域P1に、そのプロセスに対
応するデータベース操作命令実行回数カウンタの値を領
域A1に設定する。
ステ、ブ32; 同一キューの内で次のプロセスを捜
し、そのプロセスのプロセス番号を領域P!に、そのプ
ロセスに対応するデータベース操作命令実行回数カウン
タの値を領域A2に設定する。
し、そのプロセスのプロセス番号を領域P!に、そのプ
ロセスに対応するデータベース操作命令実行回数カウン
タの値を領域A2に設定する。
ステップ33; 二つのデータベース操作命令実行回
数カウンタの値が格納されている領域A1とA2を比較
し、A1よりA2が小さい場合は、次のステップ34を
実行する。
数カウンタの値が格納されている領域A1とA2を比較
し、A1よりA2が小さい場合は、次のステップ34を
実行する。
ステップ34;領域P2のプロセス番号を領域P1に移
送し、領域A2のデータベース操作命令実行回数カウン
タの値を領域A、に移送する。
送し、領域A2のデータベース操作命令実行回数カウン
タの値を領域A、に移送する。
ステップ35; デッドロックを引き起こしたプロセ
ス群の最後のプロセスに至るまでステップ32からステ
ップ34を実行する。
ス群の最後のプロセスに至るまでステップ32からステ
ップ34を実行する。
ステップ36; デッドロックを引き起こしたプロセ
ス群の中で、データベース操作命令の実行回数が一番受
ないプロセスのプロセス番号が領域P、に格納されてい
るので、このプロセスをキャンセルプロセスとしてデッ
ドロック検出手段4に通知する。
ス群の中で、データベース操作命令の実行回数が一番受
ないプロセスのプロセス番号が領域P、に格納されてい
るので、このプロセスをキャンセルプロセスとしてデッ
ドロック検出手段4に通知する。
さて、キャンセルプロセス検出手段5からキャンセルす
べきプロセスが通知されると、これに応答してデッドロ
ック検出手段4は、通知されたプロセスをデッドロック
解除手段6に通知する。
べきプロセスが通知されると、これに応答してデッドロ
ック検出手段4は、通知されたプロセスをデッドロック
解除手段6に通知する。
そして、デッドロック解除手段6は、通知されたプロセ
スの実行をキャンセルしデッドロックを解除する。また
、同時に当該プロセスのデータベース操作命令実行カウ
ンタをゼロクリアする。
スの実行をキャンセルしデッドロックを解除する。また
、同時に当該プロセスのデータベース操作命令実行カウ
ンタをゼロクリアする。
以上本発明の一実施例について説明したが、本発明は以
上の実施例にのみ限定されず、その他各種の付加変更が
可能である。例えば、上記実施例ではキャンセルプロセ
スを決定する手段でデータベース操作命令実行回数の一
番受ないプロセスを選び、これをキャンセルするように
しているが、次のような実施例も考えることができる。
上の実施例にのみ限定されず、その他各種の付加変更が
可能である。例えば、上記実施例ではキャンセルプロセ
スを決定する手段でデータベース操作命令実行回数の一
番受ないプロセスを選び、これをキャンセルするように
しているが、次のような実施例も考えることができる。
fal 入出力回数の一番受ないプロセスをキャンセ
ルする。
ルする。
fblcPU使用時間の一番受ないプロセスをキャンセ
ルする。
ルする。
(Ql データベース操作命令実行回数、入出力回数
。
。
CPU使用時間を総合して、一番リソース使用量が少な
いプロセスをキャンセルする。
いプロセスをキャンセルする。
以上説明したように、本発明は、デッドロック発生時に
デッドロックを引き起こしたプロセスの処理を一方的に
キャンセルすることによりデッドロックの解除を行なう
のではなく、デッドロックを引き起こしたプロセス群の
中でコンピュータのリソース使用量が一番受ないプロセ
スの処理をキャンセルすることによりデッドロックの解
除を行なっているので、デッドロック解除時のオーバー
ヘッドを少なくすることができ、 +11 デッドロック解除処理に伴う損失を最小限に
することができる。
デッドロックを引き起こしたプロセスの処理を一方的に
キャンセルすることによりデッドロックの解除を行なう
のではなく、デッドロックを引き起こしたプロセス群の
中でコンピュータのリソース使用量が一番受ないプロセ
スの処理をキャンセルすることによりデッドロックの解
除を行なっているので、デッドロック解除時のオーバー
ヘッドを少なくすることができ、 +11 デッドロック解除処理に伴う損失を最小限に
することができる。
(2)デッドロック解除処理の実行時間を最小限にする
ことができる。
ことができる。
等の効果がある。
第1図は本発明の一実施例の構成図、
第2図はリソース使用量計測手段3の処理の一例を示す
流れ図および、 第3図はキャンセルプロセス検出手段5の処理の一例を
示す流れ図である。 図において、1・・・ユーザプロセス、2・・・データ
ベース操作命令解析手段、3・・・リソース使用量計測
手段、4・・・デッドロック検出手段、5・・・キャン
セルプロセス検出手段、6・・・デッドロック解除手段
。
流れ図および、 第3図はキャンセルプロセス検出手段5の処理の一例を
示す流れ図である。 図において、1・・・ユーザプロセス、2・・・データ
ベース操作命令解析手段、3・・・リソース使用量計測
手段、4・・・デッドロック検出手段、5・・・キャン
セルプロセス検出手段、6・・・デッドロック解除手段
。
Claims (1)
- 【特許請求の範囲】 デッドロック発生時、該デッドロックに関係するプロセ
ス群の中の何れかのプロセスの処理をキャンセルするこ
とにより、デッドロックの解除を行なうデッドロック解
除方式において、 コンピュータのリソースの使用量をプロセス毎に計測す
るリソース使用量計測手段と、 デッドロック発生時、該デッドロックを発生させたプロ
セス群の中で前記リソース量計測手段により計測された
リソース使用量が一番少ないプロセスを検出するキャン
セルプロセス検出手段と、該キャンセルプロセス検出手
段により検出されたプロセスの処理をキャンセルするこ
とによりデッドロックの解除を行なうデッドロック解除
手段とを具備したことを特徴とするデッドロック解除方
式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61046647A JPS62204351A (ja) | 1986-03-04 | 1986-03-04 | デツドロツク解除方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61046647A JPS62204351A (ja) | 1986-03-04 | 1986-03-04 | デツドロツク解除方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62204351A true JPS62204351A (ja) | 1987-09-09 |
Family
ID=12753103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61046647A Pending JPS62204351A (ja) | 1986-03-04 | 1986-03-04 | デツドロツク解除方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62204351A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01217652A (ja) * | 1988-02-26 | 1989-08-31 | Nec Corp | ファイルの同時更新回避方式 |
JPH01305447A (ja) * | 1988-06-02 | 1989-12-08 | Nec Corp | ファイルアクセス制御装置 |
-
1986
- 1986-03-04 JP JP61046647A patent/JPS62204351A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01217652A (ja) * | 1988-02-26 | 1989-08-31 | Nec Corp | ファイルの同時更新回避方式 |
JPH01305447A (ja) * | 1988-06-02 | 1989-12-08 | Nec Corp | ファイルアクセス制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR930000853B1 (ko) | 멀티 프로세서 시스템을 사용한 데이터 베이스 프로세싱 시스템. | |
US5305455A (en) | Per thread exception management for multitasking multithreaded operating system | |
Bershad et al. | Fast mutual exclusion for uniprocessors | |
US6105049A (en) | Resource lock/unlock capability in multithreaded computer environment | |
KR101143214B1 (ko) | 멀티스레드된 프로그램에서의 잠재적 레이스를 검출하기위한 방법 및 시스템 | |
Muzahid et al. | SigRace: Signature-based data race detection | |
US20080209422A1 (en) | Deadlock avoidance mechanism in multi-threaded applications | |
US20020083252A1 (en) | Technique for using shared resources on a multi-threaded processor | |
KR20100038036A (ko) | 가상 처리 환경에서 데이터 수집을 용이하게 하기 위한 컴퓨터 프로그램 제품, 컴퓨터-구현된 방법 및 컴퓨터 시스템 | |
JPH0451335A (ja) | データベース処理装置 | |
US6105050A (en) | System for resource lock/unlock capability in multithreaded computer environment | |
Branding et al. | On Providing Soft and Hard Real-Time Capabilities in an Active DBMS. | |
JPS62204351A (ja) | デツドロツク解除方式 | |
US7096472B2 (en) | Systems and methods for ensuring atomicity of processes in a multitasking computing environment | |
US9858172B2 (en) | Apparatus and method for controlling debugging of program instructions including a transaction | |
Ratanaworabhan et al. | Efficient runtime detection and toleration of asymmetric races | |
US9990269B2 (en) | Apparatus and method for controlling debugging of program instructions including a transaction | |
JP3567911B2 (ja) | 疎結合マルチプロセッサシステム及びデッドロック解除方法 | |
JP3422504B2 (ja) | タスク間排他制御方法 | |
JPH0451329A (ja) | コンテキスト切替装置 | |
JPS6354638A (ja) | デツドロツク解除方式 | |
JP2735523B2 (ja) | プロシージャ・ステップ処理方法 | |
JPH01140250A (ja) | デッドロック情報収集方式 | |
JP2550708B2 (ja) | デバッグ方式 | |
JPH01213738A (ja) | トランザクション制御方式 |