JPH06110846A - 排他制御方式 - Google Patents
排他制御方式Info
- Publication number
- JPH06110846A JPH06110846A JP4256330A JP25633092A JPH06110846A JP H06110846 A JPH06110846 A JP H06110846A JP 4256330 A JP4256330 A JP 4256330A JP 25633092 A JP25633092 A JP 25633092A JP H06110846 A JPH06110846 A JP H06110846A
- Authority
- JP
- Japan
- Prior art keywords
- lock
- cpu
- class
- control information
- resource
- 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; 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/468—Specific access rights for resources, e.g. using capability register
-
- 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
(57)【要約】
【目的】 本発明は、資源の排他制御を行う排他制御方
式に関し、同一資源に対してノンクラスロックとしての
逐次化要求を満しながら、クラスロックとしての逐次化
要求も満たし、資源の逐次化によって生じるCPU間の
不必要な競合を抑えることを目的とする。 【構成】 ロック制御情報(CPU)1のクラスロック
およびノンクラスロックにCPU識別子(あるいはCP
Uに対応するビット)が設定されていないときに、ノン
クラスロックにCPU識別子(あるいはCPUに対応す
るビット)を設定して全体の排他を獲得し、一方、ロッ
ク制御情報(CPU)1のノンクラスロックにCPU識
別子(あるいはCPUに対応するビット)が設定されて
いないときに、クラスロックにCPU識別子(あるいは
CPUに対応するビット)を設定した後、ロック制御情
報(資源)2にCPU識別子(あるいはCPUに対応す
るビット)を設定して当該資源の排他を獲得するように
構成する。
式に関し、同一資源に対してノンクラスロックとしての
逐次化要求を満しながら、クラスロックとしての逐次化
要求も満たし、資源の逐次化によって生じるCPU間の
不必要な競合を抑えることを目的とする。 【構成】 ロック制御情報(CPU)1のクラスロック
およびノンクラスロックにCPU識別子(あるいはCP
Uに対応するビット)が設定されていないときに、ノン
クラスロックにCPU識別子(あるいはCPUに対応す
るビット)を設定して全体の排他を獲得し、一方、ロッ
ク制御情報(CPU)1のノンクラスロックにCPU識
別子(あるいはCPUに対応するビット)が設定されて
いないときに、クラスロックにCPU識別子(あるいは
CPUに対応するビット)を設定した後、ロック制御情
報(資源)2にCPU識別子(あるいはCPUに対応す
るビット)を設定して当該資源の排他を獲得するように
構成する。
Description
【0001】
【産業上の利用分野】本発明は、資源の排他制御を行う
排他制御方式に関するものである。近年、8つのCPU
で構成する密結合MPシステムの登場などのように、ハ
ードウェアの処理能力の向上が図られている。このよう
なハードウェアの処理能力の向上に伴い、CPU間で逐
次的に使用するシステム共用資源の競合による損失がC
PU台数に比例して大きくなるという問題が発生する。
この問題を解決するためには、CPU間で逐次的に使用
している資源に関して逐次化処理の細分化(以下クラス
化という)を行い、CPU間の競合を極力少なくするこ
とが必要である。しかし、システム内の全実行単位が一
度にその資源のクラス化に対応できるわけでなく、シス
テム全体で逐次的に使用することを必要とする実行単位
も存在する。即ち、クラス化した資源として利用する実
行単位と、クラス化していない資源として利用する実行
単位とが、システム内に共存した状態で資源の逐次化を
実現する要求がある。このため、システム全体として逐
次化要求を保証した上で、資源のクラス化を実行するこ
とが望まれている。
排他制御方式に関するものである。近年、8つのCPU
で構成する密結合MPシステムの登場などのように、ハ
ードウェアの処理能力の向上が図られている。このよう
なハードウェアの処理能力の向上に伴い、CPU間で逐
次的に使用するシステム共用資源の競合による損失がC
PU台数に比例して大きくなるという問題が発生する。
この問題を解決するためには、CPU間で逐次的に使用
している資源に関して逐次化処理の細分化(以下クラス
化という)を行い、CPU間の競合を極力少なくするこ
とが必要である。しかし、システム内の全実行単位が一
度にその資源のクラス化に対応できるわけでなく、シス
テム全体で逐次的に使用することを必要とする実行単位
も存在する。即ち、クラス化した資源として利用する実
行単位と、クラス化していない資源として利用する実行
単位とが、システム内に共存した状態で資源の逐次化を
実現する要求がある。このため、システム全体として逐
次化要求を保証した上で、資源のクラス化を実行するこ
とが望まれている。
【0002】
【従来の技術】従来、各種資源の逐次化の手段としてロ
ックサービスがある。ロックサービスにおける逐次化
は、各CPUがロックの獲得を表示する領域(ロック制
御領域という)に、ハードウェアの逐次化命令(例えば
CS命令)を用いてCPU識別子を設定しようとし、設
定できたCPUがその資源を占有することができること
になる。
ックサービスがある。ロックサービスにおける逐次化
は、各CPUがロックの獲得を表示する領域(ロック制
御領域という)に、ハードウェアの逐次化命令(例えば
CS命令)を用いてCPU識別子を設定しようとし、設
定できたCPUがその資源を占有することができること
になる。
【0003】ロックサービスは、クラスに関して次の2
つのタイプのロックを提供している。 ・クラスロック:資源を用途に応じてクラス化したロッ
クであって、ロック制御領域はクラス毎に存在し、クラ
ス毎にロックを獲得できる。
つのタイプのロックを提供している。 ・クラスロック:資源を用途に応じてクラス化したロッ
クであって、ロック制御領域はクラス毎に存在し、クラ
ス毎にロックを獲得できる。
【0004】・ノンクラスロック:クラス化してないロ
ックであって、ロック制御領域は全体で1つ存在し、全
体のロックを獲得する。 ノンクラスロックで逐次化されている資源をクラス化し
(細分化し)、クラスロックで逐次化することによっ
て、CPU間の競合を抑えることができる。
ックであって、ロック制御領域は全体で1つ存在し、全
体のロックを獲得する。 ノンクラスロックで逐次化されている資源をクラス化し
(細分化し)、クラスロックで逐次化することによっ
て、CPU間の競合を抑えることができる。
【0005】
【発明が解決しようとする課題】しかし、従来のロック
サービスは、同一資源に対してクラスロックと、ノンク
ラスロックの両方のタイプを与えることができない。即
ちある資源をクラス化すると、システム内でその資源を
利用している実行単位の全てがクラス化に対応しなけれ
ばならず、クラス化に対応した実行単位と、システム全
体としての逐次化を必要とする実行単位とがシステム内
に共存することができなくなる。
サービスは、同一資源に対してクラスロックと、ノンク
ラスロックの両方のタイプを与えることができない。即
ちある資源をクラス化すると、システム内でその資源を
利用している実行単位の全てがクラス化に対応しなけれ
ばならず、クラス化に対応した実行単位と、システム全
体としての逐次化を必要とする実行単位とがシステム内
に共存することができなくなる。
【0006】従って、ある資源に対して、ある実行単位
はその資源の逐次化をクラスロックによって行い、ある
実行単位はその資源の逐次化をノンクラスロックによっ
て行いたいという場合でも、その資源の逐次化はノンク
ラスロックでしか行えず、資源の逐次化に関してCPU
間の不必要な競合が発生してしまうという問題を生じて
いた。
はその資源の逐次化をクラスロックによって行い、ある
実行単位はその資源の逐次化をノンクラスロックによっ
て行いたいという場合でも、その資源の逐次化はノンク
ラスロックでしか行えず、資源の逐次化に関してCPU
間の不必要な競合が発生してしまうという問題を生じて
いた。
【0007】本発明は、これらの問題を解決するため、
同一資源に対してノンクラスロックとしての逐次化要求
を満しながら、クラスロックとしての逐次化要求も満た
し、資源の逐次化によって生じるCPU間の不必要な競
合を抑えることを目的としている。
同一資源に対してノンクラスロックとしての逐次化要求
を満しながら、クラスロックとしての逐次化要求も満た
し、資源の逐次化によって生じるCPU間の不必要な競
合を抑えることを目的としている。
【0008】
【課題を解決するための手段】図1を参照して課題を解
決するための手段を説明する。図1において、ロック制
御情報(CPU)1は、クラスロックおよびノンクラス
ロックを獲得したCPU識別子(あるいはCPUに対応
するビット)を設定するものである。
決するための手段を説明する。図1において、ロック制
御情報(CPU)1は、クラスロックおよびノンクラス
ロックを獲得したCPU識別子(あるいはCPUに対応
するビット)を設定するものである。
【0009】ロック制御情報(資源)2は、クラス化し
た資源を獲得したCPU識別子(あるいはCPUに対応
するビット)を設定するものである。
た資源を獲得したCPU識別子(あるいはCPUに対応
するビット)を設定するものである。
【0010】
【作用】本発明は、図1に示すように、ロック制御情報
(CPU)1のクラスロックおよびノンクラスロックに
CPU識別子(あるいはCPUに対応するビット)が設
定されていないときに、ノンクラスロックにCPU識別
子(あるいはCPUに対応するビット)を設定して全体
の排他を獲得し、一方、ロック制御情報(CPU)1の
ノンクラスロックにCPU識別子(あるいはCPUに対
応するビット)が設定されていないときに、クラスロッ
クにCPU識別子(あるいはCPUに対応するビット)
を設定した後、ロック制御情報(資源)2にCPU識別
子(あるいはCPUに対応するビット)を設定して当該
資源の排他を獲得するようにしている。
(CPU)1のクラスロックおよびノンクラスロックに
CPU識別子(あるいはCPUに対応するビット)が設
定されていないときに、ノンクラスロックにCPU識別
子(あるいはCPUに対応するビット)を設定して全体
の排他を獲得し、一方、ロック制御情報(CPU)1の
ノンクラスロックにCPU識別子(あるいはCPUに対
応するビット)が設定されていないときに、クラスロッ
クにCPU識別子(あるいはCPUに対応するビット)
を設定した後、ロック制御情報(資源)2にCPU識別
子(あるいはCPUに対応するビット)を設定して当該
資源の排他を獲得するようにしている。
【0011】従って、全体の資源に対するノンクラスロ
ックとしての逐次化要求を満しながら、細分化した資源
に対するクラスロックとしての逐次化要求も満たし、資
源の逐次化によって生じるCPU間の不必要な競合を抑
えることが可能となる。
ックとしての逐次化要求を満しながら、細分化した資源
に対するクラスロックとしての逐次化要求も満たし、資
源の逐次化によって生じるCPU間の不必要な競合を抑
えることが可能となる。
【0012】
【実施例】次に、図1から図8を用いて本発明の実施例
の構成および動作を順次詳細に説明する。
の構成および動作を順次詳細に説明する。
【0013】図1は、本発明の1実施例構成図を示す。
図1の(a)は、ロック制御情報(CPU)の例を示
す。図1の(a)において、ロック制御情報(CPU)
1は、クラスロックおよびノンクラスロックを獲得した
CPU識別子(あるいはCPUに対応するビット)を設
定するものである。ここで、クラスロックには、CPU
0用からCPU15用の合計16ビット(2バイト)の
ビットマスクのうちのいずれにビット“1”を設定する
かによって、当該クラスロックを獲得したCPUを設定
(登録)するようにしている。このクラスロックは、C
PUごとのロック制御領域ポインタから先頭がポイント
されている。また、ノンクラスロックには、全体のロッ
クを獲得したCPU識別子を設定するようにしている。
図1の(a)は、ロック制御情報(CPU)の例を示
す。図1の(a)において、ロック制御情報(CPU)
1は、クラスロックおよびノンクラスロックを獲得した
CPU識別子(あるいはCPUに対応するビット)を設
定するものである。ここで、クラスロックには、CPU
0用からCPU15用の合計16ビット(2バイト)の
ビットマスクのうちのいずれにビット“1”を設定する
かによって、当該クラスロックを獲得したCPUを設定
(登録)するようにしている。このクラスロックは、C
PUごとのロック制御領域ポインタから先頭がポイント
されている。また、ノンクラスロックには、全体のロッ
クを獲得したCPU識別子を設定するようにしている。
【0014】従って、クラスロックを獲得した場合には
該当するビットマップのビットを“1”に設定し、ノン
クラスロックを獲得した場合にはCPU識別子を設定す
る。図1の(b)は、ロック制御情報(資源)の例を示
す。
該当するビットマップのビットを“1”に設定し、ノン
クラスロックを獲得した場合にはCPU識別子を設定す
る。図1の(b)は、ロック制御情報(資源)の例を示
す。
【0015】図1の(b)において、ロック制御情報
(資源)2は、資源ごとのロック制御情報ポインタから
ポイントされ、その資源のクラスロックを保持している
CPU識別子を格納し、排他を獲得するようにしてい
る。
(資源)2は、資源ごとのロック制御情報ポインタから
ポイントされ、その資源のクラスロックを保持している
CPU識別子を格納し、排他を獲得するようにしてい
る。
【0016】図2は、本発明のロック制御情報(CP
U)の説明図を示す。 状態1:これは、全CPUがロックを保持していない状
態である。この状態では、図示のように、クラスロック
の全てのビットがオフ“0”であると共に、ノンクラス
ロックが“0”(CPU識別子が設定されていない)で
ある。
U)の説明図を示す。 状態1:これは、全CPUがロックを保持していない状
態である。この状態では、図示のように、クラスロック
の全てのビットがオフ“0”であると共に、ノンクラス
ロックが“0”(CPU識別子が設定されていない)で
ある。
【0017】状態2:これは、ノンクラスロックを保持
しているCPUが存在する状態である。この状態では、
図示のように、クラスロックの全てのビットがオフ
“0”であると共に、ノンクラスロックに“CPU識別
子”が設定されている。この設定された“CPU識別
子”のCPUが全体の排他を獲得しており、ノンクラス
ロックおよびクラスロックの両者ともにロックを獲得で
きない。
しているCPUが存在する状態である。この状態では、
図示のように、クラスロックの全てのビットがオフ
“0”であると共に、ノンクラスロックに“CPU識別
子”が設定されている。この設定された“CPU識別
子”のCPUが全体の排他を獲得しており、ノンクラス
ロックおよびクラスロックの両者ともにロックを獲得で
きない。
【0018】状態3:これは、クラスロックを保持して
いるCPUが存在する状態である。この状態では、図示
のように、クラスロックをCPU#1、CPU#2、C
PU#15が獲得しており、ノンクラスロックを獲得で
きない。
いるCPUが存在する状態である。この状態では、図示
のように、クラスロックをCPU#1、CPU#2、C
PU#15が獲得しており、ノンクラスロックを獲得で
きない。
【0019】図3は、本発明の動作説明図(ノンクラス
ロック有)を示す。ここでは、CPU#0からCPU#
15の16台を持つシステムある。図3において、S1
は、CPU#0がノンクラスロックの獲得要求を行う。
この場合には、ロック制御情報(CPU)1のクラスロ
ックおよびノンクラスロックがともに“0”でCPUに
よって両者ともにロックされていないので、当該CPU
#0をノンクラスロックに設定し、全体の排他を獲得す
る。
ロック有)を示す。ここでは、CPU#0からCPU#
15の16台を持つシステムある。図3において、S1
は、CPU#0がノンクラスロックの獲得要求を行う。
この場合には、ロック制御情報(CPU)1のクラスロ
ックおよびノンクラスロックがともに“0”でCPUに
よって両者ともにロックされていないので、当該CPU
#0をノンクラスロックに設定し、全体の排他を獲得す
る。
【0020】S2は、続いて、CPU#1がノンクラス
ロックの獲得要求を行ったが、ロック制御情報(CP
U)1のノンクラスロックに“CPU#0”が設定され
ていたのでループし、ノンクラスロックの“CPU#
0”が削除されて排他が解放されるまで待機する。
ロックの獲得要求を行ったが、ロック制御情報(CP
U)1のノンクラスロックに“CPU#0”が設定され
ていたのでループし、ノンクラスロックの“CPU#
0”が削除されて排他が解放されるまで待機する。
【0021】S3は、更に、続いて、CPU#15がク
ラスロックの獲得要求を行ったが、ロック制御情報(C
PU)1のノンクラスロックに“CPU#0”が設定さ
れていたのでループし、ノンクラスロックの“CPU#
0”(更にS2のノンクラスロックの“CPU#1”な
ど)が削除されて排他が解放されるまでループして待機
する。
ラスロックの獲得要求を行ったが、ロック制御情報(C
PU)1のノンクラスロックに“CPU#0”が設定さ
れていたのでループし、ノンクラスロックの“CPU#
0”(更にS2のノンクラスロックの“CPU#1”な
ど)が削除されて排他が解放されるまでループして待機
する。
【0022】図4は、本発明の動作説明図(クラスロッ
ク有)を示す。ここでは、CPU#0からCPU#15
の16台を持つシステムある。図4において、S11
は、CPU#0がクラスロックの獲得要求を行う。この
場合には、ロック制御情報(CPU)1のノンクラスロ
ックが“0”でロックされていないので、当該CPU#
0のクラスロックのビットに“1”を設定し、クラスロ
ックを獲得すると共に、クラス化した資源毎のロック制
御情報(資源)2が“0”でロックされていなかったの
で当該CPU#0の識別子を図示のように設定する。こ
れらにより、CPU#0は、クラス化した資源の排他を
獲得できたこととなる。
ク有)を示す。ここでは、CPU#0からCPU#15
の16台を持つシステムある。図4において、S11
は、CPU#0がクラスロックの獲得要求を行う。この
場合には、ロック制御情報(CPU)1のノンクラスロ
ックが“0”でロックされていないので、当該CPU#
0のクラスロックのビットに“1”を設定し、クラスロ
ックを獲得すると共に、クラス化した資源毎のロック制
御情報(資源)2が“0”でロックされていなかったの
で当該CPU#0の識別子を図示のように設定する。こ
れらにより、CPU#0は、クラス化した資源の排他を
獲得できたこととなる。
【0023】S12は、続いて、CPU#15がクラス
ロックの獲得要求を行う。この場合には、ロック制御情
報(CPU)1のノンクラスロックが全て“0”でロッ
クされていないので、当該CPU#15のクラスロック
のビットに“1”を設定し、クラスロックを獲得する
が、クラス化した資源毎のロック制御情報(資源)2が
“CPU#0”でロックされていたので当該CPU#0
の識別子が削除されるまでループして待機する。そし
て、資源毎のロック制御情報(資源)2の“CPU#
0”が削除されたときに、CPU#15を設定してロッ
クを獲得する。
ロックの獲得要求を行う。この場合には、ロック制御情
報(CPU)1のノンクラスロックが全て“0”でロッ
クされていないので、当該CPU#15のクラスロック
のビットに“1”を設定し、クラスロックを獲得する
が、クラス化した資源毎のロック制御情報(資源)2が
“CPU#0”でロックされていたので当該CPU#0
の識別子が削除されるまでループして待機する。そし
て、資源毎のロック制御情報(資源)2の“CPU#
0”が削除されたときに、CPU#15を設定してロッ
クを獲得する。
【0024】S13は、続いて、CPU#1がノンクラ
スロックの獲得要求を行う。この場合には、ロック制御
情報(CPU)1にクラスロックが設定(CPU#0と
CPU#15のビットが“1”に設定)されていたの
で、ループして全てのクラスロックが“0”になるのを
待機する。
スロックの獲得要求を行う。この場合には、ロック制御
情報(CPU)1にクラスロックが設定(CPU#0と
CPU#15のビットが“1”に設定)されていたの
で、ループして全てのクラスロックが“0”になるのを
待機する。
【0025】次に、図5のフローチャートに示す順序に
従い、ノンクラスロックの獲得処理について詳細に説明
する。図5において、S21は、 ・ロックの獲得表示を行う。
従い、ノンクラスロックの獲得処理について詳細に説明
する。図5において、S21は、 ・ロックの獲得表示を行う。
【0026】・CS命令を用いて、ロック制御情報(C
PU)1にCPU識別子を設定する。 S22は、CS命令による更新成功か判別する。このC
S命令(コンペアアンドスワップ命令)は他CPUとの
排他をハードウェアが保証した命令であって、当該CS
命令により、図1の(a)のロック制御情報(CPU)
のノンクラスロックが“0”であって他のCPU識別子
が設定されていなかったので、ノンクラス獲得要求元の
CPU識別子の設定に成功したか判別する。YESの場
合には、ロック制御情報(CPU)1のノンクラスロッ
クにCPU識別子を設定できたと判明し、ノンクラスロ
ックの獲得に成功したので、ノンクラスロックの要求元
に復帰する(RC=0、リターンコードを表す)。一
方、NOの場合には、ロック制御情報(CPU)1のノ
ンクラスロックが“0”でなく他のCPU識別子が設定
されていたと判明したので、S23に進む。
PU)1にCPU識別子を設定する。 S22は、CS命令による更新成功か判別する。このC
S命令(コンペアアンドスワップ命令)は他CPUとの
排他をハードウェアが保証した命令であって、当該CS
命令により、図1の(a)のロック制御情報(CPU)
のノンクラスロックが“0”であって他のCPU識別子
が設定されていなかったので、ノンクラス獲得要求元の
CPU識別子の設定に成功したか判別する。YESの場
合には、ロック制御情報(CPU)1のノンクラスロッ
クにCPU識別子を設定できたと判明し、ノンクラスロ
ックの獲得に成功したので、ノンクラスロックの要求元
に復帰する(RC=0、リターンコードを表す)。一
方、NOの場合には、ロック制御情報(CPU)1のノ
ンクラスロックが“0”でなく他のCPU識別子が設定
されていたと判明したので、S23に進む。
【0027】S23は、自らが既に獲得しているか判別
する。YESの場合には、ノンクラスロックを既に保持
しているので、ノンクラスロック要求元へ復帰する(R
C=4)。一方、NOの場合には、ノンクラスロックを
獲得していないと判明したので、S24に進む。
する。YESの場合には、ノンクラスロックを既に保持
しているので、ノンクラスロック要求元へ復帰する(R
C=4)。一方、NOの場合には、ノンクラスロックを
獲得していないと判明したので、S24に進む。
【0028】S24は、自らがクラスロックを保持中か
判別する。YESの場合には、要求元を異常終了させ、
終了する(END)。一方、NOの場合には、S25に
進む。
判別する。YESの場合には、要求元を異常終了させ、
終了する(END)。一方、NOの場合には、S25に
進む。
【0029】S25は、ロック制御情報(CPU)1が
全て“0”が判別する。YESの場合には、S26に進
む。NOの場合には、繰り返し、全て“0”となってノ
ンクラスロックを獲得できる状態になるまで待機する。
全て“0”が判別する。YESの場合には、S26に進
む。NOの場合には、繰り返し、全て“0”となってノ
ンクラスロックを獲得できる状態になるまで待機する。
【0030】S26は、CS命令を用いて、ロック制御
情報(CPU)1にCPU識別子を設定する。S27
は、ロック制御情報(CPU)1が全て“0”でノンク
ラスロックにCPU識別子の設定(更新)を成功したか
判別する。YESの場合には、ノンクラスロックの獲得
に成功したので、要求元に復帰する(RC=0)。一
方、NOの場合には、S25に戻る。
情報(CPU)1にCPU識別子を設定する。S27
は、ロック制御情報(CPU)1が全て“0”でノンク
ラスロックにCPU識別子の設定(更新)を成功したか
判別する。YESの場合には、ノンクラスロックの獲得
に成功したので、要求元に復帰する(RC=0)。一
方、NOの場合には、S25に戻る。
【0031】以上のように、ノンクラスロックの獲得要
求に対応して、CS命令を用いて、図1の(a)のロッ
ク制御情報(CPU)1のクラスロックおよびノンクラ
スロックが全て“0”でCPU識別子の設定(更新)に
成功したときに、ノンクラスロックの獲得に成功したと
して要求元に復帰する。一方、ロック制御情報(CP
U)1の全て“0”でないときは待機して全て“0”と
なりCPU識別子の設定(更新)に成功したときに、ノ
ンクラスロックの獲得に成功したとして要求元に復帰す
る。これらにより、ロック制御情報(CPU)1のノン
クラスロックを獲得し、排他的に資源をアクセスして処
理を行うことが可能となる。
求に対応して、CS命令を用いて、図1の(a)のロッ
ク制御情報(CPU)1のクラスロックおよびノンクラ
スロックが全て“0”でCPU識別子の設定(更新)に
成功したときに、ノンクラスロックの獲得に成功したと
して要求元に復帰する。一方、ロック制御情報(CP
U)1の全て“0”でないときは待機して全て“0”と
なりCPU識別子の設定(更新)に成功したときに、ノ
ンクラスロックの獲得に成功したとして要求元に復帰す
る。これらにより、ロック制御情報(CPU)1のノン
クラスロックを獲得し、排他的に資源をアクセスして処
理を行うことが可能となる。
【0032】次に、図6のフローチャートに示す順序に
従い、クラスロックの獲得処理について詳細に説明す
る。図6において、S31は、自らがクラスロックある
いはノンクラスロックを保持中か判別する。YESの場
合には、S39で自らノンクラスロックか判別してYE
SのときにS40で要求元を異常終了させ、一方、NO
のときに既にクラスロックを保持していたので、要求元
へ復帰する(RC=4)。一方、NOの場合には、自ら
がクラスロックあるいはノンクラスロックのいずれも保
持していないと判明したので、S32に進む。
従い、クラスロックの獲得処理について詳細に説明す
る。図6において、S31は、自らがクラスロックある
いはノンクラスロックを保持中か判別する。YESの場
合には、S39で自らノンクラスロックか判別してYE
SのときにS40で要求元を異常終了させ、一方、NO
のときに既にクラスロックを保持していたので、要求元
へ復帰する(RC=4)。一方、NOの場合には、自ら
がクラスロックあるいはノンクラスロックのいずれも保
持していないと判明したので、S32に進む。
【0033】S32は、 ・ロックの獲得表示を行う ・CS命令を用いて、ロック制御情報(CPU)1の自
CPUに対応するビットをオン“1”にする。
CPUに対応するビットをオン“1”にする。
【0034】S33は、CS命令による更新成功か判別
する。YESの場合には、例えば図1の(a)のロック
制御情報(CPU)1のクラスロックの該当するCPU
のビットの“1”の設定に成功したと判明したので、S
34に進む。一方、NOの場合には、他CPUがロック
制御情報(CPU)1のノンクラスロックを保持してい
たため、クラスロックが獲得できなかったので、S41
に進む。
する。YESの場合には、例えば図1の(a)のロック
制御情報(CPU)1のクラスロックの該当するCPU
のビットの“1”の設定に成功したと判明したので、S
34に進む。一方、NOの場合には、他CPUがロック
制御情報(CPU)1のノンクラスロックを保持してい
たため、クラスロックが獲得できなかったので、S41
に進む。
【0035】S34は、S33でCS命令によってロッ
ク制御情報(CPU)1のCPUのビット“1”の設定
に成功したので、CS命令を用いて資源ごとのロック制
御情報(資源)2にCPU識別子を設定する。
ク制御情報(CPU)1のCPUのビット“1”の設定
に成功したので、CS命令を用いて資源ごとのロック制
御情報(資源)2にCPU識別子を設定する。
【0036】S35は、CS命令による更新成功か判別
する。YESの場合には、ロック制御情報(資源)2に
CPU識別子の設定に成功したと判明したので、クラス
ロックの獲得に成功したので、要求元へ復帰する(RC
=0)。一方、NOの場合には、ロック制御情報(資
源)2にCPU識別子の設定に失敗し、自分は獲得でき
なかったので、S36に進む。
する。YESの場合には、ロック制御情報(資源)2に
CPU識別子の設定に成功したと判明したので、クラス
ロックの獲得に成功したので、要求元へ復帰する(RC
=0)。一方、NOの場合には、ロック制御情報(資
源)2にCPU識別子の設定に失敗し、自分は獲得でき
なかったので、S36に進む。
【0037】S36は、資源ごとのロック制御情報(資
源)2が“0”か判別する。YESの場合には、資源ご
とのロック情報(資源)2のクラスロックの獲得が可能
であるので、S37に進む。一方、NOの場合には、待
機し、クラスロックの獲得が可能となるまで待機する。
源)2が“0”か判別する。YESの場合には、資源ご
とのロック情報(資源)2のクラスロックの獲得が可能
であるので、S37に進む。一方、NOの場合には、待
機し、クラスロックの獲得が可能となるまで待機する。
【0038】S37は、CS命令を用いて資源ごとのロ
ック制御情報(資源)2にCPU識別子を設定する。S
38は、CS命令による更新成功か判別する。YESの
場合には、ロック制御情報(資源)2にCPU識別子の
設定に成功したと判明したので、クラスロックの獲得に
成功したので、要求元へ復帰する(RC=0)。一方、
NOの場合には、ロック制御情報(資源)2にCPU識
別子の設定に失敗し、自分は獲得できなかったので、S
36に戻る。
ック制御情報(資源)2にCPU識別子を設定する。S
38は、CS命令による更新成功か判別する。YESの
場合には、ロック制御情報(資源)2にCPU識別子の
設定に成功したと判明したので、クラスロックの獲得に
成功したので、要求元へ復帰する(RC=0)。一方、
NOの場合には、ロック制御情報(資源)2にCPU識
別子の設定に失敗し、自分は獲得できなかったので、S
36に戻る。
【0039】S41は、他がノンクラスロックを保持中
か判別する。YESの場合には、S42に進む。NOの
場合には、S32に戻る。S42は、ロック制御情報
(CPU)1が“0”か判別する。YESの場合には、
クラスロックが獲得できる状態と判明したので、S43
に進む。一方、NOの場合には、待機する。
か判別する。YESの場合には、S42に進む。NOの
場合には、S32に戻る。S42は、ロック制御情報
(CPU)1が“0”か判別する。YESの場合には、
クラスロックが獲得できる状態と判明したので、S43
に進む。一方、NOの場合には、待機する。
【0040】S43は、CS命令を用いて、ロック制御
情報(CPU)1の自CPUに対応するビットをオン
“1”にする。S44は、CS命令による更新成功か判
別する。YESの場合には、S34に進み、CS命令を
用いて、資源ごとのロック制御情報(資源)2にCPU
識別子を設定し、クラスロックを獲得する。一方、NO
の場合には、S42に戻る。
情報(CPU)1の自CPUに対応するビットをオン
“1”にする。S44は、CS命令による更新成功か判
別する。YESの場合には、S34に進み、CS命令を
用いて、資源ごとのロック制御情報(資源)2にCPU
識別子を設定し、クラスロックを獲得する。一方、NO
の場合には、S42に戻る。
【0041】以上によって、ロック制御情報(CPU)
1のノンクラスロックが設定されていないときに、CP
Uに対応するビット“1”に設定した後、資源ごとのロ
ック制御情報(資源)2にCPU識別子を設定し、クラ
スロックを獲得することが可能となる。
1のノンクラスロックが設定されていないときに、CP
Uに対応するビット“1”に設定した後、資源ごとのロ
ック制御情報(資源)2にCPU識別子を設定し、クラ
スロックを獲得することが可能となる。
【0042】次に、図7のフローチャートに示す順序に
従い、図8を参照しつつ本発明の具体例について詳細に
説明する。これは、仮想空間でページフォルトが発生し
たときに、共通ロック(ノンクラスロック)によって実
ページを確保し、仮想空間1のロック(クラスロック)
によってページ管理テーブルに設定などするときのフロ
ーチャートである。
従い、図8を参照しつつ本発明の具体例について詳細に
説明する。これは、仮想空間でページフォルトが発生し
たときに、共通ロック(ノンクラスロック)によって実
ページを確保し、仮想空間1のロック(クラスロック)
によってページ管理テーブルに設定などするときのフロ
ーチャートである。
【0043】図7において、51は、ページフォルト割
り込みが仮想空間1で発生する。これは、図8の(a)
の仮想空間1でページフォルト割り込みが発生する。S
52は、共通ロック(システム全体のロック、ノンクラ
スロック)を獲得する。これは、既述したロック制御情
報(CPU)1のノンクラスロックを獲得する(CPU
識別子を設定して獲得する)。
り込みが仮想空間1で発生する。これは、図8の(a)
の仮想空間1でページフォルト割り込みが発生する。S
52は、共通ロック(システム全体のロック、ノンクラ
スロック)を獲得する。これは、既述したロック制御情
報(CPU)1のノンクラスロックを獲得する(CPU
識別子を設定して獲得する)。
【0044】S53は、使用可能キューの実ページを1
ページ確保する。これは、図8の(c)の使用可能キュ
ーからキューイングされている実ページを1ページ確保
する。
ページ確保する。これは、図8の(c)の使用可能キュ
ーからキューイングされている実ページを1ページ確保
する。
【0045】S54は、共通ロックを解放する。以上の
S52からS54によって共通ロックを獲得した状態
(図8の共通域の共通ロックを獲得した状態)で、当該
共通域中に存在する使用可能キューからキューイングさ
れている実ページを1ページ確保したのち、共通ロック
を解放する。これにより、の共通ロック(ノンクラス
ロック)の時間を必要最小限に削減し、他のCPUとの
競合を少なくすることが可能となる。
S52からS54によって共通ロックを獲得した状態
(図8の共通域の共通ロックを獲得した状態)で、当該
共通域中に存在する使用可能キューからキューイングさ
れている実ページを1ページ確保したのち、共通ロック
を解放する。これにより、の共通ロック(ノンクラス
ロック)の時間を必要最小限に削減し、他のCPUとの
競合を少なくすることが可能となる。
【0046】S55は、仮想空間1のロックを獲得す
る。これは、S52からS54で実ページを獲得したの
で、次に仮想空間1のロック(資源ごとのロック制御情
報(資源)2のロック)を獲得する。
る。これは、S52からS54で実ページを獲得したの
で、次に仮想空間1のロック(資源ごとのロック制御情
報(資源)2のロック)を獲得する。
【0047】S56は、DAT(動的アドレス変換テー
ブル)をチェックし、自CPUが処理すべきか判別す
る。YESの場合には、S57に進む。NOの場合に
は、他CPU処理なので、終了する。
ブル)をチェックし、自CPUが処理すべきか判別す
る。YESの場合には、S57に進む。NOの場合に
は、他CPU処理なので、終了する。
【0048】S57は、ページ管理テーブルに設定(該
当ページに所有者名を登録)する。これは、図8の
(c)の実ページ管理テーブル中のここでは仮想空間1
の使用キューに実ページをキューイングする。
当ページに所有者名を登録)する。これは、図8の
(c)の実ページ管理テーブル中のここでは仮想空間1
の使用キューに実ページをキューイングする。
【0049】S58は、外部記憶→実ページのIO起動
すると共に、IO処理中をDATに表示(設定)する。
S59は、仮想空間1のロックを解放する。
すると共に、IO処理中をDATに表示(設定)する。
S59は、仮想空間1のロックを解放する。
【0050】以上のS55からS59によって、仮想空
間1のロックを獲得(資源ごとのロック制御情報(資
源)2のロックを獲得)した状態で、ページ管理テーブ
ル(図8の(c)の実ページ管理テーブル)中の仮想空
間1の使用キューに実ページをエンキューして実ページ
割当てを行うと共にI/O起動を行う。
間1のロックを獲得(資源ごとのロック制御情報(資
源)2のロックを獲得)した状態で、ページ管理テーブ
ル(図8の(c)の実ページ管理テーブル)中の仮想空
間1の使用キューに実ページをエンキューして実ページ
割当てを行うと共にI/O起動を行う。
【0051】S60は、S58で起動したI/O完了を
契機として、仮想空間1のロック獲得を行う。S61
は、仮想空間1のDATに仮想→実を設定し、参照可能
(仮想アドレスから実アドレスを参照可能)にする。
契機として、仮想空間1のロック獲得を行う。S61
は、仮想空間1のDATに仮想→実を設定し、参照可能
(仮想アドレスから実アドレスを参照可能)にする。
【0052】S62は、仮想空間1のロックを解放す
る。以上によって、S58でI/O起動した外部記憶→
実ページのI/O処理の完了を契機として、ここでは仮
想空間1のロックを獲得し、当該仮想空間1のDATに
仮想→実を設定し、ロックを解放する。これにより、必
要なときのみクラスロックを獲得して必要最小限の排
他を確保し、競合を最小に抑えることが可能となる。
る。以上によって、S58でI/O起動した外部記憶→
実ページのI/O処理の完了を契機として、ここでは仮
想空間1のロックを獲得し、当該仮想空間1のDATに
仮想→実を設定し、ロックを解放する。これにより、必
要なときのみクラスロックを獲得して必要最小限の排
他を確保し、競合を最小に抑えることが可能となる。
【0053】尚、図7中のはノンクラスロックによる
逐次化の範囲を示し、はクラスロックによる逐次化の
範囲を示す。クラスロックによって、同一空間内の他の
実行単位との逐次化、およびシステムの実ページ補充
(LRU制御のための長期未参照ページのチェックや外
部記憶への追い出し処理)との逐次化が可能となる。
逐次化の範囲を示し、はクラスロックによる逐次化の
範囲を示す。クラスロックによって、同一空間内の他の
実行単位との逐次化、およびシステムの実ページ補充
(LRU制御のための長期未参照ページのチェックや外
部記憶への追い出し処理)との逐次化が可能となる。
【0054】図8は、本発明の具体例説明図を示す。図
8の(a)は、仮想ページの状態を示す。ここで、仮想
空間1、2、3、4、5および共通域から構成されてい
る。
8の(a)は、仮想ページの状態を示す。ここで、仮想
空間1、2、3、4、5および共通域から構成されてい
る。
【0055】図8の(b)は、実ページの割当て状態を
示す。ここで、R0、R1・・・Rnは、実ページを表
す。また、 ・Frは使用可能な状態を表す。
示す。ここで、R0、R1・・・Rnは、実ページを表
す。また、 ・Frは使用可能な状態を表す。
【0056】・Cmは共通域として使用中を表す。 ・A1は仮想空間1で使用中を表す。 ・A5は仮想空間5で使用中を表す。
【0057】図8の(c)は、実ページ管理テーブル
(ページ管理テーブル)の状態を示す。 ・使用可能キューは、使用可能な実ページをキューイン
グしたものであって、ここでは、R1、R7、R11・
・・Rnの実ページである。図8の(b)中のFrと設
定してある実ページに対応する。
(ページ管理テーブル)の状態を示す。 ・使用可能キューは、使用可能な実ページをキューイン
グしたものであって、ここでは、R1、R7、R11・
・・Rnの実ページである。図8の(b)中のFrと設
定してある実ページに対応する。
【0058】・共通域使用キューは、共通域で使用中の
実ページをキューイングしたものであって、ここでは、
R0、R9、R10・・・の実ページである。図8の
(b)中のCmと設定してある実ページに対応する。
実ページをキューイングしたものであって、ここでは、
R0、R9、R10・・・の実ページである。図8の
(b)中のCmと設定してある実ページに対応する。
【0059】・仮想空間1使用キューは、仮想空間1で
使用中の実ページをキューイングしたものであって、こ
こでは、R2、R5・・・の実ページである。図8の
(b)中のA1と設定してある実ページに対応する。
使用中の実ページをキューイングしたものであって、こ
こでは、R2、R5・・・の実ページである。図8の
(b)中のA1と設定してある実ページに対応する。
【0060】・仮想空間2使用キューは、仮想空間2で
使用中の実ページをキューイングしたものであって、こ
こでは、R6・・・の実ページである。図8の(b)中
のA2と設定してある実ページに対応する。
使用中の実ページをキューイングしたものであって、こ
こでは、R6・・・の実ページである。図8の(b)中
のA2と設定してある実ページに対応する。
【0061】・仮想空間5使用キューは、仮想空間5で
使用中の実ページをキューイングしたものであって、こ
こでは、R3、R8・・・の実ページである。図8の
(b)中のA5と設定してある実ページに対応する。
使用中の実ページをキューイングしたものであって、こ
こでは、R3、R8・・・の実ページである。図8の
(b)中のA5と設定してある実ページに対応する。
【0062】
【発明の効果】以上説明したように、本発明によれば、
ロック制御情報(CPU)1のクラスロックおよびノン
クラスロックにCPU識別子(あるいはCPUに対応す
るビット)が設定されていないときに、ノンクラスロッ
クにCPU識別子(あるいはCPUに対応するビット)
を設定して全体の排他を獲得したり、ロック制御情報
(CPU)1のノンクラスロックにCPU識別子(ある
いはCPUに対応するビット)が設定されていないとき
に、クラスロックにCPU識別子(あるいはCPUに対
応するビット)を設定した後、ロック制御情報(資源)
2にCPU識別子(あるいはCPUに対応するビット)
を設定して排他を獲得する構成を採用しているため、全
体の資源に対するノンクラスロックとしての逐次化要求
を満しながら、細分化した資源に対するクラスロックと
しての逐次化要求も満たし、資源の逐次化によって生じ
るCPU間の不必要な競合を抑えることができる。これ
らにより、クラス化の対象とした資源の逐次化に対し
て、逐次化処理の競合を極力抑えることができるため、
CPUの並列処理性を高め、計算機システムの処理能力
を向上させることができる。
ロック制御情報(CPU)1のクラスロックおよびノン
クラスロックにCPU識別子(あるいはCPUに対応す
るビット)が設定されていないときに、ノンクラスロッ
クにCPU識別子(あるいはCPUに対応するビット)
を設定して全体の排他を獲得したり、ロック制御情報
(CPU)1のノンクラスロックにCPU識別子(ある
いはCPUに対応するビット)が設定されていないとき
に、クラスロックにCPU識別子(あるいはCPUに対
応するビット)を設定した後、ロック制御情報(資源)
2にCPU識別子(あるいはCPUに対応するビット)
を設定して排他を獲得する構成を採用しているため、全
体の資源に対するノンクラスロックとしての逐次化要求
を満しながら、細分化した資源に対するクラスロックと
しての逐次化要求も満たし、資源の逐次化によって生じ
るCPU間の不必要な競合を抑えることができる。これ
らにより、クラス化の対象とした資源の逐次化に対し
て、逐次化処理の競合を極力抑えることができるため、
CPUの並列処理性を高め、計算機システムの処理能力
を向上させることができる。
【図1】本発明の1実施例構成図である。
【図2】本発明のロック制御情報(CPU)の説明図で
ある。
ある。
【図3】本発明の動作説明図(ノンクラスロック有)で
ある。
ある。
【図4】本発明の動作説明図(クラスロック有)であ
る。
る。
【図5】本発明のノンクラスロックの獲得処理フローチ
ャートである。
ャートである。
【図6】本発明のクラスロックの獲得処理フローチャー
トである。
トである。
【図7】本発明の具体例説明フローチャートである。
【図8】本発明の具体例説明図である。
1:ロック制御情報(CPU) 2:ロック制御情報(資源)
Claims (1)
- 【請求項1】資源の排他制御を行う排他制御方式におい
て、 クラスロックおよびノンクラスロックを獲得したCPU
識別子(あるいはCPUに対応するビット)を設定する
ロック制御情報(CPU)(1)と、 クラス化した資源を獲得したCPU識別子(あるいはC
PUに対応するビット)を設定するロック制御情報(資
源)(2)とを備え、 上記ロック制御情報(CPU)(1)のクラスロックお
よびノンクラスロックにCPU識別子(あるいはCPU
に対応するビット)が設定されていないときに、ノンク
ラスロックにCPU識別子(あるいはCPUに対応する
ビット)を設定して全体の排他を獲得し、 一方、上記ロック制御情報(CPU)(1)のノンクラ
スロックにCPU識別子(あるいはCPUに対応するビ
ット)が設定されていないときに、クラスロックにCP
U識別子(あるいはCPUに対応するビット)を設定し
た後、上記ロック制御情報(資源)(2)にCPU識別
子(あるいはCPUに対応するビット)を設定して当該
資源の排他を獲得するように構成したことを特徴とする
排他制御方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4256330A JPH06110846A (ja) | 1992-09-25 | 1992-09-25 | 排他制御方式 |
US08/618,405 US5615374A (en) | 1992-09-25 | 1996-03-19 | Lock control method for resource |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4256330A JPH06110846A (ja) | 1992-09-25 | 1992-09-25 | 排他制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06110846A true JPH06110846A (ja) | 1994-04-22 |
Family
ID=17291178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4256330A Pending JPH06110846A (ja) | 1992-09-25 | 1992-09-25 | 排他制御方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5615374A (ja) |
JP (1) | JPH06110846A (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2766217B2 (ja) * | 1994-06-14 | 1998-06-18 | 甲府日本電気株式会社 | 並列処理装置 |
US6289410B1 (en) * | 1996-07-18 | 2001-09-11 | Electronic Data Systems Corporation | Method and system for maintaining consistency of shared objects based upon instance variable locking |
US6000029A (en) * | 1997-11-03 | 1999-12-07 | Motorola, Inc. | Method and apparatus for affecting subsequent instruction processing in a data processor |
US6374285B1 (en) * | 1998-05-15 | 2002-04-16 | Compaq Computer Corporation | Method for mutual exclusion of locks in a remote-write globally ordered network of processors |
US6611911B1 (en) * | 1999-12-30 | 2003-08-26 | Intel Corporation | Bootstrap processor election mechanism on multiple cluster bus system |
US6658522B1 (en) * | 2000-06-16 | 2003-12-02 | Emc Corporation | Method to reduce overhead associated with system I/O in a multiprocessor computer system |
JP3864250B2 (ja) * | 2002-10-31 | 2006-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 排他制御装置、排他制御方法、プログラム、及び記録媒体 |
US6938054B2 (en) * | 2002-11-25 | 2005-08-30 | International Business Machines Corporation | Systems, methods, and computer program products to optimize serialization when porting code to IBM S/390 UNIX system services from a UNIX system |
US8078990B2 (en) | 2006-02-01 | 2011-12-13 | Research In Motion Limited | Secure device sharing |
US7861093B2 (en) * | 2006-08-30 | 2010-12-28 | International Business Machines Corporation | Managing data access via a loop only if changed locking facility |
US9639392B2 (en) * | 2013-12-17 | 2017-05-02 | Intel Corporation | Unbounded transactional memory with forward progress guarantees using a hardware global lock |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4480304A (en) * | 1980-10-06 | 1984-10-30 | International Business Machines Corporation | Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment |
US4574350A (en) * | 1982-05-19 | 1986-03-04 | At&T Bell Laboratories | Shared resource locking apparatus |
US4604694A (en) * | 1983-12-14 | 1986-08-05 | International Business Machines Corporation | Shared and exclusive access control |
US5319780A (en) * | 1987-10-19 | 1994-06-07 | International Business Machines Corporation | System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is issued |
JPH01303527A (ja) * | 1988-05-31 | 1989-12-07 | Hitachi Ltd | 共有資源の管理方法 |
US5251318A (en) * | 1988-09-02 | 1993-10-05 | Hitachi, Ltd. | Multiprocessing system comparing information copied from extended storage before and after processing for serializing access to shared resource |
JPH0318935A (ja) * | 1989-06-15 | 1991-01-28 | Hitachi Ltd | データリストに対するアクセスの直列化方式 |
US5263161A (en) * | 1989-07-26 | 1993-11-16 | Massachusetts Institute Of Technology | Non-busy waiting resource control |
EP0432075B1 (en) * | 1989-11-09 | 1997-02-26 | International Business Machines Corporation | Multiprocessor with relatively atomic instructions |
JPH07101410B2 (ja) * | 1990-01-17 | 1995-11-01 | インターナショナル、ビジネス、マシーンズ、コーポレーション | データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法 |
JP2699600B2 (ja) * | 1990-01-30 | 1998-01-19 | 日本電気株式会社 | 資源の排他制御方式 |
US5226143A (en) * | 1990-03-14 | 1993-07-06 | International Business Machines Corporation | Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager |
JPH06342396A (ja) * | 1990-07-02 | 1994-12-13 | Internatl Business Mach Corp <Ibm> | 共有データのアクセスを直列化する方法及び装置 |
US5317749A (en) * | 1992-09-25 | 1994-05-31 | International Business Machines Corporation | Method and apparatus for controlling access by a plurality of processors to a shared resource |
US5392433A (en) * | 1992-09-25 | 1995-02-21 | International Business Machines Corporation | Method and apparatus for intraprocess locking of a shared resource in a computer system |
-
1992
- 1992-09-25 JP JP4256330A patent/JPH06110846A/ja active Pending
-
1996
- 1996-03-19 US US08/618,405 patent/US5615374A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5615374A (en) | 1997-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW498281B (en) | Interface system and method for asynchronously updating a shared resource | |
US6668291B1 (en) | Non-blocking concurrent queues with direct node access by threads | |
US4509119A (en) | Method for managing a buffer pool referenced by batch and interactive processes | |
US5287521A (en) | Method and apparatus for releasing and obtaining shared and exclusive locks | |
US6412034B1 (en) | Transaction-based locking approach | |
EP0682312A2 (en) | Hardware implemented locking mechanism for parallel/distributed computer system | |
US5987550A (en) | Lock mechanism for shared resources in a data processing system | |
US6189007B1 (en) | Method and apparatus for conducting a high performance locking facility in a loosely coupled environment | |
EP0965919A2 (en) | A probabilistic queue lock | |
US7100161B2 (en) | Method and apparatus for resource access synchronization | |
JPH07191944A (ja) | 多重プロセッサによる多数の資源への命令におけるデッドロックを防止するためのシステムおよび方法 | |
US6862595B1 (en) | Method and apparatus for implementing a shared message queue using a list structure | |
JPH03222057A (ja) | データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法 | |
US20060070072A1 (en) | Information processing apparatus, memory area management method, and computer program | |
JPH06110846A (ja) | 排他制御方式 | |
US6185650B1 (en) | High performance locking facility | |
US6836887B1 (en) | Recyclable locking for multi-threaded computing environments | |
US6253274B1 (en) | Apparatus for a high performance locking facility | |
US6662364B1 (en) | System and method for reducing synchronization overhead in multithreaded code | |
US11500693B2 (en) | Distributed system for distributed lock management and method for operating the same | |
US6088757A (en) | Computer program means and device for conducting high performance locking facility in a loosely coupled environment | |
EP2256627B1 (en) | Queuing for locks on data | |
US8341368B2 (en) | Automatic reallocation of structured external storage structures | |
US6393533B1 (en) | Method and device for controlling access to memory | |
US5983015A (en) | Latch-free sequence generation for high concurrency systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20011002 |