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
Application number
JP61046647A
Other languages
English (en)
Inventor
Tatsumi Nishi
西 龍巳
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 JP61046647A priority Critical patent/JPS62204351A/ja
Publication of JPS62204351A publication Critical patent/JPS62204351A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データベース管理システム等における同時ア
クセス制御に関し、特にデッドロック発生時の解除方式
に間する。
〔従来の技術〕
従来、データベース管理システムでは、デッドロックが
発生すると一方的にデッドロックを検出したプロセスの
処理をキャンセルすることによりデッドロックの解除を
行なっていた。
〔発明が解決しようとする問題点〕
前述した従来のデッドロック解除方式では、デッドロッ
クに関係するプロセス群のリソース使用量(例えばCP
Uタイム、データベースに対するアクセス回数等)を調
べず、デッドロックを検出したプロセスを一方的にキャ
ンセルしていた為、例えばそのプロセスのデータベース
アクセス量が他のプロセスのアクセス量より大きい場合
、キャンセルに伴う時間的損失が大きくなったり、キャ
ンセル時のデータベース復元処理に多くの時間を要する
という欠点があった。
本発明はこのような従来の欠点を解決したもので、その
目的は、デッドロック解除時のオーバーヘッドを少なく
することができるデッドロック解除方式を提供すること
にある。
〔問題点を解決するための手段〕
本発明のデッドロック解除方式は、上記目的を達成する
ために、デッドロック発生時、該デッドロックに関係す
るプロセス群の中の何れかのプロセスの処理をキャンセ
ルすることにより、デッドロックの解除を行なうデッド
ロック解除方式において、 コンピュータのリソースの使用量をプロセス毎に計測す
るリソース使用量計測手段と、デッドロック発生時、該
デッドロックを発生させたプロセス群の中で前記リソー
ス量計測手段により計測されたリソース使用量が一番少
ないプロセスを検出するキャンセルプロセス検出手段と
、該キャンセルプロセス検出手段により検出されたプロ
セスの処理をキャンセルすることによりデッドロックの
解除を行なうデッドロック解除手段とを設ける。
〔作用〕
デッドロックが検出されると、そのデフドロックを発生
させたプロセス群の中でリソース使用量が一番少ないプ
ロセスが検出され、このプロセスがキャンセルされるこ
とによりデッドロックの解除が行なわれるので、デッド
ロック解除時のオーバーヘッドを少なくすることができ
る。
〔実施例〕
次に本発明の実施例について図面を参照して説明する。
第1図は本発明の一実施例の構成図であり、1はユーザ
プロセス、2はデータベース操作命令解析手段、3はリ
ソース使用量計測手段、4はデッドロック検出手段、5
はキャンセルプロセス検出手段、6はデッドロック解除
手段である。
同図において、ユーザプロセス1がデータベース操作命
令を発行すると、制御はデータベース操作命令解析手段
2に移される。
データベース操作命令解析手段2は、制御を引き取ると
、先ずそのデータベース操作命令を渡してリソース使用
量計測手段3を呼ぶ。
リソース使用量計測手段3は、コンピュータのリソース
の使用量をプロセス毎に計測する手段であり、その実現
方法は各種考えられるが、その−例を第2図に示す。第
2図によれば、リソース使用量計測手段3は、次のステ
ップより構成される。
ステップ21;  データベース操作命令のタイプを判
定する。COMMIT/ROLLBACK命令であれば
ステップ22を実行し、他の場合はステップ23を実行
する。
ステップ22;  データベース操作命令実行回数カウ
ンタをゼロに初期化する。
ステップ23:  データベース操作命令実行回数カウ
ンタに「1」を加える。
なお、上記データベース操作命令実行回数カウンタは、
各プロセスの開始時にゼロクリアされている。
以上のような処理により、リソース使用量計測手段3は
、データベース操作命令解析手段2から渡されたデータ
ベース操作命令に関連するプロセスのデータベース操作
命令実行回数カウンタの更新を行なう。
次に、データベース操作命令解析手段2は、データベー
ス操作命令を渡してデッドロック検出手段4を呼ぶ。
デッドロック検出手段4は呼ばれると、当該データベー
ス操作命令によるデータベースに対するアクセス要求が
デッドロックを引き起こすが否かを判定する。デッドロ
ックを引き起こさない場合は、制御をデータベース操作
命令解析手段2に戻す、他方、デッドロックを引き起こ
す場合は、キャンセルプロセス検出手段5を呼ぶ。
キャンセルプロセス検出手段5は、デッドロックを引き
起こしたプロセス群の中で、どのプロセスの実行をキャ
ンセルすべきかを決定する手段であり、その処理の一例
を第3図に示す。第3図によれば、デフドロック検出手
段4ば次の手順によりキャンセルすべきプロセスを決定
する。
ステップ31;  デッドロックを引き起こしたブロセ
ス群を管理しているキューの中から最初のプロセスを捜
し、そのプロセス番号を領域P1に、そのプロセスに対
応するデータベース操作命令実行回数カウンタの値を領
域A1に設定する。
ステ、ブ32;  同一キューの内で次のプロセスを捜
し、そのプロセスのプロセス番号を領域P!に、そのプ
ロセスに対応するデータベース操作命令実行回数カウン
タの値を領域A2に設定する。
ステップ33;  二つのデータベース操作命令実行回
数カウンタの値が格納されている領域A1とA2を比較
し、A1よりA2が小さい場合は、次のステップ34を
実行する。
ステップ34;領域P2のプロセス番号を領域P1に移
送し、領域A2のデータベース操作命令実行回数カウン
タの値を領域A、に移送する。
ステップ35;  デッドロックを引き起こしたプロセ
ス群の最後のプロセスに至るまでステップ32からステ
ップ34を実行する。
ステップ36;  デッドロックを引き起こしたプロセ
ス群の中で、データベース操作命令の実行回数が一番受
ないプロセスのプロセス番号が領域P、に格納されてい
るので、このプロセスをキャンセルプロセスとしてデッ
ドロック検出手段4に通知する。
さて、キャンセルプロセス検出手段5からキャンセルす
べきプロセスが通知されると、これに応答してデッドロ
ック検出手段4は、通知されたプロセスをデッドロック
解除手段6に通知する。
そして、デッドロック解除手段6は、通知されたプロセ
スの実行をキャンセルしデッドロックを解除する。また
、同時に当該プロセスのデータベース操作命令実行カウ
ンタをゼロクリアする。
以上本発明の一実施例について説明したが、本発明は以
上の実施例にのみ限定されず、その他各種の付加変更が
可能である。例えば、上記実施例ではキャンセルプロセ
スを決定する手段でデータベース操作命令実行回数の一
番受ないプロセスを選び、これをキャンセルするように
しているが、次のような実施例も考えることができる。
fal  入出力回数の一番受ないプロセスをキャンセ
ルする。
fblcPU使用時間の一番受ないプロセスをキャンセ
ルする。
(Ql  データベース操作命令実行回数、入出力回数
CPU使用時間を総合して、一番リソース使用量が少な
いプロセスをキャンセルする。
〔発明の効果〕
以上説明したように、本発明は、デッドロック発生時に
デッドロックを引き起こしたプロセスの処理を一方的に
キャンセルすることによりデッドロックの解除を行なう
のではなく、デッドロックを引き起こしたプロセス群の
中でコンピュータのリソース使用量が一番受ないプロセ
スの処理をキャンセルすることによりデッドロックの解
除を行なっているので、デッドロック解除時のオーバー
ヘッドを少なくすることができ、 +11  デッドロック解除処理に伴う損失を最小限に
することができる。
(2)デッドロック解除処理の実行時間を最小限にする
ことができる。
等の効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成図、 第2図はリソース使用量計測手段3の処理の一例を示す
流れ図および、 第3図はキャンセルプロセス検出手段5の処理の一例を
示す流れ図である。 図において、1・・・ユーザプロセス、2・・・データ
ベース操作命令解析手段、3・・・リソース使用量計測
手段、4・・・デッドロック検出手段、5・・・キャン
セルプロセス検出手段、6・・・デッドロック解除手段

Claims (1)

  1. 【特許請求の範囲】 デッドロック発生時、該デッドロックに関係するプロセ
    ス群の中の何れかのプロセスの処理をキャンセルするこ
    とにより、デッドロックの解除を行なうデッドロック解
    除方式において、 コンピュータのリソースの使用量をプロセス毎に計測す
    るリソース使用量計測手段と、 デッドロック発生時、該デッドロックを発生させたプロ
    セス群の中で前記リソース量計測手段により計測された
    リソース使用量が一番少ないプロセスを検出するキャン
    セルプロセス検出手段と、該キャンセルプロセス検出手
    段により検出されたプロセスの処理をキャンセルするこ
    とによりデッドロックの解除を行なうデッドロック解除
    手段とを具備したことを特徴とするデッドロック解除方
    式。
JP61046647A 1986-03-04 1986-03-04 デツドロツク解除方式 Pending JPS62204351A (ja)

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)

* Cited by examiner, † Cited by third party
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 ファイルアクセス制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
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) トランザクション制御方式