JPS62208139A - 分散処理システムのデツドロツク検出方式 - Google Patents

分散処理システムのデツドロツク検出方式

Info

Publication number
JPS62208139A
JPS62208139A JP61050587A JP5058786A JPS62208139A JP S62208139 A JPS62208139 A JP S62208139A JP 61050587 A JP61050587 A JP 61050587A JP 5058786 A JP5058786 A JP 5058786A JP S62208139 A JPS62208139 A JP S62208139A
Authority
JP
Japan
Prior art keywords
site
information
sites
transaction
lock
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
JP61050587A
Other languages
English (en)
Inventor
Yoshiki Nakamatsu
芳樹 中松
Kazunori Kojima
一記 小島
Mitsunori Wada
光教 和田
Isamu Yoshida
勇 吉田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP61050587A priority Critical patent/JPS62208139A/ja
Publication of JPS62208139A publication Critical patent/JPS62208139A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、同報通信型ネットワーク玉に構築された分散
処理システムにおけるデッドロック検出方式に関するも
のである。
(従来の技術) 一般的な分散システムでは、各サイトに存在する複数の
独立した処理が並列的にデータを使用する。第7図は、
同時に2つの処理が1つのデータAを更新する例を示し
ている。この例では、2つの処理終了後のデータAには
処理2の更新がなされなかったような不都合が生じる。
この不都合を避けるために通常の分散システムでは、デ
ータの更新を伴う処理には、処理の実行以11ηに更新
するデータにロングをかけさせて、他の処理に使用でき
ないようにしている。ロックのかかっているデータを必
要とする他の処理は、ロングをかけた処理が終了し、ロ
ックを解除するまで待つことになる。
第8図は2つの処理がデータA、Bを使用するためロッ
クをかけている例を示している。この例では、処理1は
処理2を、処理2は処理lを永久に待ち続ける(以下こ
れをデッドロックと呼ぶ)といった不都合が生じる。こ
の不都合を避けるため1例えば、ACM)ランザクショ
ンズ オン データベース システムズ(ACMTra
nsactions on Database Sys
tem、5)vol、7.no、2゜(19B2)pp
 187−208に開示されているように、通常の分散
