JPS63191237A - 分散型並列処理の排他方式 - Google Patents
分散型並列処理の排他方式Info
- Publication number
- JPS63191237A JPS63191237A JP2296687A JP2296687A JPS63191237A JP S63191237 A JPS63191237 A JP S63191237A JP 2296687 A JP2296687 A JP 2296687A JP 2296687 A JP2296687 A JP 2296687A JP S63191237 A JPS63191237 A JP S63191237A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- processing unit
- lock
- request
- exclusive control
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
並列処理を実現しているプログラムが、子の処理単位の
処理が完了した時にこの旨をロック機構に通知し、 ロック機構が、処理単位がロック処理要求を発行した時
に、排他制御キューを参照して、当該処理単位の親の処
理単位が同一資源に対してロック要求を既に発行してい
るか否かを調べ、発行されていない場合に当該ロック要
求発行元処理単位の名前及び直系の先祖にあたる処理単
位の名前を持つノードを排他制御キューにつなぎ、 ロック機構が、処理単位の処理完了が通知された時に、
当該処理単位の名前を含乙ツードが排他制御キューの中
に存在するか否かを調べ、存在する場合には、当該ノー
ドから当該処理単位の名前を削除する ことを特徴とする分散型並列処理の排他方式である。
処理が完了した時にこの旨をロック機構に通知し、 ロック機構が、処理単位がロック処理要求を発行した時
に、排他制御キューを参照して、当該処理単位の親の処
理単位が同一資源に対してロック要求を既に発行してい
るか否かを調べ、発行されていない場合に当該ロック要
求発行元処理単位の名前及び直系の先祖にあたる処理単
位の名前を持つノードを排他制御キューにつなぎ、 ロック機構が、処理単位の処理完了が通知された時に、
当該処理単位の名前を含乙ツードが排他制御キューの中
に存在するか否かを調べ、存在する場合には、当該ノー
ドから当該処理単位の名前を削除する ことを特徴とする分散型並列処理の排他方式である。
本発明は、分散型並列処理の排他方式に関するものであ
る。
る。
第7図は分散処理を説明する図である。同図において、
lは端末、2−1ないし2−3はシステム、AないしC
はデータベースをそれぞれ示している。オペレータが端
末lからコマンドを入力すると、コマンドはシステム2
−1に送られる。システム2−1は、コマンドを受信す
ると、処理単位T1を生成する。処理単位T1の実行過
程において、システム2−1は、システム2−2および
システム2−3に処理を依頼する。システム2−2はシ
ステム2−1からの処理依頼を受は取ると処理単位Tl
lを生成し、同様に、システム2−3はシステム2−1
からの処理依頼を受は取ると処理単位T12を生成する
。処理単位TllはデータベースAまたはデータベース
Cをアクセスして処理を行い、同様に処理単位T12は
データベースB又はデータベースCをアクセスして処理
を行う。処理単位T11と処理単位T12は並列実行可
能である。
lは端末、2−1ないし2−3はシステム、AないしC
はデータベースをそれぞれ示している。オペレータが端
末lからコマンドを入力すると、コマンドはシステム2
−1に送られる。システム2−1は、コマンドを受信す
ると、処理単位T1を生成する。処理単位T1の実行過
程において、システム2−1は、システム2−2および
システム2−3に処理を依頼する。システム2−2はシ
ステム2−1からの処理依頼を受は取ると処理単位Tl
lを生成し、同様に、システム2−3はシステム2−1
からの処理依頼を受は取ると処理単位T12を生成する
。処理単位TllはデータベースAまたはデータベース
Cをアクセスして処理を行い、同様に処理単位T12は
データベースB又はデータベースCをアクセスして処理
を行う。処理単位T11と処理単位T12は並列実行可
能である。
分散処理において階層構造を持つ並列処理間の排他論理
は現状では確立されていない。
は現状では確立されていない。
本発明は、この点に鑑みて創作されたものであって、分
散処理における階層構造を持つ並列処理の排他を効率良
く行うことを目的としている。
散処理における階層構造を持つ並列処理の排他を効率良
く行うことを目的としている。
第1図は階層構造をもつ複数の処理単位の例を示す図で
ある。処理TIは処理Tllと処理T12を生成し、処
理Tllは処理T111と処理T112を生成する。
ある。処理TIは処理Tllと処理T12を生成し、処
理Tllは処理T111と処理T112を生成する。
先祖の階層を下位階層とし、子孫の階層を上位階層とす
る。
る。
一連の処理を階層構造を持つ複数の処理単位に分けて各
処理を並列に実行させる場合の排他論理について考える
。処理T1は処理Tliと処理T12に分けられ、処理
Tllと処理TI2は並列に処理される。処理Tllは
処理Ti1lと処理T112に分けられ、処理T111
と処理T112は並列に処理される。上記のような処理
が並行して走行する場合、資源の排他のためのロック論
理は以下の規則で行われる。
処理を並列に実行させる場合の排他論理について考える
。処理T1は処理Tliと処理T12に分けられ、処理
Tllと処理TI2は並列に処理される。処理Tllは
処理Ti1lと処理T112に分けられ、処理T111
と処理T112は並列に処理される。上記のような処理
が並行して走行する場合、資源の排他のためのロック論
理は以下の規則で行われる。
規則1
直系の下位階層の処理で既に同一のロックを獲得してい
る場合は、二重要求として検出する。
る場合は、二重要求として検出する。
規則2
上位階層の処理で既に同一のロックを獲得している場合
は、二重要求として検出する。
は、二重要求として検出する。
規則3
前記以外の関係にある処理間でロック排他を行う。
上記の規則を概念的に第2図に示す。この場合、各処理
が資源の逐次化のために獲得するロックの論理は以下の
ようになる。
が資源の逐次化のために獲得するロックの論理は以下の
ようになる。
■ 処理T1がロックを獲得した後、処理Tllが同一
のロックを獲得しようとした場合、処理Tllの直系の
下位階層の処理である処理TIが既にロックを獲得して
いるため、二重要求とする。処理Tllは、処理T1の
獲得したロックにより資源をアクセスする。
のロックを獲得しようとした場合、処理Tllの直系の
下位階層の処理である処理TIが既にロックを獲得して
いるため、二重要求とする。処理Tllは、処理T1の
獲得したロックにより資源をアクセスする。
■ 処理Ti1lがロックを獲得した後、処理Tllが
同一のロックを獲得しようとした場合、処理Tllの上
位階層である処理Ti1lが獲得したロックは、処理T
i1lが完了したとき処理Tllに引き継ぐことにより
、二重要求とする。
同一のロックを獲得しようとした場合、処理Tllの上
位階層である処理Ti1lが獲得したロックは、処理T
i1lが完了したとき処理Tllに引き継ぐことにより
、二重要求とする。
■ 上記以外の処理間では常に正しくロックが獲得出来
る。
る。
このロック論理を以下の方式により効率よく実現する。
ロック主体(ロック要求処理)の階層構造を排他制御キ
ューのノードに実現する。例えば、処理Ti1lが資源
Rをロックし、処理?211が資源Rをロックした場合
、第3図のように下位階層の処理を排他制御キューのノ
ード内に表示する。
ューのノードに実現する。例えば、処理Ti1lが資源
Rをロックし、処理?211が資源Rをロックした場合
、第3図のように下位階層の処理を排他制御キューのノ
ード内に表示する。
並列処理のプログラム及びロック機構は、以下の論理を
プログラムで実現する。なお、分散処理システムの中に
は、論理的に1個のロック機構が存在する。
プログラムで実現する。なお、分散処理システムの中に
は、論理的に1個のロック機構が存在する。
並列処理を実現するプログラムは、上位階層の処理が完
了した場合、マクロ命令などでロック機構に通知する。
了した場合、マクロ命令などでロック機構に通知する。
例えば、処理Ti1l及び処理T112が完了した場合
、その都度、処理Tllがそのことをロック機構に通知
する。
、その都度、処理Tllがそのことをロック機構に通知
する。
ロック機構は、上記の通知を受けたら、完了した処理T
i1lが獲得していたロックに対して次の処理を行う。
i1lが獲得していたロックに対して次の処理を行う。
即ち、第4図に示すように、排他制御キューのノードを
検索して、完了した処理T111のノードの階層表示を
消す。
検索して、完了した処理T111のノードの階層表示を
消す。
ロック要求時のロック機構の処理論理について説明する
。ロック機構は、ロック要求時に排他制御キューの総て
のノードをチェックし、要求処理(ロック主体)の直系
の下位階層の処理が同一のロックを既に獲得しているか
否かを調べる。既に獲得していた場合は二重要求として
検出する。獲得していない場合、新たに排他制御キュー
にノードを登録する。例えば、以下のような要求があっ
た場合、 処理T211が資源Rに対してロック 処理T1.1が資源Rに対してロック 処理T12が資源Rに対してロック 資源Ti1lが資源Rに対してロック(要求1)排他制
御キューは第5図のようになる。処理T12までは正し
く排他が行われるが、処理T111の要求では、処理T
ll及び処理T1が既にロックを獲得していないかのチ
ェックが行われ、下位階層の処理Tllで既にロックを
獲得しているため二重要求として検出される。
。ロック機構は、ロック要求時に排他制御キューの総て
のノードをチェックし、要求処理(ロック主体)の直系
の下位階層の処理が同一のロックを既に獲得しているか
否かを調べる。既に獲得していた場合は二重要求として
検出する。獲得していない場合、新たに排他制御キュー
にノードを登録する。例えば、以下のような要求があっ
た場合、 処理T211が資源Rに対してロック 処理T1.1が資源Rに対してロック 処理T12が資源Rに対してロック 資源Ti1lが資源Rに対してロック(要求1)排他制
御キューは第5図のようになる。処理T12までは正し
く排他が行われるが、処理T111の要求では、処理T
ll及び処理T1が既にロックを獲得していないかのチ
ェックが行われ、下位階層の処理Tllで既にロックを
獲得しているため二重要求として検出される。
第6図はロック解放論理を説明する図である。
■ Tll処理が完了すると、T1処理はロック機構に
Tll処理の完了を通知する。
Tll処理の完了を通知する。
■ ロック機構は、排他制御キューのTll処理ノード
からTl1階層のための表示を消す。
からTl1階層のための表示を消す。
■ この時点で712処理のロック二重要求が検出され
る。
る。
■ ロック機構は、処理T12を起動する。
■ 処理T12は処理T1のロックを使用して資源をア
クセスする。
クセスする。
以上の説明から明らかなように、本発明によれば、分散
型並列処理における資源の排他を効率よく行うことが出
来る。
型並列処理における資源の排他を効率よく行うことが出
来る。
第1図は階層構造をもつ複数の処理単位の例を示す図、
第2図はロック論理の規則を説明するための図、第3図
は排他制御キューの構造を示す図、第4図はロック機構
の処理論理を説明するための図、第5図はロック要求時
のロック機構の処理論理を説明するための図、第6図は
ロック解放論理を説明するための図、第7図は分散処理
の例を示す図である。 1・・・端末、2−1ないし2−3・・・システム、A
ないしC・・・データベース。
第2図はロック論理の規則を説明するための図、第3図
は排他制御キューの構造を示す図、第4図はロック機構
の処理論理を説明するための図、第5図はロック要求時
のロック機構の処理論理を説明するための図、第6図は
ロック解放論理を説明するための図、第7図は分散処理
の例を示す図である。 1・・・端末、2−1ないし2−3・・・システム、A
ないしC・・・データベース。
Claims (1)
- 【特許請求の範囲】 一連の処理を階層構造を有する複数の処理単位に分けて
処理単位を並列に実行させ得ると共に、資源の排他制御
を行うためのロック機構を有する分散処理システムにお
いて、 子の処理単位の処理が完了した場合、子の処理単位の親
の処理単位は、子の処理単位の処理完了をロック機構に
通知するように構成され、 ロック機構は、処理単位がロック要求を発行した時、排
他制御キューを参照して、当該処理単位の親の処理単位
が同一の資源に対して既にロック要求を発行しているか
否かを調べ、発行されていない場合に、当該ロック要求
発行元の処理単位の名前及び直系の先祖にあたる処理単
位の名前を持つノードを排他制御キューにつなぐと共に
、処理単位の処理の完了が通知された時、当該処理単位
の名前を含むノードが排他制御キューの中に存在するか
否かを調べ、存在する場合には当該ノードから当該処理
単位名を削除するよう構成された ことを特徴とする分散型並列処理の排他方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2296687A JPS63191237A (ja) | 1987-02-03 | 1987-02-03 | 分散型並列処理の排他方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2296687A JPS63191237A (ja) | 1987-02-03 | 1987-02-03 | 分散型並列処理の排他方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63191237A true JPS63191237A (ja) | 1988-08-08 |
Family
ID=12097322
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2296687A Pending JPS63191237A (ja) | 1987-02-03 | 1987-02-03 | 分散型並列処理の排他方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63191237A (ja) |
-
1987
- 1987-02-03 JP JP2296687A patent/JPS63191237A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7827302B2 (en) | Scalable virtual partitioning of resources | |
| DE69521839T2 (de) | Datenbanksystem | |
| JP2543253B2 (ja) | デツドロツクを検出して解決する方法及びフアイルを共有するデ―タ処理装置 | |
| Sanders | The information structure of distributed mutual exclusion algorithms | |
| DE69326272T2 (de) | Verfahren und Gerät zur Ausführung von konditionellen Operationen auf externe gemeinsam genutzte Daten | |
| US7376675B2 (en) | Simulating multi-user activity while maintaining original linear request order for asynchronous transactional events | |
| US5524241A (en) | System and method for executing, tracking and recovering long running computations | |
| CN108459919A (zh) | 一种分布式事务处理方法及装置 | |
| JPH01298440A (ja) | 計算機システムおよびそのタスクスケジュール方法 | |
| WO2020068334A1 (en) | Methods, devices and systems for real-time checking of data consistency in a distributed heterogenous storage system | |
| JPH1083336A (ja) | オブジェクト指向データ処理方法及びシステム | |
| Craft | Resource management in a decentralized system | |
| JPH02195453A (ja) | ファイルアクセス制御方式 | |
| DE202015104128U1 (de) | Datenzugriffssystem | |
| US11281700B2 (en) | Graph-based operations on an entity-relationship database | |
| Gardarin et al. | A distributed control algorithm for reliably and consistently updating replicated databases | |
| JPS63191237A (ja) | 分散型並列処理の排他方式 | |
| Rout et al. | Deadlock detection in distributed system | |
| EP0917050B1 (en) | State-based object transition control and nested locking | |
| Ramamritham et al. | Privilege transfer and revocation in a port-based system | |
| JPS6320634A (ja) | 計算機資源排他制御方式 | |
| Zhou et al. | A system for managing remote procedure call transactions | |
| Hsiao et al. | A Survey of Concurrency Control Mechanisms for Centralized and Distributed Databases. | |
| Korotkevitch | Blocking in the System | |
| Opeyemi et al. | Deadlock detection in agent-based virtual knowledge communities |