JPH0769840B2 - ロック管理制御装置 - Google Patents
ロック管理制御装置Info
- Publication number
- JPH0769840B2 JPH0769840B2 JP61275743A JP27574386A JPH0769840B2 JP H0769840 B2 JPH0769840 B2 JP H0769840B2 JP 61275743 A JP61275743 A JP 61275743A JP 27574386 A JP27574386 A JP 27574386A JP H0769840 B2 JPH0769840 B2 JP H0769840B2
- Authority
- JP
- Japan
- Prior art keywords
- management
- lock
- resource
- lock management
- identifier
- 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 - Lifetime
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)
- Multi Processors (AREA)
Description
【発明の詳細な説明】 〔概要〕 計算機における、複数のプロセスで共用する資源の排他
制御のためのロック管理の改良した制御装置である。
制御のためのロック管理の改良した制御装置である。
複数の共用資源のロック管理を複数の管理プロセスに分
配して分担させるようにし、資源の識別名からハッシュ
関数によって求める値によってその資源を受け持つ管理
プロセスを決定するように構成する。
配して分担させるようにし、資源の識別名からハッシュ
関数によって求める値によってその資源を受け持つ管理
プロセスを決定するように構成する。
この装置により、複数の管理プロセスでロック管理を分
担して、ロック管理の処理を高速化するシステムの構成
が容易になる。
担して、ロック管理の処理を高速化するシステムの構成
が容易になる。
本発明は、計算機における、複数のプロセスで共用する
資源の排他制御のためのロック管理の制御装置に関す
る。
資源の排他制御のためのロック管理の制御装置に関す
る。
複数のプロセスの共存可能な計算機においては、それら
のプロセスで共用される計算機資源(以下において単に
資源という)が有る場合には、例えばデータベースの所
定のデータ単位のような資源の場合に、公知のようにそ
の資源を1プロセスが使用している間、他のプロセスに
よるその資源の使用を禁止するための、いわゆる排他制
御が必要になる。
のプロセスで共用される計算機資源(以下において単に
資源という)が有る場合には、例えばデータベースの所
定のデータ単位のような資源の場合に、公知のようにそ
の資源を1プロセスが使用している間、他のプロセスに
よるその資源の使用を禁止するための、いわゆる排他制
御が必要になる。
公知のように、ロックは排他制御の手段として広く使用
される。その場合、排他制御の必要な資源を使用するプ
ロセスは使用に先立って、管理プロセスにその資源の識
別名を示して、ロックを要求する。
される。その場合、排他制御の必要な資源を使用するプ
ロセスは使用に先立って、管理プロセスにその資源の識
別名を示して、ロックを要求する。
管理プロセスは、例えば指定の識別名の資源ごとに設け
た、公知のいわゆる待ち行列ポートに、要求元プロセス
を接続し、そのポートの行列の先頭になったとき、その
プロセスのみに当該資源の使用を許すように制御する。
た、公知のいわゆる待ち行列ポートに、要求元プロセス
を接続し、そのポートの行列の先頭になったとき、その
プロセスのみに当該資源の使用を許すように制御する。
従来このような制御を行う管理プロセスは、同一資源に
対する制御の競合を考慮して、実質的には同時に1管理
プロセスのみが処理を実行するように制御しているの
で、その結果多数のプロセスの各種資源に対するロック
要求が集中した場合に、ロック処理待ち時間の増大によ
るシステムの処理効率低下が問題になる。
対する制御の競合を考慮して、実質的には同時に1管理
プロセスのみが処理を実行するように制御しているの
で、その結果多数のプロセスの各種資源に対するロック
要求が集中した場合に、ロック処理待ち時間の増大によ
るシステムの処理効率低下が問題になる。
その対策として、各資源についてそのロック管理を行う
1管理プロセスを定めるようにして、複数の管理プロセ
スに担当資源を分配することが考えられる。
1管理プロセスを定めるようにして、複数の管理プロセ
スに担当資源を分配することが考えられる。
そのようにすれば、複数プロセッサを有する計算機の環
境においては、それらの管理プロセスによって互いに異
なる資源に対するロック要求を並行に処理することが可
能となり、処理待ち時間の減少を期待できる。
境においては、それらの管理プロセスによって互いに異
なる資源に対するロック要求を並行に処理することが可
能となり、処理待ち時間の減少を期待できる。
しかしその場合には、ロック要求において複数の管理プ
ロセスと分担資源との対応を識別して、所要の管理プロ
セスに要求を出さなければならないが、従来そのための
効率のよい制御方式が提供されていない。
ロセスと分担資源との対応を識別して、所要の管理プロ
セスに要求を出さなければならないが、従来そのための
効率のよい制御方式が提供されていない。
図は本発明の構成を示すブロック図である。
図において、1はロック要求元のプロセスであり、3は
資源6の識別名2から所定のハッシュ関数値を出力する
ハッシュ関数評価部、4はハッシュ関数値で索引して管
理プロセス識別子を与えるハッシュテーブル、5はその
識別子によって呼び出される管理プロセスである。
資源6の識別名2から所定のハッシュ関数値を出力する
ハッシュ関数評価部、4はハッシュ関数値で索引して管
理プロセス識別子を与えるハッシュテーブル、5はその
識別子によって呼び出される管理プロセスである。
ロック要求元のプロセス1はロック要求に際し、所要の
資源6の識別名2から、所定のハッシュ関数評価部3に
よって関数値を求める。
資源6の識別名2から、所定のハッシュ関数評価部3に
よって関数値を求める。
その関数値により、システムのハッシュテーブル4を索
引して必要な管理プロセス5の識別子を得、該識別子に
よって管理プロセス5を呼び、識別名2によりロック処
理を要求する。
引して必要な管理プロセス5の識別子を得、該識別子に
よって管理プロセス5を呼び、識別名2によりロック処
理を要求する。
管理プロセス5は、要求で指定される資源の識別名によ
り、通常のように指定の資源のロック管理を処理する。
り、通常のように指定の資源のロック管理を処理する。
この方式により、複数の管理プロセス5に資源6を振り
分けて管理を分担させ、管理プロセス間で重複して同じ
計算機資源を分担することが無いように振り分けるの
で、各管理プロセスは他の管理プロセスと同じ計算機資
源についてロック管理処理を同時に行う場合に生じ得る
不都合な干渉を考慮する必要無く、複数プロセッサの並
行処理可能な環境において、複数の管理プロセスが効率
良く並行して処理を行うことが可能であり、又ロック管
理を要求する各プロセスは、資源別に必要な管理プロセ
スを容易に識別して呼び出すことができるので、ロック
管理の処理効率を向上できる。
分けて管理を分担させ、管理プロセス間で重複して同じ
計算機資源を分担することが無いように振り分けるの
で、各管理プロセスは他の管理プロセスと同じ計算機資
源についてロック管理処理を同時に行う場合に生じ得る
不都合な干渉を考慮する必要無く、複数プロセッサの並
行処理可能な環境において、複数の管理プロセスが効率
良く並行して処理を行うことが可能であり、又ロック管
理を要求する各プロセスは、資源別に必要な管理プロセ
スを容易に識別して呼び出すことができるので、ロック
管理の処理効率を向上できる。
図においてプロセス1は、各種の処理業務に対応した、
一般に異なる内容を持つプロセスであり、但し図示のよ
うにロック要求のための同一の機構を持つものとする。
一般に異なる内容を持つプロセスであり、但し図示のよ
うにロック要求のための同一の機構を持つものとする。
他方、管理プロセス5は公知のロック管理のための通常
の制御機能を有する同一の内容のプロセスでよく、運用
上で図示のように特定の資源6のグループのみを扱うよ
うに分配し、それに応じたハッシュテーブル4を作成す
れば、自動的に各管理プロセス5が異なる資源6を分担
するようになる。
の制御機能を有する同一の内容のプロセスでよく、運用
上で図示のように特定の資源6のグループのみを扱うよ
うに分配し、それに応じたハッシュテーブル4を作成す
れば、自動的に各管理プロセス5が異なる資源6を分担
するようになる。
ロック要求元のプロセス1はロック要求に際し、所要の
資源6の識別名2から、所定のハッシュ関数評価部3に
よって関数値を求める。
資源6の識別名2から、所定のハッシュ関数評価部3に
よって関数値を求める。
資源の識別名は、通常比較的長い文字列で構成されるの
で、ハッシュ関数として例えば次のような関数を使用し
て、比較的短いビット列の値にできるだけ偏りなく変換
するようにハッシュ関数評価部3を構成する。
で、ハッシュ関数として例えば次のような関数を使用し
て、比較的短いビット列の値にできるだけ偏りなく変換
するようにハッシュ関数評価部3を構成する。
即ち、例えば12バイトの識別名を、3バイトづつの4グ
ループに分割し、2グループはビットの並びを反転させ
た後、4グループのビット列の排他的論理和を求め24ビ
ットのビット列を得る。
ループに分割し、2グループはビットの並びを反転させ
た後、4グループのビット列の排他的論理和を求め24ビ
ットのビット列を得る。
このビット列を被除整数として、適当な整数で除算を行
い、その剰余を関数評価結果として、ハッシュ関数評価
部3から出力する。
い、その剰余を関数評価結果として、ハッシュ関数評価
部3から出力する。
以上の例のようにして、例えば8ビットの関数値出力を
得るようにした場合には、ハッシュテーブル4として、
256項からなるテーブルを設け、各項に管理プロセス5
の識別子を表示する。
得るようにした場合には、ハッシュテーブル4として、
256項からなるテーブルを設け、各項に管理プロセス5
の識別子を表示する。
この例の場合に管理プロセスは最大256個設けることが
でき、それより少ない場合には、1管理プロセスの識別
子が、2項以上に表示されるようにする。
でき、それより少ない場合には、1管理プロセスの識別
子が、2項以上に表示されるようにする。
各ロック要求プロセス1は、以上によって求めた関数値
により、システムのハッシュテーブル4を索引して必要
な管理プロセス5の識別子を得、該識別子2によって管
理プロセス5を呼び、識別名2によって資源を指定し
て、そのロック処理を要求する。
により、システムのハッシュテーブル4を索引して必要
な管理プロセス5の識別子を得、該識別子2によって管
理プロセス5を呼び、識別名2によって資源を指定し
て、そのロック処理を要求する。
この方式により、複数の管理プロセス5に資源6を振り
分けて管理を分担させ、資源別に必要な管理プロセスを
容易に識別して呼び出すことができる。
分けて管理を分担させ、資源別に必要な管理プロセスを
容易に識別して呼び出すことができる。
又、運用結果等により、管理プロセス5の数、或いは管
理プロセス5に対する分担資源の分配の変更をする場合
には、ハッシュテーブル4の内容及びハッシュ関数評価
部3の関数の何れか一方又は両方を変更して対処するこ
とができ、管理プロセス5を変更する必要がない。
理プロセス5に対する分担資源の分配の変更をする場合
には、ハッシュテーブル4の内容及びハッシュ関数評価
部3の関数の何れか一方又は両方を変更して対処するこ
とができ、管理プロセス5を変更する必要がない。
〔発明の効果〕 以上の説明から明らかなように、本発明によれば、計算
機における共用資源に関するロック管理処理について、
実現が容易で且つ融通性の高い高速化が得られ、計算機
の処理効率を向上するという著しい工業的効果がある。
機における共用資源に関するロック管理処理について、
実現が容易で且つ融通性の高い高速化が得られ、計算機
の処理効率を向上するという著しい工業的効果がある。
図は本発明の構成を示すブロック図 である。 図において、 1はプロセス、2は識別名、3はハッシュ関数評価部、
4はハッシュテーブル、5は管理プロセス、6は資源 を示す。
4はハッシュテーブル、5は管理プロセス、6は資源 を示す。
Claims (1)
- 【請求項1】計算機で実行される複数のプロセス(1)
によって共用される複数の計算機資源(6)の、該プロ
セス(1)による使用の排他制御のためのロック管理に
おいて、 該計算機に、該計算機資源(6)のロック管理を重複な
く分担する複数の管理プロセス(5)と、該管理プロセ
スを指示する識別子を保持する項からなるハッシュテー
ブル(4)とを設け、 各該プロセス(1)に、入力値を所定のハッシュ関数で
評価して、結果の評価値を出力するハッシュ関数評価部
(3)を設け、 ロック管理を要求する各該プロセス(1)は、所要の該
計算機資源(5)の識別名(2)を該ハッシュ関数評価
部(3)に入力して該評価値を得、該評価値によって該
ハッシュテーブル(4)の該項を索引し、該索引結果の
該識別子により定まる該管理プロセスに要求を発行する
ように構成されていることを特徴とするロック管理制御
装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61275743A JPH0769840B2 (ja) | 1986-11-19 | 1986-11-19 | ロック管理制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61275743A JPH0769840B2 (ja) | 1986-11-19 | 1986-11-19 | ロック管理制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63129428A JPS63129428A (ja) | 1988-06-01 |
| JPH0769840B2 true JPH0769840B2 (ja) | 1995-07-31 |
Family
ID=17559774
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61275743A Expired - Lifetime JPH0769840B2 (ja) | 1986-11-19 | 1986-11-19 | ロック管理制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0769840B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3737638B2 (ja) | 1998-08-31 | 2006-01-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オブジェクトのロック管理方法及び装置、並びにオブジェクトのロック解除方法及び装置 |
| 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 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60254342A (ja) * | 1984-05-31 | 1985-12-16 | Fujitsu Ltd | 使用中資源管理方式 |
-
1986
- 1986-11-19 JP JP61275743A patent/JPH0769840B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63129428A (ja) | 1988-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS62229358A (ja) | プロセッサ選択方法 | |
| EP0459714B1 (en) | Interrupt processing allocation in a multiprocessor system | |
| US7000051B2 (en) | Apparatus and method for virtualizing interrupts in a logically partitioned computer system | |
| US5511200A (en) | Method and apparatus for providing an enhanced programmable priority interrupt controller | |
| CN1036877C (zh) | 一条多处理器流水线的动态工作量平衡 | |
| JPH01155451A (ja) | 仮想計算機システム | |
| GB2085624A (en) | A coupling equipment for the control of access of data processors to a data line | |
| JPH0769840B2 (ja) | ロック管理制御装置 | |
| JP3144842B2 (ja) | マイクロプロセッサ | |
| JPH0991257A (ja) | Cpu管理方式 | |
| JPS6331818B2 (ja) | ||
| JPS62237560A (ja) | マルチプロセツサシステム | |
| JPS58222364A (ja) | 端末システムにおけるデイスク装置のアクセス制御方式 | |
| JPS6327740B2 (ja) | ||
| JPH02281338A (ja) | タスクの制御方法 | |
| JPS62145441A (ja) | キ−順デ−タセツトの更新処理方式 | |
| JPH07105150A (ja) | ジョブ実行装置 | |
| JPH1091595A (ja) | トランザクション管理装置 | |
| JPH03123953A (ja) | 周辺機器の共有化方式 | |
| JPH08185384A (ja) | ロードモジュール割り当て方法および割り当て装置 | |
| JPH01259430A (ja) | インターバルタイマ値の減算方法 | |
| JPH0575141B2 (ja) | ||
| JPS63223948A (ja) | マルチプロセツサosに於けるプロセツサ間通信方法 | |
| KR930014113A (ko) | 병렬처리 시스템에서의 외부 스토리지 액세스방법 | |
| JPH0447357A (ja) | 仮想計算機システムの制御方式 |