処理システムではデッドロックの検出・解消機構を備え
ている。このデッドロック検出の解消機構では、処理が
実行前に行うデータへのロックによって発生した処理の
間の待ち関係を、待ち関係グラフで取り扱う。fJS9
図はループの存在する待ち関係グラフを示すものである
。同図において、処Jllj lは処理の必要とするデ
ータを意味し、右向グラフ(右向辺)2はある処理1が
ある処理1の終γを待っていることを示している。デッ
ドロック検出・解消機構は5このグラフ上で待ち関係の
ループを発見することによりデッドロックを検出し、そ
のループを断ち切るために強制終了(アポート)させな
ければならない処理を決定し、その処理を強制終了する
ことによってデッドロックを解消する。
第1O図は分散処理システムにおける待ち関係グラフの
一例を示すものである。通常の分散システムでは第10
図の如く待ち関係グラフが複数のサイト3に分割して存
在する。このため、複数のサイト3にまたがる待ち関係
のループの検出・解消を行うために、1対1の通信のも
とでのサイト3間の待ち関係グラフ情報の交換を考慮し
たデッドロック検出方式が用いられている。
(発明が解決しようとする問題点) しかし、上記分散処理システムのデッドロック検出方式
は、1対1の通信のもとで、少数のサイトによって構成
される分散処理システムを想定している。そのため、多
数のサイトによって構成される分散処理システムにおい
て、多数サイト上のデータを使用する処理によって引き
起こされるデッドロックを検出するためには通信量が多
くなってしまう。そのため、分散処理システム全体とし
てのデッドロック検出の効率を上げることができないと
いう問題点がある。
本発明はブロードカストネットワーク上に構築された分
散システムにおいて以上述べた多数サイトにまたがるデ
ッドロックの検出に必要とする通信量が多くなるという
問題点を除去し、検出の効率に優れたデッドロック検出
方式を提供することを目的とする。
(問題点を解決するための手段) 本発明は前記問題点を解決するために、同報通信が可能
な通信網にトランザクション制御部及びデータ制御部の
うち少なくとも一方を有するサイトを複数個接続した分
散処理システムにおいて、前記データ制御部を有するサ
イトには、システム全体の保持するデータを各サイトが
管理するためのディレクトリと、受信した全サイトのロ
ック要求の関係情報を保持する保持手段と、再送のロッ
ク要求に付加された再送情報の認識機能を持ち、前記デ
ィレクトリ及び保持手段の内容に基づいて待ち関係を解
析してデッドロックを検出し、予め設定された各サイト
間の優先順位を参照して処理を強制終了させる検出手段
とを設け、前記トランザクション制御部よりロック要求
の再送のあったサイトは、待ち関係を解析してループが
ある場合には、該待ち関係情報をループを構成する潜在
サイトに同報送信し、該潜在サイトは自サイト内の情報
と受信した情報に基づいて待ち関係を解析してデッドロ
ックを検出する分散処理システムのデッドロック検出方
式である。
(作 用) 本発明によれば以上のように分散処理システムのデッド
ロック検出方式を構成したので、技術的手段は次のよう
に作用する。トランザクション制外部はロック要求を同
報送信して、応答のないデータ制御部を有するサイトに
対し、ロック要求に再送情報を付加して送信する。再送
のあったサイトの検出手段はディレクトリ及び保持手段
の内容を用いて待ち関係を解析し、ループがある場合に
は潜在サイトに待ち関係情報を同報送信する。
潜在サイトの検出手段は自サイト内の情報と受信した情
報を用いて待ち関係を解析してデッドロック検出する。
もし、ループが残存してデッドロックが検出できない場
合には優先順位の下位の潜在サイトに待ち時間を同報通
信する。下位の潜在サイトが自サイト内の情報と受信し
た情報を用いて、デッドロックを検出し1例えば再送情
報が付加された再送ロック要求の処理(トランザクショ
ン)を強制終了させる。このように、ロック要求及び待
ち関係情報を同報送信するので1通信回数が少なくてす
む。また、各サイトは、デッドロック検出のために有効
な情報を保持すると共に。
コック要求の再送を識別できるので、デッドロックの生
起しうる関係を絞り込める。また、デッドロックの検出
にあたっては動的なサイト編成を組み、その編成内での
みメツセージを交換することが1可能となるので、全体
のメツセージ交換硼の低減を図ることができる。従って
、jm記従来技術の問題点を解決できるのである。
(実施例) 第1図(a)は本発明のデッドロック検出方式を適用す
る分散処理システムの一実施例を示す構成図である。同
図において、ioは複数のサイト、11はデータ(デー
タアイテム)を記憶するディスク(装置) 、 12は
ディスク11のデータを制御するデータ制御部、 13
はトランザクション制御部、I4は同報通信が可能なロ
ーカルエリアネットワーク(LAN)である。
分散処理システムは複数のサイ目oをローカルエリアネ
ットワーク14で相互に接続することにより構成される
。各サイト10は、トランザクシヨン制御部御部13及
びデータ制御部12(内部又は外部にディスク11を備
えている)の少なくとも一方を有しているものであり、
同図ではいずれか一方を有するものを示している。
トランザクション制御部13は、トランザクションの要
求するデータアイテムを処理するにあたり、1バ前宣言
方式により所要データアイテムを格納しているディスク
11に一斉にロックをかける。
そのためにロック要求をデータ制御部12ヘローカルエ
リアネツトワーク14のブロードカスト(同報通信)機
能を利用して送信する。各データ制御部12はロック要
求が受信できたなら、トラザクジョン制御部13へ応答
する。トランザクション制御部13は全ての応答がなさ
れたかどうか監視しており一定時間内に応答されなかっ
たら応答のなかったデータ制御部12に対し再送ビット
を付加したロック要求を個別に再送する。
第1図(b)はデータ制御部12の内部構成図である。
データ制御部12は受信部at、送信部82、処理制御
部83、トランザクション関係グラフ部64、デッドロ
ック検出部65、及びシステム全体の保持するデータを
各サイトが管理するためのディレクトリ66から構成さ
れる。データ制御部!2はコック要求を受信できたら、
それが、自己の持つデータアイテムに向けてのものか他
サイトの持つデータアイテムに関するものかを、ディレ
クトリ8Bを調べて判定する。自己に向けての要求の場
合、既に受は取ったトランザクションとの待ち関係をト
ランザクション関係グラフgB84に有向辺で表す。他
サイトに向けての場合、あらゆる可能な待ち関係を同じ
グラフfm 134に無向辺で表す。例えば、データ制
御部12を有するサイト3が2つの場合(2サイト、以
下同様とする)の待ち関係の説明図を第2図(a)(b
)(c)に示す。例えば今、第2図(a) (7)よう
なトランザクションの待ち関係ができているものとする
。このとき、サイトAでのトランザクション関係グラフ
は第2図(b)のようになり、サイトBでのトランザク
ション関係グラフは第2図(C)のようになる。ここで
サイトAにおいてI4の要求データアイテムとT、、I
2の要求データアイテムとは競合しないということをサ
イトBはディレクトリ8Bから知っている。
ロック要求を再送したトランザクションをT”とする。
茅は再送ビットを表す。トランザクション関係グラフ部
上でT”を始点にT〜)らのびる有向辺を含み順に辺を
辿ったとき再びT県戻る経路が存在するとき、その径路
を潜在ループとよぶ。但し、辺を辿るにあたり有向辺に
ついてはその向きを考え、無向辺についてはそれを相方
向とみなす、またノードは1回しか通過できないし、T
“は中間地点にはない。2つの潜在ループのうち1tl
II所でも含まれる径路が異なれば、異なるものとみな
す。あるサイトのトランザクション関係グラ7部64上
で複数のサイトにまたがって辺が潜在ループを構成して
いるが、現実にはループになっていない場合、そのルー
プを幻想ループとよぶ。
第3図は第1図(b)の処理制御部83の制御の流れを
示す、処理81のように、処理制御部63は受信部61
から何らかの情報を受信したときに処理を始める。
まず第一に、処理82にように、ロック要求の情報があ
る。ロック要求は更に2種類に分れ、ロック要求が非再
送のときは処理85へ行き、トランザクション関係グラ
フ部64に待ち関係を記入後、待ち行列を作らないもの
に対してはトランザクション制御部13にロック終了応
答を送信部62を通して返答し次の受信の処理へと移る
11丁送口ック要求のときは処理8Bでデッドロックの
可能性があるので、デッドロック検出部65を起動する
第二に、処理83のように他のデータ制御部12からの
情報がある。他のデータ制御部12の待ち関係を受信し
たときは処理87でデッドロック検出部135を起動す
る。また、トランザクションT効処理をアポートしたと
いう情報が送信されてきたとすると、処理88で自サイ
トのトランザクション関係グラフ部64からで1除く、
更にT”に結合している辺を除く。その結果、新たにロ
ック可能となったトランザクションを持つトランザクシ
ョン制御部13に対し口・2り終了応答を返送する。
サイトxからの幻想ループ情報を受信したときは、処理
89で1悸イトとサイトxを含むループは存在しないと
いうことをトランザクション関係グラフ部64に記憶し
ておく。
第三に、処理84のようにトランザクション終了情報が
ある。トランザクションTMの処理が終了したという情
報が送信されてきたとすると、自サイトのトランザクシ
ョン関係グラフ部7からTMを除く。更にTMに結合し
ている辺を除く。その結果、新たにロック可能となった
トランザクションを持つトランザクション制°外部13
に対しロック終了応答を返送する。
デッドロック検出部85が起動されるのは、前述のよう
に再送ロック要求受信時(処理88)と他サイトの待ち
行列情報受信時(処理87)である。まず第一に自サイ
トに向けてTkftいう再送サイト要求を受信した時、
トランザクション関係グーラフ部64に記述し、T”M
待ち行列を作るか判定する。もし作らないなら処理制御
部83へ制御を移す0作るなら、T”e含むループがあ
るかどうか判定する。
もし存在しないなら処理制御部63へ制御を移す。
存在するなら形成可能なループを構成するサイト、すな
わち潜在サイトにT咎を含む待ち関係を送信先を付加し
て同報送信し、処理制御部63へ制御を移す。
第2に他サイトに向けてTたいう再送ロック要求を受信
した時、T“から再送ビットを除去しTとしてトランザ
クション関係グラフ部84に記述する。次に、Tがすで
に送信されてきている別の再送トランザクションT、と
の組み合わせて潜在ループを形成するかどうか判定する
。形成しないなら処理制御部63へ制御を移す。形成す
るなら、潜在サイトにTとT”を含む待ち関係を送信先
を付加して同報送信し、処理制御部63へ制御を移す。
第三に、他サイトの待ち行列情報を受信したとき、サイ
トxでT′$<発見され、潜在サイトにT牙を含む待ち
関係が送信されたとし、まず送られてきた待ち関係を自
己のトランザクション関係グラフ部に記入し、その待ち
関係がもしあれば幻想ループの一部を構成していないか
判定する。構成していれば、処理制御部63へ制御を移
す。次に、デッドロックを発見できたかどうか判定する
0発見できたならT“を即座にアポートする。さらにア
ポートしたという情報も関連サイトに同報送信する。
デッドロックが無いということが発見でき、かつ自己以
外に情報未送信の潜在サイトがあるならそれらに、“サ
イトxと自己のサイトを含むループは幻想ループである
″という情報を同報送信し、処理制御部83へ制御を移
す0発見できたが自己以外の情報未送信の潜在サイトが
ないならなにもせず、処理制御部63へ制御を移す。
また、デッドロックの存否が決定できないなら、優先度
下位の潜在サイトにループに関連する自己サイトの情報
だけを同報送信し、処理制御部63へ制御を移す。デッ
ドロックの存否が決定できず、かつ優先度上位の潜在サ
イトから情報がまだ送られていないなら何もせずに処理
制御部63へ制御を移す。
最後に、具体例について述べる。第4図(a)は2サイ
ト(A、B)の場合の待ち行列の例である。現実には第
4図(b)のようにデッドロックは存在しない。このと
き、サイトBのトランザクション関係グラフ部64は第
4図(C)のようになりT7で始まり終るループは存在
しないのでAには情+[Jは送られないままデッドロッ
ク検出部65から処理制御部63に制御が移る。
第5図(a)は3サイト(A 、 B 、 C)の場合
の待ち行列の例である。このとき、まず第5図(b)の
ようにサイトCがトランザクション関係グラフ部64を
調べる。その結果潜在ループがあるので潜在サイトであ
るサイトA、Bへ情報を送る。サイトA、BはサイトC
からの情報を自己のトランザクション関係グラフ部84
へ記入する。まずサイトAでは第5図(C)のようにな
り、この結果Aは潜在サイトがまだ残っていることを知
る。サイトBより自己の方が優先度が高いのでサイトB
へ<T? 4−T’2>の情報だけを送信する。この間
サイトBもアルゴリズム(デッドロック検出部65)を
起動し自己のトランザクション関係グラフ部64を調べ
るがイ4もせず通常処理に戻る。サイトBはサイl−A
からの情報も自己のトランザクション関係グラフ部64
に書き加える。その結果デッドロックを検出しT、をア
ポートする。
:56図(a)は7サイト(A−H)の場合の待ち行列
の例である。現実には、第6図(b)のように3ループ
存在する。まずサイトHが全サイトに情報をおくる。そ
の後の情報送信は各ループ内だけで行なわれる。すなわ
ち、(A 、 B 、 C)グループと(E 、 D)
グループと(F、G)グループが独立にしかも並行して
情報を送信する。その結果、最も早くデッドロックを見
つけたサイトがTOを7ポートする。そして、すべての
ループが解かれることになる。
(発明の効果) 以上、詳細に説明したように本発明によれば事前宣言に
よるロック要求をブロードカスト(同報通信)により実
現するのでメツセージ交換回数が少なくてすみ、かつデ
ッドロックの起きる割合が稀になる。さらに、各サイト
は他のサイトの状況に関しデッドロック検出に際しての
有効な情報を保持すると共に、再送のあったトランザク
ションのロック要求に+1送ビツト(情報)を付加して
いるので、デッドロックの生起しうる状況を絞りこめ、
また検出にあたっては動的なサイト編成を組み、その編
成内でのみメツセージを交換する。したがって全体のメ
ツセージ交換量の低減が期待できる。
【図面の簡単な説明】
第1図(a)(b)は本発明の方式を適用する一実施例
の分散処理システムの構成図、第2図(a)(b) (
c)は待ち関係の説明図、第3図は第1図の処理制御部
の動作を示す流れ図、第4図(a)(b) (c)は2
サイトにおける待ち関係の具体的な説明図、第5図(a
) (b) (c)は3サイトにおける具体的な説明図
、第6図(a) (b)は7サイトにおける具体的な待
ち関係の説明図、第7図はデータのロックの必要性を示
す説明図、第8図はデッドロック検出Φ解消機構の必要
性を示す説明図、第9図はループの存在する待ち関係グ
ラフを示す図、第1O図はサイト間に分散されたループ
を持つ待ち関係グラフを示す図である。 10・・・サイト、      11・・・ディスク、
12・・・データ制御部。 13・・・トランザクション制御部、 14・・・ローカルエリアネットワーク(LAN)、6
1・・・受信部、     62・・・送信部、63・
・・処理制御部、 64・・・トランザクション関係グラフ部、85・・・
デッドロック検出部、66・・・ディレクトリ。

Claims (1)

  1. 【特許請求の範囲】 同報通信が可能な通信網にトランザクション制御部及び
    データ制御部のうち少なくとも一方を有するサイトを複
    数個接続した分散処理システムにおいて、 前記データ制御部を有するサイトには、システム全体の
    保持するデータを各サイトが管理するためのディレクト
    リと、 受信した全サイトのロック要求の関係情報を保持する保
    持手段と、 再送のロック要求に付加された再送情報の認識機能を持
    ち、前記ディレクトリ及び保持手段の内容に基づいて待
    ち関係を解析してデッドロックを検出し、予め設定され
    た各サイト間の優先順位を参照して処理を強制終了させ
    る検出手段とを設け、 前記トランザクション制御部よりロック要求の再送のあ
    ったサイトは、待ち関係を解析してループがある場合に
    は、該待ち関係情報をループを構成する潜在サイトに同
    報送信し、 該潜在サイトは自サイト内の情報と受信した情報に基づ
    いて待ち関係を解析してデッドロックを検出することを
    特徴とする分散処理システムのデッドロック検出方式。
JP61050587A 1986-03-10 1986-03-10 分散処理システムのデツドロツク検出方式 Pending JPS62208139A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61050587A JPS62208139A (ja) 1986-03-10 1986-03-10 分散処理システムのデツドロツク検出方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61050587A JPS62208139A (ja) 1986-03-10 1986-03-10 分散処理システムのデツドロツク検出方式

Publications (1)

Publication Number Publication Date
JPS62208139A true JPS62208139A (ja) 1987-09-12

Family

ID=12863103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61050587A Pending JPS62208139A (ja) 1986-03-10 1986-03-10 分散処理システムのデツドロツク検出方式

Country Status (1)

Country Link
JP (1) JPS62208139A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845117A (en) * 1993-03-19 1998-12-01 Fujitsu Limited Deadlock detecting device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845117A (en) * 1993-03-19 1998-12-01 Fujitsu Limited Deadlock detecting device

Similar Documents

Publication Publication Date Title
CA2205725C (en) Preventing conflicts in distributed systems
US6738971B2 (en) Using a resource manager to coordinate the comitting of a distributed transaction
AU2002308664B2 (en) Reducing latency and message traffic during data and lock transfer in a multi-node system
US6769003B2 (en) Parallel logging method for transaction processing system
CN111277616A (zh) 一种基于rdma的数据传输方法和分布式共享内存系统
JPH0624376B2 (ja) コンピュータ・ネットワークにおける通信方法
US5961659A (en) Independent simultaneous queueing of message descriptors
US7178060B2 (en) Transmitting data reliably and efficiently
AU2002308664A1 (en) Reducing latency and message traffic during data and lock transfer in a multi-node system
JPH06125347A (ja) メッセージ交換方法
JP2002542527A (ja) 一般的なシリアルバスプロトコルの範囲を拡張する方法並びに装置
JPH0415840A (ja) 分散型データベース管理装置
US7246120B2 (en) Techniques for achieving higher availability of resources during reconfiguration of a cluster
Jia et al. RMP: fault-tolerant group communication
US7509426B2 (en) System for aborting web services automatically and method thereof
US7346690B1 (en) Deferred piggybacked messaging mechanism for session reuse
Liu et al. Message communication protocol and operating system design for the distributed loop computer network (DLCN)
EP1891525A2 (en) Techniques for handling lock-related inconsistencies
JPH0213158A (ja) メツセージ伝送方法
JPS62208139A (ja) 分散処理システムのデツドロツク検出方式
JPS61210745A (ja) 同報通信方式
Gray Network services in systems network architecture
JPH0458215B2 (ja)
JP3088683B2 (ja) データ通信システム
JPS6352263A (ja) 分散処理システムのデツドロツク検出方式