JP2856761B2 - Resource lock management device - Google Patents
Resource lock management deviceInfo
- Publication number
- JP2856761B2 JP2856761B2 JP1083242A JP8324289A JP2856761B2 JP 2856761 B2 JP2856761 B2 JP 2856761B2 JP 1083242 A JP1083242 A JP 1083242A JP 8324289 A JP8324289 A JP 8324289A JP 2856761 B2 JP2856761 B2 JP 2856761B2
- Authority
- JP
- Japan
- Prior art keywords
- lock management
- access
- lock
- resource
- management table
- 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.)
- Expired - Fee Related
Links
Description
【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、計算機システムの資源ロック管理装置に関
する。DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Field of Industrial Application) The present invention relates to a resource lock management device for a computer system.
(従来の技術) 昨今の計算機システムの多くは多重処理を行なってお
り、複数ユーザのタスクが同時に計算機上で走ることが
多い。しかもこれら計算機システムを利用するユーザは
不特定多数である場合が多く、計算機の使用に関して相
互に厳重な取り決めを持つことは期待できない。(Prior Art) Many of modern computer systems perform multiplex processing, and tasks of a plurality of users often run on the computer at the same time. In addition, there are many unspecified users who use these computer systems in many cases, and it cannot be expected that the use of computers will be mutually strictly agreed.
一方、これら計算機上で仕事を行なうために必要とな
るデータなどの計算資源は、計算機の進歩と共にますま
す膨大なものになってきており、ユーザ一人一人に対し
て大きな資源を個別に確保するのは難しく、共有できる
ものは一つにまとめておいた方が都合がよい。また、こ
うすることにより、データの更新を一度に行なうことが
でき、ユーザが使用するデータの一貫性を保つことが容
易となる。On the other hand, the computational resources such as data required to perform work on these computers are becoming increasingly enormous with the progress of computers, and it is necessary to secure large resources individually for each user. It is difficult, and it is convenient to put together what you can share. In addition, by doing so, the data can be updated at one time, and it is easy to maintain the consistency of the data used by the user.
ところが、データなど資源を共有する場合、複数ユー
ザによるデータの更新を無秩序に許すと、データに矛盾
が生じることが知られている。このため、各ユーザの業
務を実行するプロセスは、自己が必要とする資源に対し
てロックを掛け、必要とする処理が終了するまで他のユ
ーザのプロセスがデータをアクセスするのを排除すると
いう手段がとられている。However, in the case of sharing resources such as data, it is known that inconsistency occurs in data if a plurality of users are allowed to update data randomly. For this reason, the process that executes the work of each user locks the resources required by itself, and eliminates the process of accessing data by another user until the necessary processing is completed. Has been taken.
一方、計算機システムでは、あるひとまとまりのデー
タは一つのファイルという形になる。各プロセスはこの
ファイルから自分が必要とする部分に対して読み書きを
行ないながら作業を進める。通常、複数ユーザで共有さ
れるようなデータは規模が大きなものであり、それが格
納されるファイルも大きなものとなる。従って、ファイ
ル内のある一部分を複数のプロセスが同時に使用する可
能性はそれほど大きくない。このような状況において、
排他のためのロックをファイル単位に掛けるようにして
しまうと、二つのプロセスがファイルの異なった部分に
アクセスしようとした場合、本来競合がないにもかかわ
らず、一方のプロセスが実行を待たされることになる。On the other hand, in a computer system, a certain set of data is in the form of one file. Each process reads from and writes to the parts that it needs from this file while working on it. Usually, data that is shared by a plurality of users is large in size, and the file in which it is stored is also large. Thus, the likelihood of multiple processes using a portion of the file at the same time is not very large. In such a situation,
If a lock for exclusion is set for each file, if two processes try to access different parts of the file, one of the processes will wait for execution even though there is essentially no conflict. become.
かかる不合理を避けるため、ファイルをより細かな単
位に分割し、それを単位としてロックを掛けることが行
われる。In order to avoid such absurdity, a file is divided into smaller units, and locking is performed using the divided units.
また、このようなデータを始めとして複数のユーザに
よって共有される資源へのロックを実現するためには、
通常、第4図に示すような資源ロック管理テーブルLTが
用いられる。ロック管理テーブルはロックの対象となる
資源の数に等しい数だけのエントリーを持っている。各
エントリーには、その資源が既にロックされているかど
うかを示すロックフラグと、その資源をロックしている
プロセスのプロセス番号が格納されるプロセス番号フィ
ールドがある。あるプロセスAがある資源Xに対して読
み書きを行なう場合、プロセスAはまずロック管理テー
ブル内の資源Xに対応するエントリーを調べる。そのエ
ントリーのロックフラグが立っていなければ、つまり資
源Xがまだ他のプロセスによってロックされていなれば
資源Xは獲得可能であり、プロセスAはロックフラグを
立て、自分のプロセス番号を所定のフィールドに登録
し、ロック管理テーブルLTを更新する。もしフラグが立
っていた場合、処理をどうするかについて様々な方式が
提案されているが、ここではプロセスAが獲得を一時的
に放棄し、資源Xが解放されるのを待つような状態(ブ
ロック状態)に入るものとする。In addition, in order to realize a lock on a resource shared by a plurality of users including such data,
Usually, a resource lock management table LT as shown in FIG. 4 is used. The lock management table has as many entries as the number of resources to be locked. Each entry has a lock flag indicating whether the resource is already locked, and a process number field storing the process number of the process locking the resource. When a certain process A reads / writes from / to a certain resource X, the process A first checks an entry corresponding to the resource X in the lock management table. If the lock flag of the entry is not set, that is, if the resource X has not been locked by another process, the resource X can be acquired, and the process A sets the lock flag and puts its own process number in a predetermined field. Register and update the lock management table LT. If the flag is set, various methods have been proposed as to what to do with the processing. In this case, a state in which process A temporarily abandons acquisition and waits for resource X to be released (block State).
ところが、異なるプロセッサ上で実行されている複数
のプロセスが同時にロック管理テーブルLTへアクセスす
るのを許すと、以下に示すようにデッドロックが生じる
恐れがある。However, if a plurality of processes running on different processors are allowed to access the lock management table LT at the same time, a deadlock may occur as described below.
すなわち、二つのプロセスA,Bが実行中であり、どち
らも資源番号1及び2の2つの資源を獲得しようとして
いるものとする。今、プロセスAが資源1を獲得しよう
とし、ロック管理テーブル内の資源1に対応するエント
リー(エントリー1)を更新したとする。次に、プロセ
スAが資源2の獲得を試みる前にプロセスBがロック管
理テーブルLT内の資源2に対応するエントリー(エント
リー2)を更新したとする。すると、プロセスAが資源
2を獲得しようとしてエントリー2を調べに行くが、既
にプロセスBによってロックが掛けられているので、プ
ロセスAは実行をブロックされる。またプロセスBは資
源1の獲得を試みるが既にプロセスAによってロックさ
れているので、プロセスBもブロックされる。That is, it is assumed that two processes A and B are being executed, and both are trying to acquire two resources of resource numbers 1 and 2. Now, it is assumed that the process A attempts to acquire the resource 1 and updates an entry (entry 1) corresponding to the resource 1 in the lock management table. Next, it is assumed that the process B updates an entry (entry 2) corresponding to the resource 2 in the lock management table LT before the process A attempts to acquire the resource 2. Then, process A goes to check entry 2 in an attempt to acquire resource 2, but because process B has already locked it, process A is blocked from executing. Process B also attempts to acquire resource 1 but is already locked by process A, so process B is also blocked.
このように、プロセスA,Bがそれぞれお互いに資源を
解放するのを待って実行が停止するような状況、つまり
デッドロックが生じるのである。このデッドロックは、
プロセスA及びBが同時に資源ロック管理テーブルLTを
アクセスするのを許していることに起因する。As described above, a situation in which the execution is stopped waiting for the processes A and B to release resources from each other, that is, a deadlock occurs. This deadlock is
This is because processes A and B are allowed to access the resource lock management table LT at the same time.
上記のような状況を回避するためには、ロック管理テ
ーブルLTへのアクセスを完全に排他的に制御することが
考えられる。この場合、一つのプロセスがロック管理テ
ーブルをアクセスしている間は、他のプロセスはその間
ずっとアクセスできず実行を待たされることになる。In order to avoid the above situation, it is conceivable to completely and exclusively control access to the lock management table LT. In this case, while one process is accessing the lock management table, the other processes cannot access the lock management table during that time, and thus have to wait for execution.
(発明が解決しようとする課題) しかしながら、このように他を完全に排他的とする従
来の方式では、ある資源をアクセスしようとするプロセ
ス全てが一つのロック管理テーブルを専有するため、そ
こでの競合が原因でシステムの性能に悪影響を与える可
能性があった。(Problem to be Solved by the Invention) However, in the conventional method in which the other is completely exclusive, since all processes that attempt to access a certain resource occupy one lock management table, contention there is caused. Could adversely affect system performance.
本発明は、このような事情を考慮してなされたもの
で、その目的はロック管理テーブルへのアクセスの競合
を調整し、計算機システムの性能を向上させることにあ
る。The present invention has been made in view of such circumstances, and an object thereof is to adjust contention for access to a lock management table and improve the performance of a computer system.
[発明の構成] (課題を解決するための手段) 上記目的を達成するため、本発明の資源ロック管理装
置は、複数のプロセッサで実行される複数のプロセスに
より共有される複数の資源を有し、特定の資源を他のプ
ロセスに対してロックした上で特定のプロセスに専有さ
せる資源ロック管理装置において、前記複数のプロセス
の個数よりも少ない個数設けられる複数のロック管理テ
ーブルと、プロセスのアクセス要求に対し、前記複数の
ロック管理テーブルのうち使用されていないロック管理
テーブルを選択して割り付ける手段と、各プロセスがい
ずれの資源を要求しているかを検出し、この検出結果に
基づいて、最先のアクセス要求を行ったプロセス及び他
のプロセスのアクセス要求に対して干渉の無いアクセス
要求を行ったプロセスに対してロック処理を許可する手
段と、このロック処理を許可する手段によるロック結果
を他のロック管理テーブルに対して同時に更新する手段
とを有するものである。[Configuration of the Invention] (Means for Solving the Problems) In order to achieve the above object, a resource lock management device of the present invention has a plurality of resources shared by a plurality of processes executed by a plurality of processors. A resource lock management device that locks a specific resource with respect to another process and then occupies the specific process with a specific process, comprising: a plurality of lock management tables provided in a number smaller than the number of the plurality of processes; Means for selecting and allocating an unused lock management table among the plurality of lock management tables, detecting which resource each process is requesting, and based on the detection result, Process that has made an access request for a process and a process that has made an access request that does not interfere with the access requests of other processes. Means for permitting the locking Te, and has a means for updating simultaneously for locking results by means for permitting the locking process other lock management table.
(作用) 本発明の資源ロック管理装置によれば、ロック結果を
同時に更新する手段により、常時現在のロック結果を反
映するロック管理テーブルを複数有し、割付け手段によ
って、プロセスからのアクセス要求に対して、特定の管
理テーブルを割り付けるのではなく、複数のロック管理
テーブルのうち使用されていないロック管理テーブルを
選択して割り付けるため、複数のプロセスによるロック
処理を並行して行う際、処理の迅速化を図ることができ
る。(Operation) According to the resource lock management device of the present invention, the means for simultaneously updating the lock result has a plurality of lock management tables which always reflect the current lock result, and the allocation means responds to the access request from the process. Instead of allocating a specific management table, instead of allocating a lock management table that is not used among multiple lock management tables, it is possible to speed up the processing when performing lock processing by multiple processes in parallel. Can be achieved.
特に、かかるロック処理の許可は、ロック処理を許可
する手段により、最先のアクセス要求及び他のプロセス
のアクセス要求に対して干渉のないアクセス要求に対し
て行われるため、干渉し合うアクセス要求を排除してロ
ック処理に矛盾が生じるのを防止することができる。In particular, since the lock process is permitted by the means for permitting the lock process for an access request that does not interfere with the earliest access request and the access request of another process, the access requests that interfere with each other are set. By eliminating the lock process, it is possible to prevent inconsistency in the lock processing.
また、このとき、ロック処理を許可する手段は、各プ
ロセスがいずれの資源を要求しているかを検出すること
によって、各プロセスからのアクセス要求の内容を監視
し、干渉し合うアクセス要求を確実に排除することがで
きる。At this time, the means for permitting the lock process monitors the content of the access request from each process by detecting which resource each process is requesting, and ensures that the access requests that interfere with each other are detected. Can be eliminated.
(実施例) 以下、図面を参照して本発明の一実施例を説明する。Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
第1図は本発明の資源ロックの管理装置の一実施例を
示すブロック図である。図中、1a,1b…1nはプロセッサ
を示す。FIG. 1 is a block diagram showing an embodiment of a resource lock management device according to the present invention. In the figure, 1a, 1b... 1n indicate processors.
各プロセッサ1a,1b…1nはデータバス(2a,2b…n),
アドレスバス(3a,3b…3n),読み/書き識別信号線(4
a,4b…4n),ロック管理装置アクセス信号線(5a,5b…5
n),承認信号線(6a,6b…6n)等の制御信号線を介して
ロック管理装置7のアクセス調停装置8に接続されてい
る。Each processor 1a, 1b... 1n has a data bus (2a, 2b.
Address bus (3a, 3b ... 3n), read / write identification signal line (4
a, 4b ... 4n), lock management device access signal lines (5a, 5b ... 5)
n) and connected to the access arbitration device 8 of the lock management device 7 via control signal lines such as approval signal lines (6a, 6b... 6n).
ロック管理装置7は、従来例で示したロック管理テー
ブルLTのコピーを記録するコピー記憶装置9,10を複数
(本例では2)持っている。コピー記憶装置は最大、プ
ロセッサの数と同じだけあればよいが、管理テーブルの
アクセスの衝突の頻度に応じて適当に加減をしてもよ
い。The lock management device 7 has a plurality (two in this example) of copy storage devices 9 and 10 for recording copies of the lock management table LT shown in the conventional example. The maximum number of copy storage devices may be the same as the number of processors, but may be appropriately adjusted according to the frequency of access collision of the management table.
プロセッサ1a,1b…1nは、アクセス調停装置8内のチ
ャンネル(11i,11j)を介してコピー記憶装置9,10につ
ながる。各コピー記憶装置9,10に対しては、内部アドレ
スバス(12i,12j)、内部データバス(13i,13j),内部
読み/書き識別信号線(14i,14j)等の制御信号線を介
して監視装置15と接続されている。監視装置15は内部ア
ドレスバス(12i,12j)を監視することにより、どのエ
ントリーがアクセスされているか、すなわちどの資源が
要求されているかを知ることができる。The processors 1a, 1b... 1n are connected to the copy storage devices 9, 10 via the channels (11i, 11j) in the access arbitration device 8. Each copy storage device 9, 10 is controlled via control signal lines such as an internal address bus (12i, 12j), an internal data bus (13i, 13j), and an internal read / write identification signal line (14i, 14j). It is connected to the monitoring device 15. By monitoring the internal address buses (12i, 12j), the monitoring device 15 can know which entry is being accessed, that is, which resource is being requested.
アクセス調停装置8は、各プロセッサ1a〜1nに対して
承認信号線(6a,6b…6n)がつながっている。この承認
信号線は、通常のメモリアクセスにおけるデータレディ
信号に相当するもので、この信号がONならばプロセッサ
はメモリが読み書きの準備ができているものと判断し
て、読み/書きサイクルを実行する。この信号がOFFな
らば、読み書きサイクルにウェィトが掛けられる。この
様にしてプロセッサの1a〜1nの実行を制御できる。In the access arbitration device 8, acknowledgment signal lines (6a, 6b... 6n) are connected to the processors 1a to 1n. This acknowledgment signal line corresponds to a data ready signal in normal memory access. If this signal is ON, the processor judges that the memory is ready for reading and writing and executes a read / write cycle. . If this signal is OFF, the read / write cycle is waited. In this way, the execution of the processors 1a to 1n can be controlled.
第2図に詳細に示すように、アクセス調停装置8は、
各プロセッサ1a〜1nがロック管理装置7に対してアクセ
スしている状態であるかそうでないかを示す状態フラグ
16を各プロセッサ1a〜1nに対応して持っている。また、
アクセス調停装置8は、各管理テーブルLTのコピーがい
ずれかのプロセッサに割り当てられているかどうかを示
すビジーフラグ17を各コピー記憶装置9,10に対応して持
っている。最初、これらのフラグは全てリセット状態に
ある。As shown in detail in FIG. 2, the access arbitration device 8
A status flag indicating whether each of the processors 1a to 1n is accessing the lock management device 7 or not.
16 corresponding to each of the processors 1a to 1n. Also,
The access arbitration device 8 has a busy flag 17 indicating whether a copy of each management table LT is allocated to one of the processors, corresponding to each of the copy storage devices 9 and 10. Initially, all of these flags are in the reset state.
プロセスがロック管理装置7へのアクセスを開始して
から終了するまでの処理は、第3図に示すように、読み
込みフェーズF1と、更新フェーズF2と、終了フェーズF3
とに分けることができる。As shown in FIG. 3, the processing from the start of access to the lock management device 7 to the end of the process includes a read phase F1, an update phase F2, and an end phase F3.
And can be divided into
まず、ロック管理装置7へのアクセスの競合がないと
仮定して、各フェーズにおけるプロセスの動作及び対応
するロック管理装置7の動作を説明する。First, assuming that there is no contention for access to the lock management device 7, the operation of the process in each phase and the operation of the corresponding lock management device 7 will be described.
今、プロセッサ1a上で実行されているあるプロセスA
がロック管理装置7にアクセスしたいという状況を想定
すると、プロセスAの読み込みフェーズF1では、プロセ
ッサ1aはロック管理装置7のアクセス信号線5aからの制
御信号をONにすると同時に、アドレスバス3aに必要とす
る資源の管理テーブル内のエントリーに対応するアドレ
スをのせる。この時、アクセス調停装置8はロック管理
装置のアクセス信号線5aの制御信号の立上りにより、そ
れがロック管理装置7に対するプロセスAによる最初の
アクセスであると判定し、どのプロセッサにも割り当て
られていないコピー装置9,10があればその内一つ(例え
ばコピー記憶装置9)をプロセッサ1aに割り当てる。Now, a certain process A running on the processor 1a
Assuming that the processor 1a wants to access the lock management device 7, in the reading phase F1 of the process A, the processor 1a turns on the control signal from the access signal line 5a of the lock management device 7 and simultaneously needs the address bus 3a. The address corresponding to the entry in the management table of the resource to be used is placed. At this time, the access arbitration device 8 determines that this is the first access by the process A to the lock management device 7 based on the rise of the control signal on the access signal line 5a of the lock management device, and is not assigned to any processor. If there are copy devices 9 and 10, one of them (for example, copy storage device 9) is assigned to processor 1a.
具体的には、アクセス調停装置8はそのプロセッサ1a
に対応す状態フラグ16、及びコピー装置9に対応するヒ
ジーフラグ17をセットする。そして、プロセッサ1aから
コピー記憶装置9へのチャンネル11iが割り当てられ
る。全てのコピー記憶装置が他のプロセッサにすでに割
り合てられている場合には、アクセス調停装置8は承認
信号を返さず、何れかのコピー記憶装置が解放されるま
でプロセッサ1aはウェィトされる。) コピー記憶装置9が割り当てられると、プロセスAは
必要とするエントリーを調べ、そのロックフラグが立っ
ておらず、資源が獲得可能であるかどうかを判定する。
この時、監視装置15はプロセスAがどの資源を獲得しよ
うとしているかを監視しているが、他のプロセスからの
ロック監視装置7へのアクセスがない限りは、監視装置
15がプロセスAの実行に干渉することはない。必要とす
る資源が全て獲得が可能であると判断できた場合、プロ
セスAは更新フェーズF2に入る。そうでない場合、プロ
セスAは資源を獲得できないので、更新フェーズをスキ
ップし終了フェーズF3に入る。Specifically, the access arbitration device 8 has its processor 1a
Is set, and the hegi flag 17 corresponding to the copy apparatus 9 is set. Then, the channel 11i from the processor 1a to the copy storage device 9 is allocated. If all copy storage devices have already been allocated to another processor, the access arbitrator 8 does not return an acknowledgment signal, and the processor 1a waits until any copy storage device is released. When the copy storage device 9 is allocated, the process A checks the required entry and determines whether the lock flag is not set and the resource can be acquired.
At this time, the monitoring device 15 monitors which resource the process A is trying to acquire. However, as long as there is no access to the lock monitoring device 7 from another process, the monitoring device 15
15 does not interfere with the execution of process A. When it is determined that all the required resources can be acquired, the process A enters the update phase F2. Otherwise, since the process A cannot acquire the resource, it skips the update phase and enters the end phase F3.
更新フェーズF2では、プロセスAは獲得しようとする
資源に対応するロック管理テーブルLT内のエントリーを
更新する。アクセス調停装置8はプロセスAが更新フェ
ーズF2に入ったことを読み/書き識別信号により検出す
ると、全てのコピー記憶装置9,10に対して同時に更新を
行えるように、全てのコピー記憶装置9,10をプロセッサ
1aに割り当てる。In the update phase F2, the process A updates an entry in the lock management table LT corresponding to the resource to be acquired. When the access arbitration device 8 detects that the process A has entered the update phase F2 by the read / write identification signal, the access arbitration device 8 updates all the copy storage devices 9 and 10 so that all the copy storage devices 9 and 10 can be updated simultaneously. 10 processor
Assign to 1a.
更新フェーズF2において、ロック管理テーブルLTに対
して必要な更新を終えた場合、または読み込みフェーズ
F1において必要な資源が獲得できないと判断できた場
合、プロセスAは終了フェーズF3に入る。この時、プロ
セッサ1aはロック管理装置7へのアクセスが終了したこ
とを通知するため、ロック管理装置アクセス信号線5aの
制御信号をOFFにする。これを受けて、アクセス調停装
置8はそのプロセッサ1aに対する状態フラグ16,及びプ
ロセッサ1aに割り当てられていたコピー記憶装置9に対
応するビジーフラグ17aをリセットする。監視装置15に
おいては、プロセスAがどの資源を要求したかという記
録をクリアーする。In the update phase F2, when necessary updates to the lock management table LT have been completed, or in the read phase
If it is determined in F1 that the necessary resources cannot be obtained, the process A enters the end phase F3. At this time, the processor 1a turns off the control signal of the lock management device access signal line 5a to notify that the access to the lock management device 7 has been completed. In response to this, the access arbitrating device 8 resets the status flag 16 for the processor 1a and the busy flag 17a corresponding to the copy storage device 9 assigned to the processor 1a. The monitoring device 15 clears the record of which resource the process A has requested.
次に、ロック管理テーブルLTに対して二つのプロセス
からアクセスがあった場合、ロック管理装置7がどの様
にしてそれを並行に実行するかを説明する。Next, how the lock management device 7 executes the access in parallel when the lock management table LT is accessed by two processes will be described.
今、プロセッサ1a上で実行されているプロセスAと、
プロセッサ1b上で実行されているプロセスBがともにロ
ック管理装置7にアクセスするものと仮定する。する
と、アクセス調停装置8は、それぞれに対してロック管
理テーブルLTのコピー記憶装置9,10をそれぞれ割り当て
る。ここで、プロセスAに対してコピー記憶装置9が、
プロセスBに対してコピー記憶装置10が割り当てられた
と仮定する。Now, a process A running on the processor 1a,
It is assumed that both processes B running on the processor 1b access the lock management device 7. Then, the access arbitrating device 8 assigns the copy storage devices 9 and 10 of the lock management table LT to each. Here, for the process A, the copy storage device 9
Assume that copy storage 10 has been allocated to process B.
新たなプロセスによりロック管理テーブルのアクセス
が開始されたことは、監視装置15にも伝えられ、監視機
構がスタートする。すなわち、監視装置15は、内部アド
レスバス12a,12bを監視していて、どの資源が要求され
ているかを記録し、プロセスA,プロセスBの要求してい
る資源に重なりがないかどうかを絶えずチェックしてい
る。The start of access to the lock management table by a new process is also transmitted to the monitoring device 15, and the monitoring mechanism is started. That is, the monitoring device 15 monitors the internal address buses 12a and 12b, records which resources are being requested, and constantly checks whether or not the resources requested by the processes A and B overlap. doing.
もし、プロセスAが獲得しようとする資源とプロセス
Bの獲得しようとする資源に重なりがなければどちらの
プロセスも独立に動作を行う。これによりロック管理テ
ーブルLTへのアクセスが多重化できるため、アクセス権
の競合による性能低下を防ぐこができる。If the resources to be acquired by process A and the resources to be acquired by process B do not overlap, both processes operate independently. As a result, access to the lock management table LT can be multiplexed, so that performance degradation due to contention for access rights can be prevented.
もし、重なりが検出された場合、監視装置15は重なっ
てアクセスされたエントリーに後からアクセスしたプロ
セッサに対して承認信号を返さず、ウェイトを掛ける。
ここでは、プロセッサ1bがウェイトを掛けられたものと
する。この場合もやはりプロセッサ1bは、プロセスAが
終了フェーズF3を経由して、アクセスを終了するまてウ
ェイトされる。そのうち、アクセス調停装置8は再びコ
ピー記憶装置10をプロセッサ1bに割り当て、監視装置15
はプロセッサ1bに対して承認信号を返し、プロセスBの
実行が継続される。If an overlap is detected, the monitoring device 15 does not return an acknowledgment signal to the processor that has accessed the entry that was accessed later, but waits.
Here, it is assumed that the processor 1b has been weighted. In this case as well, the processor 1b is kept waiting until the process A goes through the end phase F3 to end the access. In the meantime, the access arbitrating device 8 again allocates the copy storage device 10 to the processor 1b, and
Returns an approval signal to the processor 1b, and the execution of the process B is continued.
以上により、本例では監視装置15の監視作用により、
プロセスA,Bに干渉がない場合には並列処理を許可し、
干渉が有るときは最先のプロセスのみに許可を与えるこ
ととしたので、総合的な処理速度が大となり、かつデッ
ドロックを生ずることがない。As described above, in this example, by the monitoring operation of the monitoring device 15,
If there is no interference in processes A and B, allow parallel processing,
When interference occurs, permission is given only to the earliest process, so that the overall processing speed increases and no deadlock occurs.
上記実施例では、一つのプロセッサは一つのプロセス
を実行するが如く説明したが、一つのプロセッサで複数
プロセスを実行する場合であっても、これを時分割的に
処理することとすれば同様である。但し、あるプロセス
がロック管理装置にアクセスしている間は、そのプロセ
スが実行されているプロセッサではタスクスイッチがお
こらないものとする。In the above embodiment, one processor executes one process. However, even when one processor executes a plurality of processes, the same applies if the processes are performed in a time-division manner. is there. However, while a process is accessing the lock management device, it is assumed that a task switch does not occur in the processor in which the process is being executed.
本発明は、上記実施例に限定されるものではなく、適
宜の設計的変更を行うことにより、この他適宜の態様で
実施し得るものである。The present invention is not limited to the above embodiment, but can be implemented in other appropriate modes by making appropriate design changes.
[発明の効果] 本発明は、特許請求の範囲に記載の通りの計算機シス
テムの資源ロック管理装置であるので、マルチプロセッ
サ環境において、複数のプロセッサが同時に資源のロッ
ク管理テーブルにアクセスしたとしてもデッドロックに
陥る危険性がなく、ロック管理テーブルの読み書きを並
列に実行できる。このため、ロック管理テーブルのアク
セスがシステムのボトルネックになることを回避でき、
システムの性能を向上することができる。[Effects of the Invention] Since the present invention is a resource lock management device for a computer system as described in the claims, even if a plurality of processors simultaneously access a resource lock management table in a multiprocessor environment, the deadlock occurs. There is no danger of falling into a lock, and reading and writing of the lock management table can be executed in parallel. Therefore, access to the lock management table can be prevented from becoming a system bottleneck,
System performance can be improved.
第1図は本発明の計算機システムの資源ロック管理装置
の一実施例を示すブロック図、第2図はアクセス調停装
置の詳細を示すブロック図、第3図はロック管理テーブ
ルへのアクセスするときのプロセスの状態遷移を示す説
明図、第4図は従来例で共用されるロック管理テーブル
の構成を示す説明図である。 1a,1b…1n……プロセッサ 7……ロック管理装置 8……アクセス調停装置 9,10……コピー記憶装置 15……監視装置FIG. 1 is a block diagram showing an embodiment of a resource lock management device of a computer system according to the present invention, FIG. 2 is a block diagram showing details of an access arbitration device, and FIG. 3 is a diagram showing access to a lock management table. FIG. 4 is an explanatory diagram showing a process state transition, and FIG. 4 is an explanatory diagram showing a configuration of a lock management table shared in a conventional example. 1a, 1b 1n Processor 7 Lock management device 8 Access arbitration device 9,10 Copy storage device 15 Monitoring device
Claims (1)
セスにより共有される複数の資源を有し、特定の資源を
他のプロセスに対してロックした上で特定のプロセスに
専有させる資源ロック管理装置において、 前記複数のプロセスの個数よりも少ない個数設けられる
複数のロック管理テーブルと、 プロセスのアクセス要求に対し、前記複数のロック管理
テーブルのうち使用されていないロック管理テーブルを
選択して割り付ける手段と、 各プロセスがいずれの資源を要求しているかを検出し、
この検出結果に基づいて、最先のアクセス要求を行った
プロセス及び他のプロセスのアクセス要求に対して干渉
の無いアクセス要求を行ったプロセスに対してロック処
理を許可する手段と、 このロック処理を許可する手段によるロック結果を他の
ロック管理テーブルに対して同時に更新する手段とを有
することを特徴とする資源ロック管理装置。1. A resource lock management device which has a plurality of resources shared by a plurality of processes executed by a plurality of processors, locks a specific resource to another process, and occupies the specific process. A plurality of lock management tables provided in a number smaller than the number of the plurality of processes; and means for selecting and allocating an unused lock management table among the plurality of lock management tables to a process access request. , Detect which resources each process is requesting,
Based on the detection result, means for permitting a lock process for a process that has issued an earliest access request and a process that has issued an access request that does not interfere with an access request of another process; Means for simultaneously updating a lock result by the permitting means with respect to another lock management table.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1083242A JP2856761B2 (en) | 1989-03-31 | 1989-03-31 | Resource lock management device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1083242A JP2856761B2 (en) | 1989-03-31 | 1989-03-31 | Resource lock management device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02260043A JPH02260043A (en) | 1990-10-22 |
JP2856761B2 true JP2856761B2 (en) | 1999-02-10 |
Family
ID=13796858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1083242A Expired - Fee Related JP2856761B2 (en) | 1989-03-31 | 1989-03-31 | Resource lock management device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2856761B2 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07120333B2 (en) * | 1985-12-16 | 1995-12-20 | 株式会社日立製作所 | Shared data management method |
-
1989
- 1989-03-31 JP JP1083242A patent/JP2856761B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH02260043A (en) | 1990-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3871305B2 (en) | Dynamic serialization of memory access in multiprocessor systems | |
EP0381325B1 (en) | Synchronising and processing of memory access operations | |
US5613139A (en) | Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message | |
US5161227A (en) | Multilevel locking system and method | |
US7174552B2 (en) | Method of accessing a resource by a process based on a semaphore of another process | |
US20060136640A1 (en) | Apparatus and method for hardware semaphore | |
JPH04308961A (en) | Means and apparatus for notifying state of synchronous locking of occupied process | |
JPH07191944A (en) | System and method for prevention of deadlock in instruction to many resources by multiporcessor | |
US4979099A (en) | Quasi-fair arbitration scheme with default owner speedup | |
JPH03196249A (en) | Multiple processor system | |
JPH1115793A (en) | Protection method for resource maintainability | |
US6477597B1 (en) | Lock architecture for large scale system | |
US7099974B2 (en) | Method, apparatus, and system for reducing resource contention in multiprocessor systems | |
US6701429B1 (en) | System and method of start-up in efficient way for multi-processor systems based on returned identification information read from pre-determined memory location | |
JP2856761B2 (en) | Resource lock management device | |
US8689230B2 (en) | Determination of running status of logical processor | |
JPH0877026A (en) | Method and device for information processing | |
JP3036468B2 (en) | Exclusive control processing device, exclusive control processing method, and storage medium storing exclusive control processing program | |
US20080209427A1 (en) | Hardware Register Access Via Task Tag Id | |
US20040243751A1 (en) | Method for resource access co-ordination in a data processing system, data processing system and computer program | |
CN118260090A (en) | Spin lock management apparatus, spin lock management method, storage medium, and program product | |
JPH05233561A (en) | Shared resources control system | |
KR20240135928A (en) | System having multiple operation systems | |
CN118227344A (en) | Shared memory protection method and micro-processing chip | |
KR20230174931A (en) | System having multiple operation systems and operating method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |