JPS63129428A - Lock management control system - Google Patents
Lock management control systemInfo
- Publication number
- JPS63129428A JPS63129428A JP27574386A JP27574386A JPS63129428A JP S63129428 A JPS63129428 A JP S63129428A JP 27574386 A JP27574386 A JP 27574386A JP 27574386 A JP27574386 A JP 27574386A JP S63129428 A JPS63129428 A JP S63129428A
- Authority
- JP
- Japan
- Prior art keywords
- resource
- management
- lock
- processes
- managing
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 69
- 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 abstract description 5
- 238000011156 evaluation Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- Multi Processors (AREA)
Abstract
Description
【発明の詳細な説明】
〔概 要〕
計算機における、複数のプロセスで共用する資源の排他
制御のためのロック管理の改良した制御方式である。[Detailed Description of the Invention] [Summary] This is an improved control method for lock management for exclusive control of resources shared by multiple processes in a computer.
複数の共用資源のロック管理を複数の管理プロセスに分
配して分担させるようにし、資源の識別名からハツシュ
関数によって求める値によってその資源を受は持つ管理
プロセスを決定するように構成する。Lock management of a plurality of shared resources is distributed among a plurality of management processes, and the management process that owns the resource is determined based on a value obtained from the resource's identification name using a hash function.
この方式により、複数の管理プロセスでロック管理を分
担して、ロック管理の処理を高速化するシステムの構成
が容易になる。This method makes it easy to configure a system that speeds up lock management processing by sharing lock management among multiple management processes.
本発明は、計算機における、複数のプロセスで共用する
資源の排他制御のためのロック管理の制御方式に関する
。The present invention relates to a lock management control method for exclusive control of resources shared by multiple processes in a computer.
複数のプロセスの共存可能な計算機においては、それら
のプロセスで共用される計算機資源(以下において単に
資源という)が有る場合には、例えばデータベースの所
定のデータ単位のような資源の場合に、公知のようにそ
の資源を1プロセスが使用している間、他のプロセスに
よるその資源の使用を禁止するための、いわゆる排他制
御が必要になる。In a computer where multiple processes can coexist, if there are computer resources (hereinafter simply referred to as resources) shared by those processes, for example, in the case of a resource such as a predetermined data unit of a database, publicly known Thus, while one process is using that resource, so-called exclusive control is required to prohibit other processes from using that resource.
公知のように、ロックは排他制御の手段として広(使用
される。その場合、排他制御の必要な資源を使用するプ
ロセスは使用に先立って、管理プロセスにその資源の識
別名を示して、ロックを要求する。As is well known, locks are widely used as a means of exclusive control. In this case, a process that uses a resource that requires exclusive control indicates the resource's identification name to the management process and locks it before using it. request.
管理プロセスは、例えば指定の識別名の資源ごとに設け
た、公知のいわゆる待ち行列ポートに、要求元プロセス
を接続し、そのボートの行列の先頭になったとき、その
プロセスのみに当該資源の使用を許すように制御する。For example, the management process connects the requesting process to a well-known so-called queuing port established for each resource with a specified identification name, and when it becomes the head of the queue for that boat, only that process can use the resource. control to allow.
従来このような制御を行う管理プロセスは、同一資源に
対する制御の競合を考慮して、実質的には同時に1管理
プロセスのみが処理を実行するように制御しているので
、その結果多数のプロセスの各種資源に対するロック要
求が集中した場合に、ロック処理待ち時間の増大による
システムの処理効率低下が問題になる。Conventionally, management processes that perform this kind of control have controlled so that only one management process is executing processing at the same time, taking into account contention for control over the same resource. When lock requests for various resources are concentrated, a decrease in system processing efficiency due to an increase in lock processing waiting time becomes a problem.
その対策として、各資源についてそのロック管理を行う
1管理プロセスを定めるようにして、複数の管理プロセ
スに担当資源を分配することが考えらる。As a countermeasure to this problem, it is conceivable to define one management process that performs lock management for each resource, and distribute the resources in charge to a plurality of management processes.
そのようにすれば、複数プロセッサを有する計算機の環
境においては、それらの管理プロセスによって互いに異
なる資源に対するロック要求を並行に処理することが可
能となり、処理待ち時間の減少を期待できる。By doing so, in an environment of a computer having multiple processors, it becomes possible to process lock requests for different resources in parallel by those management processes, and a reduction in processing waiting time can be expected.
しかしその場合には、ロック要求において複数の管理プ
ロセスと分担資源との対応を識別して、所要の管理プロ
セスに要求を出さなければならないが、従来そのための
効率のよい制御方式が提供されていない。However, in that case, it is necessary to identify the correspondence between multiple management processes and shared resources in the lock request and issue a request to the required management process, but no efficient control method has been provided to date. .
図は本発明の構成を示すブロック図である。 The figure is a block diagram showing the configuration of the present invention.
図において、1はロック要求元のプロセスであり、3は
資源6の識別名2から所定のハツシュ関数値を出力する
ハツシュ関数評価部、4はハツシュ関数値で索引して管
理プロセス識別子を与えるハツシュテーブル、5はその
識別子によって呼び出される管理プロセスである。In the figure, 1 is a lock request source process, 3 is a hash function evaluation unit that outputs a predetermined hash function value from the identifier 2 of resource 6, and 4 is a hash function evaluation unit that indexes with the hash function value and provides a management process identifier. Stable, 5 is the management process called by that identifier.
ロック要求元のプロセス1はロック要求に際し、所要の
資源6の識別名2から、所定のハツシュ関数評価部3に
よって関数値を求める。When making a lock request, the lock requesting process 1 uses a predetermined hash function evaluation unit 3 to obtain a function value from the identification name 2 of the required resource 6.
その関数値により、システムのハツシュテーブル4を索
引して必要な管理プロセス5の識別子を得、該識別子に
よって管理プロセス5を呼び、識別名2によりロック処
理を要求する。Using the function value, the hash table 4 of the system is indexed to obtain the necessary identifier of the management process 5, the management process 5 is called using the identifier, and lock processing is requested using the identifier 2.
管理プロセス5は、要求で指定される資源の識別名によ
り、通常のように指定の資源のロック管理を処理する。The management process 5 handles lock management for the specified resource in the usual manner, depending on the resource identification name specified in the request.
この方式により、複数の管理プロセス5に資源6を振り
分けて管理を分担させ、資源別に必要な管理プロセスを
容易に識別して呼び出すことができるので、複数プロセ
ッサの並行処理可能な環境では、複数のロック管理を並
行に処理することが可能になり、処理効率を向上できる
。With this method, the resources 6 can be distributed to multiple management processes 5 to share management tasks, and the necessary management processes for each resource can be easily identified and called. Lock management can be processed in parallel, improving processing efficiency.
図においてプロセス1は、各種の処理業務に対応した、
一般に異なる内容を持つプロセスであり、但し図示のよ
うにロック要求のための同一の機構を持つものとする。In the figure, process 1 corresponds to various processing tasks.
Generally, they are processes with different content, but with the same mechanism for lock requests as shown.
他方、管理プロセス5は公知のロック管理のための通常
の制御機能を有する同一の内容のプロセスでよ(、運用
上で図示のように特定の資源6のグループのみを扱うよ
うに分配し、それに応じたハツシュテーブル4を作成す
れば、自動的に各管理プロセス5が異なる資源6を分担
するようになる。On the other hand, the management process 5 is a process with the same contents that has a normal control function for well-known lock management. By creating a corresponding hash table 4, each management process 5 will automatically share different resources 6.
ロック要求元のプロセス1はロック要求に際し、所要の
資源6の識別名2から、所定のハツシュ関数評価部3に
よって関数値を求める。When making a lock request, the lock requesting process 1 uses a predetermined hash function evaluation unit 3 to obtain a function value from the identification name 2 of the required resource 6.
資源の識別名は、通常比較的長い文字列で構成されるの
で、ハツシュ関数として例えば次のような関数を使用し
て、比較的短いビット列の値にできるだけ偏りなく変換
するようにハツシュ関数評価部3を構成する。Since resource identification names are usually composed of relatively long character strings, the hash function evaluation unit uses the following function as a hash function to convert it into a relatively short bit string value as unbiased as possible. 3.
即ち、例えば12バイトの識別名を、3バイトづつの4
グループに分割し、2グループはビットの並びを反転さ
せた後、4グループのビット列の排他的論理和を求め2
4ピントのビット列を得る。In other words, for example, a 12-byte identifier is divided into 4 3-byte identifiers.
Divide into groups, invert the bit order for 2 groups, and then calculate the exclusive OR of the bit strings of 4 groups.
Obtain a 4-focus bit string.
このピント列を破除整数として、適当な整数で除算を行
い、その剰余を関数評価結果として、ハツシュ関数評価
部3から出力する。Using this focus sequence as a divisible integer, division is performed by an appropriate integer, and the remainder is output from the hash function evaluation unit 3 as a function evaluation result.
以上の例のようにして、例えば8ビツトの関数値出力を
得るようにした場合には、ハツシュテーブル4として、
256項からなるテーブルを設け、各項に管理プロセス
5の識別子を表示する。If, for example, an 8-bit function value output is obtained as in the above example, the hash table 4 is
A table consisting of 256 entries is provided, and the identifier of the management process 5 is displayed in each entry.
この例の場合に管理プロセスは最大256個設けること
ができ、それより少ない場合には、1管理プロセスの識
別子が、2項以上に表示されるようにする。In this example, a maximum of 256 management processes can be provided, and if there are fewer than that, the identifier of one management process is displayed in two or more columns.
各ロック要求プロセス1は、以上によって求めた関数値
により、システムのハツシュテーブル4を索引して必要
な管理プロセス5の識別子を得、該識別子によって管理
プロセス5を呼び、識別名2によって資源を指定して、
そのロック処理を要求する。Each lock requesting process 1 obtains the necessary identifier of the management process 5 by indexing the hash table 4 of the system using the function value obtained above, calls the management process 5 using the identifier, and allocates the resource using the identifier 2. Specify,
Request the lock processing.
この方式により、複数の管理プロセス5に資源6を振り
分けて管理を分担させ、資源別に必要な管理プロセスを
容易に識別して呼び出すごとができる。With this method, the resources 6 can be distributed to a plurality of management processes 5 to share management duties, and the necessary management processes can be easily identified and called for each resource.
又、運用結果等により、管理プロセス5の数、或いは管
理プロセス5に対する分担資源の分配の変更をする場合
には、ハツシュテーブル4の内容及びハツシュ関数評価
部3の関数の何れか一方又は両方を変更して対処するこ
とができ、管理プロセス5を変更する必要がない。In addition, when changing the number of management processes 5 or the distribution of resources to the management processes 5 depending on the operation results, either or both of the contents of the hash table 4 and the function of the hash function evaluation unit 3 are changed. This can be handled by changing the management process 5, and there is no need to change the management process 5.
以上の説明から明らかなように、本発明によれば、計算
機における共用資源に関するロック管理処理について、
実現が容易で且つ融通性の高い高速化が得られ、計算機
の処理効率を向上するという著しい工業的効果がある。As is clear from the above description, according to the present invention, regarding lock management processing regarding shared resources in a computer,
This method is easy to implement, provides highly flexible speedup, and has a remarkable industrial effect of improving computer processing efficiency.
図は本発明の構成を示すブロック図
である。
図において、
1はプロセス、 2は識別名、3はハツシュ関
数評価部、
4はハツシュテーブル、5は管理プロセス、6は資源
を示す。The figure is a block diagram showing the configuration of the present invention. In the figure, 1 is a process, 2 is an identification name, 3 is a hash function evaluation unit, 4 is a hash table, 5 is a management process, and 6 is a resource.
Claims (1)
される複数の計算機資源(6)の、該プロセス(1)に
よる使用の排他制御のためのロック管理において、 該計算機資源(6)のロック管理を重複なく分担する複
数の管理プロセス(5)を設け、 該各計算機資源(5)の識別名(2)を所定のハッシュ
関数で評価し(3)、その結果により、該計算機資源を
分担する前記管理プロセスを決定する(4)ように構成
されていることを特徴とするロック管理制御方式。[Scope of Claims] In lock management for exclusive control of the use of a plurality of computer resources (6) shared by a plurality of processes (1) executed on a computer by the processes (1), the computer resources include: A plurality of management processes (5) are provided to share the lock management of (6) without duplication, and the identification name (2) of each computer resource (5) is evaluated using a predetermined hash function (3), and based on the result, A lock management control method, characterized in that it is configured to (4) determine the management process that shares the computer resources.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61275743A JPH0769840B2 (en) | 1986-11-19 | 1986-11-19 | Lock management controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61275743A JPH0769840B2 (en) | 1986-11-19 | 1986-11-19 | Lock management controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63129428A true JPS63129428A (en) | 1988-06-01 |
JPH0769840B2 JPH0769840B2 (en) | 1995-07-31 |
Family
ID=17559774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61275743A Expired - Lifetime JPH0769840B2 (en) | 1986-11-19 | 1986-11-19 | Lock management controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0769840B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697901B1 (en) * | 2000-10-24 | 2004-02-24 | Oracle International Corporation | Using secondary resource masters in conjunction with a primary resource master for managing resources that are accessible to a plurality of entities |
US6883026B1 (en) | 1998-08-31 | 2005-04-19 | International Business Machines Corporation | Method and apparatus for managing locks of objects and method and apparatus for unlocking objects |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60254342A (en) * | 1984-05-31 | 1985-12-16 | Fujitsu Ltd | Controlling method of resources in using |
-
1986
- 1986-11-19 JP JP61275743A patent/JPH0769840B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60254342A (en) * | 1984-05-31 | 1985-12-16 | Fujitsu Ltd | Controlling method of resources in using |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6883026B1 (en) | 1998-08-31 | 2005-04-19 | International Business Machines Corporation | Method and apparatus for managing locks of objects and method and apparatus for unlocking objects |
US6697901B1 (en) * | 2000-10-24 | 2004-02-24 | Oracle International Corporation | Using secondary resource masters in conjunction with a primary resource master for managing resources that are accessible to a plurality of entities |
Also Published As
Publication number | Publication date |
---|---|
JPH0769840B2 (en) | 1995-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62229358A (en) | Processor selection system | |
CN1818875A (en) | Grouped hard realtime task dispatching method of built-in operation system | |
CN111143210A (en) | Test task scheduling method and system | |
JPS63129428A (en) | Lock management control system | |
US5430874A (en) | Control method and system for managing memory control blocks of programmed tasks in a multi-processing system | |
US20080052714A1 (en) | Method, Apparatus and Software for Managing Processing For a Plurality of Processors | |
JP2004038226A (en) | Pc cluster and its intermediate software | |
CN109344161A (en) | A kind of mass data storage means based on mongodb | |
JPH02122365A (en) | Processor assignment system | |
JPH02245864A (en) | Multiprocessor system | |
JPH02112030A (en) | System for exclusive control | |
JPS61136134A (en) | Queue resource control system | |
JPS6331818B2 (en) | ||
JPH05158895A (en) | System for improving loop calculation efficiency in parallel computer system | |
JPS62145441A (en) | Updating processing system for key-sequenced data set | |
JPH10507548A (en) | Data processing systems and methods and communication systems with such systems | |
JPH0193829A (en) | System for operating queue | |
JPH02197947A (en) | File transfer system | |
JPS62125438A (en) | Virtual input and output device | |
JPH04241545A (en) | Communication control system by double stage event matrix | |
JPH05173811A (en) | Dynamic resource assigning and releasing system | |
JPH07334401A (en) | Method for speeding up data base accessing work in network connection system | |
JPH02230429A (en) | Data access control system | |
JPH064319A (en) | Shared routine control system in operating system | |
JPH0198043A (en) | Dynamic link control system |