JPH1139209A - コンピュータ資源アクセス制御装置およびその方法 - Google Patents

コンピュータ資源アクセス制御装置およびその方法

Info

Publication number
JPH1139209A
JPH1139209A JP9181024A JP18102497A JPH1139209A JP H1139209 A JPH1139209 A JP H1139209A JP 9181024 A JP9181024 A JP 9181024A JP 18102497 A JP18102497 A JP 18102497A JP H1139209 A JPH1139209 A JP H1139209A
Authority
JP
Japan
Prior art keywords
exclusive access
access
permitted
exclusive
processing means
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
Application number
JP9181024A
Other languages
English (en)
Inventor
Kotaro Miyamoto
本 晃 太 郎 宮
Kenichi Okuyama
山 健 一 奥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP9181024A priority Critical patent/JPH1139209A/ja
Priority to TW087107342A priority patent/TW373150B/zh
Priority to KR1019980021254A priority patent/KR19990013394A/ko
Priority to US09/111,029 priority patent/US6101569A/en
Publication of JPH1139209A publication Critical patent/JPH1139209A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database

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)
  • Storage Device Security (AREA)
  • Memory System (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】複数のプロセスが並行してVRAM等の資源に
アクセスして、スタベーション等の不具合なしに正しい
処理結果を得る。 【解決手段】複数の処理手段のいずれかが、資源のある
部分に対する排他アクセスを要求した際に、ロックレン
ジ処理部122は、重複部分に対して他の処理手段に排
他アクセスが許可されていない場合等、処理に不具合が
生じない場合に限って、排他アクセスを許可する。さら
に、ロックレンジ処理部122は、ある部分に対して排
他アクセスが許可されないまま、この部分に重複する他
の部分に対して排他アクセスが許可された回数を一定値
を越えた場合に、他の部分に対する排他アクセスの許可
を禁止し、この部分に対する排他アクセスを許可する。
このように、ロックレンジ処理部122は、ある部分を
追い越して、重複した他の部分に対して排他アクセスが
許可される回数を制限することにより、スタベーション
の発生を防ぐ。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセスあるい
はスレッド(thread)が、共通のコンピュータ資源にアク
セスして処理を行なうシステムにおいて、共通資源に対
する各プロセス・スレッドのアクセスを制御するコンピ
ュータ資源アクセス制御装置およびその方法に関する。
【0002】特定的には、例えば、複数の画像処理用プ
ロセッサ・エレメント(PE)それぞれが、重複領域を
有する画像データを共通のコンピュータ資源[ビデオR
AM(VRAM)]に書き込む画像処理システムにおい
て、最終的に正常処理結果を得ることができるように、
VRAMに対する各PEの書き込みアクセスを制御する
コンピュータ資源アクセス制御装置およびその方法に関
する。
【0003】
【従来の技術】例えば、複数のプロセスあるいはスレッ
ド(thread)が、共通のデータリソース(共通資源)を用い
て並行して処理を行なうと、あるプロセス・スレッドに
より共通資源のある部分に書き込まれるデータが、他の
プロセス・スレッドによる同一部分へのデータの書き込
みにより壊される等の不具合、あるいは、処理上の矛盾
が生じることがある。
【0004】従って、このような複数のプロセス・スレ
ッドが共通資源にアクセスし、並行して処理を行なう並
行処理システムにおいては、複数のプロセス・スレッド
のいずれか1つのみに、共通資源の1つの部分に対する
アクセスを許可し、他のプロセス・スレッドのいずれに
対しても、この部分へのアクセスを、同時には許さない
ように制限する制御が必要になる。このように、複数の
プロセス・スレッドが同時にアクセスし得る部分を限定
する制御を行なうコンピュータシステムは、同期コンピ
ュータシステムとも呼ばれる。
【0005】上述した同期コンピュータシステムにおい
て、複数のプロセス・スレッド間のアクセス制御を行な
うための方法としては、例えば、複数のプロセス・スレ
ッドの共通資源に対するアクセスを、単純に排他制御す
る相互排他[以下、MUTEX(mutual exclusion)とも
記す]方式、および、より複雑な制御を基本とするセマ
フォ(semaphore)方式等を例として挙げることができ
る。同期コンピュータシステムにおいて、これらの方式
は、プロセス・スレッド間でデッドロック(deadlock)
あるいはスターベーション(starvation)等の同期コンピ
ュータシステムに固有の不具合が生じないように実現さ
れる。
【0006】上記スターベーションとは、例えば、プロ
セス・スレッドが、メモリ上の複数の部分の1つに対し
てアクセスしようとしても、重複した他の部分に排他制
御がなされているために、アクセス不可能な期間が長く
続く現象をいう。具体例として、部分A,Bと一部重複
した部分C(部分A,Bの間には重複なし)を考える
と、下表に示す状態(a)〜(f)が循環して続いてス
ターベーションが発生し、プロセス・スレッドが部分C
に対するアクセスが永遠に不可能となる可能性がある。
【0007】
【表1】 (表1;スターベーションの具体例) (a)部分Aがロックが続いている間、部分Cをロック
することができない。 (b)部分Bに対するロックが要求されると、部分Bは
部分Aと重複しないので、部分Bをロックすることがで
きる。 (c)部分Aのロックが解放されても、(b)において
ロックされた部分Bと重複した部分Cをロックすること
はできない。 (d)部分Bのロックが続いている間、部分Cをロック
することはできない。 (e)部分Aに対するロックが要求されると、部分Aは
部分Bと重複しないので、部分Aをロックすることがで
きる。 (f)部分Bのロックが解放されても、(e)において
ロックされた部分Aと重複した部分Cをロックすること
はできない。 但し、「ロックする」とは、「MUTEX(図2参照)
等により、並行動作する処理手段のいずれかに対して部
分xに対するアクセスが許可され、他の処理手段に対し
ては部分xに対するアクセスが許可されない状態とする
ことをいい、「アンロックする」とは、ロックした状態
を解除することをいう。
【0008】また、画像処理の分野では、データから最
終的な画像(イメージ)を生成する処理をラスタライズ
と呼ぶ。従来は、ラスタライズ(rasterise)を行なう装
置は、1台につき1つの画像処理手段しか持たないのが
普通であったので、並行処理を行なわずに、入力される
データが指定する順序でシーケンシャルにラスタライズ
処理を行なっていた。従って、ラスタライズ処理は、常
にデータが指定する順序で実行され、処理の順序が前後
することにより、最終的に得られるイメージに誤りが生
じるということはなかった。
【0009】しかしながら、近年は、複数の画像処理手
段を用いてラスタライズ処理を行なう装置があり、この
ような装置においては、各画像処理手段の間でデータを
処理する順序が前後して、最終的に得られるイメージに
誤りが生じてしまうことがある。例えば、丸い図形の上
に方形の図形を重ねたように描画する必要がある場合
に、丸い図形を描いた後に方形の図形を描けば正しいイ
メージを得られるが、方形の図形を描いた後に丸い図形
を描いてしまうと、正しいイメージを得ることはできな
い。つまり、複数のプロセス・スレッドは、同時に共通
資源の部分の重複領域に同時に書き込み処理をしてはな
らない。
【0010】また、例えば、HTML(HyperText Marku
p Language)のように、全てのデータを1つのデータス
トリームとして管理するのではなく、部分ごとに保持さ
れているデータを必要に応じて取得し、ラスタライズ処
理を行なう方式もある。このような方式を用いる場合に
は、ラスタライズ処理の処理時間を短縮するために、デ
ータを指定された順序で処理するのではなく、必要な分
が得られたデータから順に処理する必要がある。
【0011】複数のプロセス・スレッドを用いてラスタ
ライズ処理を行なう場合、各プロセス・スレッドが並行
して、それぞれ別々の部分に対してラスタライズ処理を
行なうようにするのが最も簡単である。しかしながら、
上述した同期コンピュータシステムにおいて、各プロセ
ス・スレッドが並行してラスタライズ処理を行なおうと
すると、必要な処理パフォーマンスが実現できなくなっ
たり、膨大な容量のメモリが必要になったりしてしま
う。
【0012】このような不具合をさらに具体例を挙げて
説明する。例えば、複数のプロセス・スレッドを用いて
ラスタライズ処理を行なう際に、イメージを作成用のV
RAM全体を単一のMUTEXでロックする方法を採る
と、一時に単一のプロセス・スレッドだけしかラスタラ
イズ処理を行なうことができない。従って、ラスタライ
ズ処理の並行性が損なわれてしまい、高い処理パフォー
マンスを達成しえない。
【0013】また、例えば、複数のプロセス・スレッド
を用いてラスタライズ処理を行なう際に、画素(ピクセ
ル)単位でMUTEXによるロックを行なう方法を採る
と、イメージを構成するピクセルの数に応じた回数のM
UTEX処理が必要になる。従って、処理に膨大な容量
のメモリが必要となる上に、MUTEXによるロックの
処理とロック解除(アンロック)の処理とに要する時間
が多くなってしまい、高い処理パフォーマンスを達成し
えない。
【0014】また、例えば、複数のプロセス・スレッド
を用いてラスタライズ処理を行なう際に、ラスタライズ
処理を行なう部分ごとにセマフォを用いた排他制御を行
なう方法(同期制御システムがロックされている部分を
記憶し、所定の部分に対する新たなロックの要求が発生
した場合に、既にロックされている他の部分と重複を有
さない部分に対するロックのみを許可する)を採ると、
上述したスターベーションが発生することがあり、高い
処理パフォーマンスを達成できない可能性がある。
【0015】
【発明が解決しようとする課題】本発明は、上述した従
来技術の問題点に鑑みてなされたものであり、例えば、
同期コンピュータシステムにおいて、複数のプロセス・
スレッドが、共通のVRAM等のコンピュータ資源に対
してアクセスを行なってラスタライズ処理を行なう場合
に、スターベーションを生じさせずに正しい処理結果を
得ることができ、しかも、適正な容量のメモリを用いて
高い処理パフォーマンスを得ることができるコンピュー
タ資源アクセス制御装置およびその方法を提供すること
を目的とする。
【0016】
【課題を達成するための手段】上記目的を達成するため
に、本発明にかかるコンピュータ資源アクセス制御装置
の一態様は、複数の処理手段のいずれかが、コンピュー
タの資源を少なくとも一部の領域を重複可能に分割した
複数の部分に対して、他の前記処理手段によるアクセス
を禁じたアクセス(排他アクセス)を要求した場合に、
前記処理手段それぞれに、前記部分に対する前記排他ア
クセスを許可または禁止するコンピュータ資源アクセス
制御装置であって、前記処理手段が前記部分に対して排
他アクセスを要求し、かつ、前記処理手段が排他アクセ
スを要求した前記部分と重複領域を有する他の前記部分
に対する排他アクセスが許可されていない場合に、排他
アクセスを要求した前記処理手段に、前記部分への排他
アクセスを許可する排他アクセス許可制御手段と、前記
複数の部分それぞれに対応して設けられ、対応する前記
部分に対する前記排他アクセスが要求され、かつ、対応
する前記部分に対する前記排他アクセスが許可されない
期間ごとに、対応する前記部分と重複領域を有する他の
前記部分に対する前記排他アクセスが許可された回数を
計数する複数の計数手段と、前記計数手段の計数値が所
定の数値になった場合に、前記計数手段に対応する前記
部分と重複領域を有する他の前記部分に対する排他アク
セスの許可を禁止するアクセス禁止制御手段とを有す
る。
【0017】本発明にかかるコンピュータ資源アクセス
制御装置は、例えば、並行動作可能な複数の処理手段
(プロセス・スレッド)のいずれかが、一部または全部
の重複が可能なVRAM等のコンピュータ資源の部分に
対して排他アクセスを要求した場合に、処理手段それぞ
れに対して、コンピュータ資源の部分それぞれに対する
排他アクセスを許可または禁止することにより、同期コ
ンピュータシステムを実現する。
【0018】排他アクセス許可制御手段は、例えば、M
UTEXあるいはセマフォによる同期制御(排他制御)
を行ない、複数の処理手段のいずれかが、コンピュータ
資源のある部分に対する排他アクセスを要求した際に、
排他アクセスが要求された部分と重複領域を有する他の
部分に排他アクセスが許可されていない場合、および、
排他アクセスが要求された部分が他の部分と重複領域を
有さない場合に限って、排他アクセスを要求した処理手
段に対して、コンピュータ資源の目的の部分への排他ア
クセスを許可する。反対に、排他アクセスが要求された
部分と重複領域を有する他の部分に排他アクセスが許可
されている場合には、排他アクセス許可手段は、排他ア
クセスを要求した処理手段に対して排他アクセスを許可
しない。
【0019】コンピュータ資源の部分に対応して設けら
れた計数手段は、いずれかの処理手段により対応部分に
対する排他アクセスが要求されたにもかかわらず、上述
した排他アクセス許可制御手段の制御により、対応部分
に対する排他アクセスが許可されない場合に、対応部分
と重複する他の部分に対する排他アクセス許可の回数
[追い抜き(pass through)回数]をカウント(計数)す
る。具体例を挙げると、例えば、部分A,Bの間に重複
がなく、部分A,Bと部分Cとの間に一部重複がある場
合(表1を参照)に、排他アクセス許可制御手段が、部
分A,Bに対して排他アクセスが許可されていることを
理由として部分Cに対する排他アクセスを許可しない間
に、部分A,Bに対する排他アクセスを許可した回数を
カウントし、部分Cに対する排他アクセスが許可された
場合に計数値を0クリアする。なお、計数手段の計数方
法は、予め決められた値mから、部分A,Bに排他アク
セスが許可されるたびに数値1を減ずる方法であって
も、部分A,Bに排他アクセスが許可されるたびに数値
1を計数値に加算する方法であってもよい。
【0020】アクセス禁止制御手段は、計数手段の計数
値(カウント値)が、予め決められた数になった場合
に、排他アクセス許可制御手段が、対応部分と重複領域
を有する他の部分に対する排他アクセスを許可すること
を禁止する。このように、アクセス禁止制御手段が、重
複領域を有する部分に対する排他アクセスの許可を禁止
すると、排他アクセス許可手段は、重複領域を有する他
の部分に対する排他アクセスが終了した時点で、直ちに
対応部分に対する排他アクセスを許可する処理を行なう
こととなる。具体例を挙げると、例えば、部分A,Bの
間に重複がなく、部分A,Bと部分Cとの間に一部重複
がある場合(表1を参照)に、部分Cに対応する計数手
段の計数値が数値mになると、排他アクセス禁止制御手
段は、排他アクセス許可制御手段が、部分A,Bに対し
て排他アクセスを許可することを禁止する。排他アクセ
ス許可手段は、部分A,Bに対する排他アクセスが終了
すると、直ちに部分Cに対する排他アクセスを許可し、
部分Cに発生しているスターベーションを解消する。
【0021】また、本発明にかかるコンピュータ資源ア
クセス制御装置の他の一態様において、前記複数の処理
手段は、排他アクセスが許可された場合には、前記部分
に対する排他アクセスを行い、かつ、排他アクセスの許
可が禁止された場合には、前記部分に対する排他アクセ
スの許可を待つ。
【0022】また、本発明にかかるコンピュータ資源ア
クセス制御装置の他の一態様は、前記アクセス許可制御
手段は、排他アクセスが許可されている前記部分を示す
許可済リストを作成する許可済リスト作成手段と、前記
処理手段が排他アクセスを待たされている前記部分を示
す待ちリストを作成する待ちリスト作成手段と、排他ア
クセスが要求された前記部分の内、前記許可済リストが
示す前記部分、前記許可済リストが示す前記部分と重複
領域を有する前記部分、および、前記待ちリストが示す
前記部分以外に対する排他アクセスを許可する排他アク
セス許可手段とを有する。
【0023】また、本発明にかかるコンピュータ資源ア
クセス制御装置の他の一態様において、前記複数の処理
手段は、前記部分に対する排他アクセスが終了した場合
には、排他アクセスの終了を通知し、前記許可済リスト
作成手段は、前記許可済リストに、排他アクセスが許可
された前記部分を加え、前記許可済リストから、排他ア
クセスの終了が通知された前記部分を除去する。
【0024】また、本発明にかかるコンピュータ資源ア
クセス制御装置の他の一態様においては、前記待ちリス
ト作成手段は、前記待ちリストに、排他アクセスが要求
された前記部分の内、前記許可済リストが示す前記部
分、前記許可済リストが示す前記部分と重複領域を有す
る前記部分、および、排他アクセスが禁止された前記部
分を加え、前記待ちリストから、計数値が前記所定の数
値になった前記計数手段に対応する前記部分を除去す
る。
【0025】また、本発明にかかるコンピュータ資源ア
クセス制御方法の一態様は、複数の処理手段のいずれか
が、コンピュータの資源を少なくとも一部の領域を重複
可能に分割した複数の部分に対して、他の前記処理手段
によるアクセスを禁じたアクセス(排他アクセス)を要
求した場合に、前記処理手段それぞれに、前記部分に対
する前記排他アクセスを許可または禁止するコンピュー
タ資源アクセス制御方法であって、前記処理手段が前記
部分に対して排他アクセスを要求し、かつ、前記処理手
段が排他アクセスを要求した前記部分と重複領域を有す
る他の前記部分に対する排他アクセスが許可されていな
い場合に、排他アクセスを要求した前記処理手段に、前
記部分への排他アクセスを許可し、前記複数の部分それ
ぞれに対する前記排他アクセスが要求され、かつ、対応
する前記部分に対する前記排他アクセスが許可されない
期間ごとに、対応する前記部分と重複領域を有する他の
前記部分に対する前記排他アクセスが許可された回数を
計数し、前記計数値が所定の数値になった前記部分と重
複領域を有する他の前記部分に対する排他アクセスの許
可を禁止する。
【0026】また、本発明にかかる記録媒体は、複数の
処理手段のいずれかが、コンピュータの資源を少なくと
も一部の領域を重複可能に分割した複数の部分に対し
て、他の前記処理手段によるアクセスを禁じたアクセス
(排他アクセス)を要求した場合に、前記処理手段それ
ぞれに、前記部分に対する前記排他アクセスを許可また
は禁止するプログラムを記録した記録媒体であって、前
記処理手段が前記部分に対して排他アクセスを要求し、
かつ、前記処理手段が排他アクセスを要求した前記部分
と重複領域を有する他の前記部分に対する排他アクセス
が許可されていない場合に、排他アクセスを要求した前
記処理手段に、前記部分への排他アクセスを許可するス
テップと、前記複数の部分それぞれに対する前記排他ア
クセスが要求され、かつ、対応する前記部分に対する前
記排他アクセスが許可されない期間ごとに、対応する前
記部分と重複領域を有する他の前記部分に対する前記排
他アクセスが許可された回数を計数するステップと、前
記計数値が所定の数値になった前記部分と重複領域を有
する他の前記部分に対する排他アクセスの許可を禁止す
るステップとをコンピュータに実行させるプログラムを
記録する。
【0027】
【発明の実施の形態】以下、本発明の実施形態を説明す
る。本発明にかかるコンピュータ資源アクセス制御方法
は、VRAMの記憶空間といったコンピュータ資源を、
一部領域を重複可能に分割した複数の部分ごとに設けた
セマフォあるいはMUTEX等の同期制御(排他制御)
手段それぞれに、追い抜きカウンタ(pass through coun
ter)を付加し、ある部分に対して、重複領域を有する他
の部分に排他アクセスが既に許可されていることを理由
として、排他アクセスを許可しない間に、他の部分に対
して排他アクセスを許可した回数(追い抜き回数)を計
数し、追い抜き回数を一定値以下に制限することによっ
て、各部分におけるスターベーションの発生を抑えるよ
うに構成されている。
【0028】[マルチプロセッサコンピュータ1の構
成]図1は、本発明にかかるコンピュータ資源アクセス
制御方法が適応されるマルチプロセッサコンピュータ1
の構成を示す図である。なお、図1においては、マルチ
プロセッサコンピュータ1の各構成部分をハードウェア
として示しているが、可能である限り、各構成部分はソ
フトウェアであってもよい。また、図1においては、マ
ルチプロセッサコンピュータ1が、VRAM14〜モニ
タ18がそれぞれ1つだけ有する場合を例示するが、マ
ルチプロセッサコンピュータ1が、VRAM14〜モニ
タ18がそれぞれ複数、有する場合には、VRAM14
〜モニタ18の数に応じてセマフォ制御部12の数を増
やす必要がある。
【0029】図1に示すように、マルチプロセッサコン
ピュータ1は、n個の単位プロセッサ(PU; processor u
nit)10−1〜10−n(以下、これらをいずれか特定
せずに示す場合は、単位プロセッサ10と略記する)、
セマフォ制御部(DCDS;2 dimension range limite
d count down semaphore)12、VRAM14、表示部
16およびモニタ18が、ネットワーク20を介して相
互に接続されて構成される。マルチプロセッサコンピュ
ータ1は、これらの構成部分により、同期コンピュータ
システムとして動作し、複数の処理手段(単位プロセッ
サ10−1〜10−n)が画像データを並行して生成
し、共通の資源(VRAM14)を用いてラスタライズ
して1つのイメージとし、モニタ表示する。
【0030】[マルチプロセッサコンピュータ1の構成
部分]以下、マルチプロセッサコンピュータ1の各構成
部分を説明する。
【0031】[単位プロセッサ10]単位プロセッサ1
0はそれぞれ、例えば、画像処理用のディジタル・シグ
ナル・プロセッサ(DSP)、画像フレームメモリおよ
びこれらの周辺装置から構成され、マルチプロセッサコ
ンピュータ1内でユニークな識別子(PU ID)を有し、k
次元(以下、k=2の場合を例示)の画像データを生成
するプロセス・スレッドを実行し、セマフォ制御部12
の排他アクセス制御に従って、排他的なアクセス(排他
アクセス)が許可されたVRAM14の2次元記憶空間
の部分それぞれに書き込んで、ラスタライズ処理を行な
う。
【0032】なお、単位プロセッサ10がVRAM14
の部分xに対して排他アクセスを行なう場合には、部分
x(以下、VRAM14の複数の部分のいずれかを特定
せずに示す場合には、部分xと記す)の識別子(RID)、
部分xの範囲データおよび単位プロセッサ10の識別子
(PU ID)を少なくとも含むロック要求[ロック・レンジ
・リクエスト(LRR; lock range request;要求1]を
要求データとして出力することにより、セマフォ制御部
12に対して領域xのロックを要求し、この要求1に対
して返される応答データ(応答1)に応じて排他アクセ
スを行なう。
【0033】つまり、単位プロセッサ10は、セマフォ
制御部12から、その単位プロセッサ10の識別子(PU
ID)を含むロック完了応答[ロックト・リプライ(LR; l
ocked reply)]が応答データとして返ってきた場合に
は、部分xに対する排他アクセスを行ない、その単位プ
ロセッサ10の識別子(PU ID)を含むロック非完了応答
[ノット・イェット・ロックト・リプライ(NLR; notyet
locked reply)]が応答データとして返ってきた場合に
は、ロック完了応答が返るまで部分xに対する排他アク
セスを待ち、その単位プロセッサ10の識別子(PU ID)
を含むロック不能応答[フル・リプライ(FR; full repl
y)が応答データとして返ってきた場合には、所定の時間
(この時間はランダムにするのが望ましい)が経過した
後に、再度、要求1をセマフォ制御部12に対して出力
する。また、単位プロセッサ10は、例えば、ラスタラ
イズの処理が終了して部分xに対する排他アクセスが不
要になった場合には、単位プロセッサ10の識別子(PU
ID)および部分xの識別子(RID)を含むロック解除要求
[アンロック・リクエスト(ULR; unlock request);要
求2]を要求データとして出力し、部分xのロック解除
(アンロック)をセマフォ制御部12に対して要求し、
ラスタライズ等の処理を終了する。
【0034】[VRAM14]VRAM14は、少なく
とも一部の領域が重複する複数の部分に分割可能な2次
元の記憶空間を有し、単位プロセッサ10それぞれがラ
スタライズ処理により書き込む画像データを、1つのイ
メージとして表示部16に対して出力する。
【0035】[表示部16]表示部16は、VRAM1
4から入力されるイメージを表示用の画像信号に変換
し、モニタ18に表示する。
【0036】[セマフォ制御部12]図2は、図1に示
したセマフォ制御部12の構成を示す図である。図2に
示すように、セマフォ制御部12は、要求受信部12
0、ロックレンジ処理部122、MUTEX124、レ
ンジテーブル管理部126、アンロックレンジ処理部1
28および応答送信部130から構成される
【0037】セマフォ制御部12は、これらの構成部分
により、単位プロセッサ10それぞれからの要求に応じ
て、VRAM14の部分の重複領域を考慮して、スター
ベーション等が発生しないようにVRAM14の部分そ
れぞれを、例えばMUTEXによりロックし、MUTE
Xと連動する条件(condition)に従って、単位プロセッ
サ10それぞれにロックした部分に対する排他アクセス
を許可する応答を返す。また、セマフォ制御部12は、
単位プロセッサ10それぞれからの要求に応じて、VR
AM14の部分それぞれのロックを解除(アンロック)
する。
【0038】つまり、VRAM14は、他の1つ以上の
部分と重複領域を有するVRAM14のある部分に対し
て、これら他の部分のいずれかに対するアクセスが許可
されている場合には、単位プロセッサ10によるアクセ
スを許可せず、これら他の部分のいずれに対するアクセ
スも許可されていない場合にのみ、単位プロセッサ10
によるアクセスを許可することにより、同期制御(排他
制御)を行なう。なお、VRAM14が用いるMUTE
X、および、このMUTEXと連動する条件は、例え
ば、下表に示すPOSIX(portable operating syste
m interface enviroment; IEEEにより制定されたUNIXの
国際規格)スレッドの規格を満たす。
【0039】
【表2】 [セマフォ制御部12のMUTEXが満たす規格;表2
−1] ・MUTEXは、ロック(lock)およびロック解除(unloc
k)されうる。 ・MUTEXをロックおよびアンロックする操作は単一
性を有し、操作中は他のスレッドにより割り込まれな
い。 ・一旦、ロックされたMUTEXは、ロック操作を行な
ったスレッドによってのみアンロックされ、他のスレッ
ドはアンロックできない。 ・あるMUTEXが、あるスレッドによりロックされて
いる場合には、他のスレッドが同じMUTEXをロック
しようとしても、他のスレッドは、そのMUTEXがア
ンロックされるまで待たされ、実行が先に進むことはな
い。 [セマフォ制御部12のMUTEXと連動する条件(con
dition)が満たす規格;表2−2] ・条件は、「ウェイト(wait)」および「ブロードキャス
ト(broadcast)」されうる。 ・条件の「ウェイト」および「ブロードキャスト」の操
作は単一性を有し、その操作中は他のスレッドによって
割り込まれない。 ・条件には、必ず対になるMUTEXが存在する。 ・ある条件で「ウェイト」するためには、「ウェイト」
になるスレッドは、条件と対になるMUTEXをロック
しており、かつ、ブロードキャスト実行直前にこれをア
ンロックしていなければならない。 ・ある条件で「ウェイト」を実行した場合には、その条
件でウェイトする直前に、対になるMUTEXは自動的
にアンロックされる。この動作は、条件に対するウェイ
ト操作の一部として行なわれ、操作の単一性が保たれ
る。 ・ある条件でウェイトを実行した場合、その条件でウェ
イトを実行した場合、その条件に対してブロードキャス
ト操作が行なわれるまで、ウェイトを実行したスレッド
は先に進まなくなる(待ち状態に入る)。 ・ある条件に対して、ブロードキャストを実行するため
には、ブロードキャストするスレッドは、条件と対にな
るMUTEXをアンロックできていなければならない。 ・ある条件に対してブロードキャストをかけた場合、そ
の条件でウェイトしていた全てのスレッドが待ち状態か
ら解放される。 ・ある条件に対してウェイト中のスレッドが、その条件
に対するブロードキャストによって、待ち状態から解放
された場合、条件と対になるMUTEXをロックしにゆ
く。何らかの理由で既に他のスレッドがロックしている
場合には、上記(表2−1)のMUTEXについての記
述と同様に、ロックが外れるまで待つ。
【0040】[セマフォ制御部12の構成部分]以下、セ
マフォ制御部12の構成部分を説明する。
【0041】[要求受信部120]要求受信部120
は、単位プロセッサ10からネットワーク20を介して
入力される要求データの内容を解析し、解析結果に応じ
て要求データをロックレンジ処理部122またはアンロ
ックレンジ処理部128に対して出力する。つまり、単
位プロセッサ10からVRAM14の部分xのロックを
要求するロック要求(要求1)が要求データとして入力
された場合には、要求受信部120は、入力されたロッ
ク要求をロックレンジ処理部122に対して出力する。
また、同様に、単位プロセッサ10からVRAM14の
部分xのロック解除(アンロック)を要求するロック解
除要求(要求2)が要求データとして入力された場合に
は、要求受信部120は、ロック解除要求をアンロック
レンジ処理部128に対して出力する。
【0042】[レンジテーブル管理部126]レンジテ
ーブル管理部126は、ロックレンジ処理部122およ
びアンロックレンジ処理部128の制御に従って、VR
AM14の各部分のロックおよびアンロック処理に用い
られるデータを収容するレンジテーブルを管理する。つ
まり、レンジテーブル管理部126は、ロックレンジ処
理部122から入力される第1のフラグ(Use)および第
2のフラグ(Lock)、部分xの範囲を示す範囲データ、お
よび、部分xにアクセスしている単位プロセッサ10の
識別子(PU ID)を示すデータをレンジテーブルに設定
し、さらに、部分xにユニークな識別子(RID)を生成し
てレンジテーブルに設定する処理を行なうとともに、レ
ンジテーブルの検索等を行なう。
【0043】[レンジテーブルの内容]図3を参照し
て、レンジテーブルの内容をさらに説明する。図3は、
図2に示したレンジテーブル管理部126が管理するレ
ンジテーブルの内容を示す図である。図3に示すよう
に、レンジテーブル管理部126が管理するレンジテー
ブルには、部分xの識別子(RID)、第1のフラグ(Use)、
単位プロセッサ10の識別子(PU ID)、第2のフラグ(L
ock)、部分xの範囲を示すデータ(範囲データ)および
追い抜き(pass through)カウンタの計数値(count)が格
納される。
【0044】[部分xの識別子(RID)]レンジテーブル
において、部分xの識別子(RID)は、レンジテーブル管
理部126が、VRAM14の部分xそれぞれにユニー
クに付す識別子であって、ロックレンジ処理部122お
よびアンロックレンジ処理部128による部分xのロッ
ク/アンロック処理において、VRAM14の部分xの
識別に用いられる。なお、好適には、レンジテーブル管
理部126は、識別子(RID)を、アンロック処理に伴っ
て新たにロック可能となった部分の選択を行なう際の便
宜を図るために、排他アクセスが要求された順番が識別
可能に付す。
【0045】[第1のフラグ(Use)]第1のフラグ(Use)
は、単位プロセッサ10のいずれかが、対応する部分x
に対して排他アクセスを要求しているか否かを示す。つ
まり、例えば、第1のフラグは、ロックレンジ処理部1
22が、単位プロセッサ10のいずれかから部分xに対
するロック要求を受けた場合に数値1に設定され、ロッ
クレンジ処理部122が、ロック要求した単位プロセッ
サ10に対して排他アクセスを許可し、領域xをロック
した場合に数値0に設定される。
【0046】[識別子(PU ID)]単位プロセッサ10の
識別子(PU ID)は、対応する部分xに対して排他アクセ
スを行なっている単位プロセッサ10の識別子であっ
て、ロックレンジ処理部122およびアンロックレンジ
処理部128の処理において、単位プロセッサ10の識
別に用いられる。
【0047】[第2のフラグ(Lock)]第2のフラグ(Loc
k)は、対応する部分xがロックされているか否かを示
す。つまり、例えば、第2のフラグは、ロックレンジ処
理部122が単位プロセッサ10のいずれかに対して排
他アクセスを許可し、対応する部分xをロックした場合
に数値1に設定され、アンロックレンジ処理部128が
単位プロセッサ10のいずれかからのロック解除要求に
応じて、対応する部分xをアンロックした場合に数値0
に設定される。
【0048】[範囲データ{range (x1,y1)-(x2,y
2)}]範囲データ[range (x1,y1)-(x2,y2)]は、モニタ
18の画面内における複数の部分xそれぞれの範囲を示
し、部分xが他の部分と重複部分を有する場合には、部
分のxの範囲データは、他の部分の範囲データと重複部
分を有する範囲を示す。なお、図3においては、部分x
がモニタ18の画面内の矩形の領域として定義され、範
囲データrange (x1,y1)-(x2,y2)]が矩形領域の対角の座
標を示す場合を例示する。また、範囲データは、例え
ば、ラスタライズ処理開始時にレンジテーブルに予め、
マルチプロセッサコンピュータ1のユーザーにより設定
され、あるいは、ラスタライズ処理中に、単位プロセッ
サ10がロックレンジ処理部122に対して範囲データ
を含むロック要求を送信した場合に設定される。以下、
特に言及しない限り、範囲データがロック要求により設
定される場合を説明する。
【0049】[追い抜きカウンタ(count)]追い抜きカ
ウンタ(count)は、単位プロセッサ10から部分xに排
他アクセスが要求されている間ごとに、部分xと重複領
域を有する他の部分に対する排他アクセスが許可され、
部分xと重複領域を有する他の部分がロックされた回数
を示す。
【0050】具体例を挙げてさらに説明する。表1に示
して上述したように、VRAM14の3つの部分(部分
A〜C)が、部分A,Bの間には重複部分がなく、部分
A,Bと部分Cとの間に重複部分があるように配列され
ている場合、部分Cの追い抜きカウンタには、単位プロ
セッサ10のいずれかから部分Cに対してロック要求が
出されている期間内に、部分A,Bがロックされた回数
pを、予め設定された数値mから減算して得られる数値
(m−p)がロックレンジ処理部122により設定さ
れ、部分Cがロックされた時点で数値mが設定される。
【0051】言いかえると、部分Cの追い抜きカウンタ
の数値は、部分A,Bに対するロック要求が、部分Cに
対して出されているロック要求を追い抜いてロックレン
ジ処理部122に受け入れられた回数を、数値mからカ
ウントダウンした数値として示す。但し、追い抜きカウ
ンタ(count)の計数値は、部分A,Bに対するロック要
求が、部分Cに対して出されているロック要求を追い抜
いてロックレンジ処理部122に受け入れられた回数を
正確に表すことができれば、カウントアップされるか、
カウントダウンされるかを問わない。
【0052】[MUTEX124]MUTEX124
は、ロックレンジ処理部122およびMUTEX124
のいずれか一方のみに対してレンジテーブル管理部12
6に対するアクセスを許可する排他制御を行ない、ロッ
クレンジ処理部122およびMUTEX124が同時に
レンジテーブル管理部126のレンジテーブルを不適切
にアクセスして、レンジテーブルの内容を破壊したり、
矛盾を生じさせたりすることを防止する。
【0053】[ロックレンジ処理部122]ロックレン
ジ処理部122は、単位プロセッサ10のいずれかから
要求受信部120を介して入力されるロック要求(後述
するアンロックレンジ処理部128のロック可能な部分
の通知を含む)が入力されると、MUTEX124の排
他制御に従ってレンジテーブル管理部126のレンジテ
ーブルを検索し、検索の結果として得られたデータに基
づいて、単位プロセッサ10による部分xに対する排他
アクセスを許可または拒否し、ロック要求を出した単位
プロセッサ10の識別子(PU ID)を含む応答データを、
応答送信部130に対して出力する。
【0054】[排他アクセスの許可(部分xのロック完
了)]さらにロックレンジ処理部122の処理の内容を
詳しく説明する。ロックレンジ処理部122は、部分x
および他の部分の範囲データおよび第2のフラグ(Lock)
に基づいて、これらの部分の重複領域の有無、および、
重複領域を有する部分がロックされているか否か等を判
断し、部分xに対する排他アクセスを許可可能と判断し
た場合には、排他アクセスを要求した単位プロセッサ1
0に対して、レンジテーブル管理部126が部分xに付
した識別子(RID)を含むロック完了応答(LR)を返し、部
分xをロックする。
【0055】なお、部分xに対する排他アクセスを許可
可能な場合には、部分xと重複領域を有する他の部分が
ない場合、部分xと重複領域を有する他の部分がロック
されていない場合、および、部分xと重複領域を有する
他の部分のロックが解除され、部分xをロックすること
ができるようになった場合が含まれる。また、部分xを
ロックする場合、ロックレンジ処理部122は、レンジ
テーブル管理部126を制御して、第1のフラグ(Use)
を数値0に設定させ、第2のフラグ(Lock)を数値1に設
定させ、識別子(PU ID)に、排他アクセスを許可した単
位プロセッサ10の識別子を設定させる。
【0056】[排他アクセス不能(拒否)]また、ロッ
クレンジ処理部122は、既に所定の数以上のVRAM
14の部分がロックされている場合、および、既にロッ
ク要求が未処理のまま所定数以上、待ち行列にたまって
いる場合等、新たなロック要求が受け入れ不能である場
合には、排他アクセスを要求した単位プロセッサ10に
対してロック不能応答(FR)を返す。
【0057】[排他アクセス非完了(拒否)]また、ロ
ックレンジ処理部122は、部分xおよび他の部分の重
複領域の有無、および、重複領域を有する部分がロック
されているか否か等に基づいて、部分xに対する排他ア
クセスを許可できないと判断したが、ロック要求を受け
入れることはできた場合、つまり、新たなロック要求を
受け入れ可能であって、部分xと重複領域を有する他の
部分がロックされている場合には、排他アクセスを要求
した単位プロセッサ10に対してロック非完了応答(NL
R)を返し、ロック要求を待ち行列に加える。また、ロッ
ク非完了応答(NLR)部分xを返す場合、ロックレンジ処
理部122は、レンジテーブル管理部126を制御し
て、第1のフラグ(Use)を数値1に設定させ、単位プロ
セッサ10の識別子(PU ID)にロック要求を出した単位
プロセッサ10の識別子を設定させる。
【0058】[スターベーションの防止]また、ロック
レンジ処理部122は、レンジテーブルの追い越しカウ
ンタ(count)の計数値に基づいて、VRAM14の各部
分のスターベーションの発生を防止する。つまり、ロッ
クレンジ処理部122は、部分xに対する排他アクセス
を許可(部分xをロック)できない期間、換言すると、
部分xの第1のフラグ(Use)が数値1になっている期間
に、単位プロセッサ10からの部分xに対するロック要
求に応じてロック非完了応答を返すたびに、レンジテー
ブル管理部126を制御して部分xの追い越しカウンタ
(count)をカウントダウンさせ、追い越しカウンタ(coun
t)の計数値が数値0になった場合に、部分xと重複領域
を有する他の部分に対する排他アクセスの許可を禁止
し、他の部分に対する排他アクセスが終了(他の部分を
アンロック)し次第、部分xに対する排他アクセスを許
可する(部分xをロックする)。
【0059】具体例を挙げてさらに説明する。表1に示
して上述したように、VRAM14の3つの部分(部分
A〜C)が、部分A,Bの間には重複部分がなく、部分
A,Bと部分Cとの間に重複部分があるように配列され
ている場合、ロックレンジ処理部122は、部分Cに対
してロック要求が出されている[部分Cの第1のフラグ
(Use)が数値1である]期間内において、部分A,Bが
ロックされるたびに、部分Cの追い越しカウンタ(coun
t)をカウントダウンする。
【0060】ロックレンジ処理部122は、追い越しカ
ウンタ(count)の計数値が数値0になると、部分A,B
に対する新たな排他アクセスの要求を拒否する。さら
に、ロックレンジ処理部122は、部分A,Bに対する
排他アクセスが終了した(部分A,Bがアンロックされ
た)時点で、部分Cに対する排他アクセスを許可し、部
分Cをロックする。このように、部分A,Bへの排他ア
クセスの許可が、部分Cに対する排他アクセスの許可を
追い越す回数を所定数(m回)に制限することにより、
部分Cにおけるスターベーションの発生を防止すること
ができる。
【0061】[アンロックレンジ処理部128]アンロ
ックレンジ処理部128は、単位プロセッサ10のいず
れかから要求受信部120を介して入力される部分xの
ロック解除要求が入力されると、MUTEX124の排
他制御に従ってレンジテーブル管理部126を制御し、
入力されたロック解除要求に含まれる単位プロセッサ1
0の識別子(PU ID)を用いてレンジテーブルを検索さ
せ、部分xの第1のフラグ(Use)および第2のフラグ(Lo
ck)を数値0に設定させて、部分xをアンロックする。
また、アンロックレンジ処理部128は、部分xのアン
ロックに伴って、新たにロック可能な部分が生じた場合
には、この新たにロック可能になった部分をロックレン
ジ処理部122に通知し、ロックさせる。なお、アンロ
ックレンジ処理部128は、単位プロセッサ10からの
ロック解除要求に対して応答を特に返さないが、図2に
おいて点線で示すように、例えば、アンロックレンジ処
理部128が、単位プロセッサ10に返すACKを応答
送信部130に対して出力するようにしてもよい。
【0062】[応答送信部130]応答送信部130
は、ロックレンジ処理部122(およびアンロックレン
ジ処理部128)から入力される応答データ(およびA
CK)等をネットワーク20を介して単位プロセッサ1
0に対して出力する。
【0063】[マルチプロセッサコンピュータ1の動
作]以下、図4〜図6を参照して、マルチプロセッサコ
ンピュータ1の動作を説明する。なお、以下、説明の簡
略化のために、マルチプロセッサコンピュータ1の異常
動作は省略してマルチプロセッサコンピュータ1の正常
動作のみを示し、要求受信部120および応答送信部1
30等の動作を適宜、省略する。
【0064】[単位プロセッサ10の動作]まず、図4
を参照して、単位プロセッサ10の動作を説明する。図
4は、図1に示した単位プロセッサ10の動作を示すフ
ローチャート図である。図4に示すように、ステップ1
00(S100)において、単位プロセッサ10は、V
RAM14に書き込むk(この実施形態においてはk=
2)次元の画像データを生成するプロセス・スレッドを
実行し、さらに、画像データを内包するVRAM14の
部分xを求める処理1を行なう。
【0065】ステップ102(S102)において、単
位プロセッサ10は、部分xに対する排他アクセスを要
求するロック要求(要求1;LRR)を、部分xの範囲デ
ータおよび単位プロセッサ10の識別子(PU ID)を付し
てセマフォ制御部12に対して出力する。ステップ10
4(S104)において、単位プロセッサ10は、セマ
フォ制御部12から応答データ(応答1;NLR,FR,LRの
いずれか)が返されたか否かを判断し、応答が返された
場合にはS106の処理に進む。
【0066】ステップ106(S106)において、単
位プロセッサ10は、応答データ(応答1)の内容を解
析し、応答データがロック非完了応答(NLR)である場合
にはS104の処理に戻り、ロック不能応答(FR)である
場合にはS108の処理に進み、ロック完了応答(LR)で
ある場合にはS110の処理に進む。
【0067】ステップ108(S108)において、単
位プロセッサ10は、所定の時間、例えば、ロック不能
応答(FR)を受けるたびにランダムな時間の経過を待ち、
S102の処理に戻る。
【0068】ステップ110(S110)において、単
位プロセッサ10は、ロック完了応答(LR)に含まれる部
分xの識別子(RID)と、部分xの範囲データとを対応付
ける処理2を行なう。
【0069】ステップ112(S112)において、単
位プロセッサ10は、S100の処理において生成した
画像データ(グラフィック・プリミティブ)をVRAM
14の部分xに書き込みラスタライズ処理(処理3)を
行なう。
【0070】ステップ114(S114)において、単
位プロセッサ10は、部分xのアンロックを要求するロ
ック解除要求(ULR)を、その単位プロセッサ10の識別
子(PUID)および部分xの識別子(RID)を付してセマフォ
制御部12に対して出力し、処理を終了する。
【0071】[ロックレンジ処理部122の動作]次
に、図5をさらに参照して、ロックレンジ処理部122
の動作を説明する。図5は、図1および図2に示したセ
マフォ制御部12のロックレンジ処理部122の動作を
示すフローチャート図である。
【0072】図5に示すように、ステップ200(S2
00)において、ロックレンジ処理部122は、単位プ
ロセッサ10が、図4に示したS102の処理において
出力したロック要求(要求1)を要求受信部120を介
して受信し、MUTEX124に対してレンジテーブル
管理部126に対する排他的なアクセスを要求する。
【0073】ステップ202(S202)において、M
UTEX124によりレンジテーブル管理部126のレ
ンジテーブル(図3)に対する排他的なアクセスが許可
されると、ロックレンジ処理部122は、レンジテーブ
ルを検索し、数値1に設定された第1のフラグ(Use)お
よび第2のフラグ(Lock)の個数を計数する。
【0074】ステップ204(S204)において、え
204は、第1のフラグ(Use)および第2のフラグ(Loc
k)のいずれもが、それぞれ所定数以下であるか否か、つ
まり、新たなロック要求を受け入れ可能であるか否かを
判断し、受け入れ可能な場合にはS206の処理に進
み、受け入れ不可能である場合にはS218の処理に進
む。
【0075】ステップ206(S206)において、ロ
ックレンジ処理部122は、レンジテーブル管理部12
6を制御して、レンジテーブルに、レンジテーブル管理
部126が生成した部分xの識別子(RID)、部分xの範
囲データ、および、単位プロセッサ10の識別子(PU I
D)を設定させ、さらに、第1のフラグ(Use)を数値1
に、第2のフラグ(Lock)を数値0に、追い抜きカウンタ
(counter)の値を数値mに設定させる。
【0076】ステップ208(S208)において、ロ
ックレンジ処理部122は、部分xおよびその他の部分
の範囲データに基づいて、部分xとその他の部分との間
の重複領域をチェックする。
【0077】ステップ210(S210)において、ロ
ックレンジ処理部122は、部分xおよびその他の部分
との間に重複領域があるか否かを判断し、重複領域があ
る場合にはS212の処理に進み、重複領域がない場合
にはS216の処理に進む。
【0078】ステップ212(S212)において、ロ
ックレンジ処理部122は、レンジテーブル管理部12
6を制御してレンジテーブルを検索させ、部分xと重複
部分を有する他の部分の内、第1のフラグ(Use)が数値
1であり、第2のフラグ(Lock)が数値0であり、かつ、
追い抜きカウンタ(count)の計数値が数値0になってい
る部分をチェックする。つまり、ロックレンジ処理部1
22は、排他アクセスが要求されていながらロックされ
ていない部分であって、m回、先に重複領域を有する他
の部分に対する排他アクセスが許可された部分を検索す
る。
【0079】ステップ214(S214)において、ロ
ックレンジ処理部122は、部分xと重複部分を有する
他の部分の内、第1のフラグ(Use)が数値1であり、第
2のフラグ(Lock)が数値0であり、かつ、追い抜きカウ
ンタ(count)の計数値が数値0になっている部分の有無
を判断し、このような部分がある場合にはS216の処
理に進み、ない場合にはS222の処理に進む。具体例
を挙げてさらに説明する。単位プロセッサ10が、ロッ
ク要求の際に表1に示して上述したVRAM14の部分
Aを部分xとして指定した場合、ロックレンジ処理部1
22は、部分Cの第1のフラグ(Use)、第2のフラグ(Lo
ck)および追い抜きカウンタ(count)の計数値をチェック
し、これらの値が1,0,0である場合にはS216の
処理に進み、1,0,0でない場合にはS222の処理
に進む。
【0080】ステップ216(S216)において、ロ
ックレンジ処理部122は、部分xへの排他アクセスを
要求した単位プロセッサ10に対してロック非完了応答
(NLR)を返す。
【0081】ステップ218(S218)において、ロ
ックレンジ処理部122は、部分xへの排他アクセスを
要求した単位プロセッサ10に対してロック不能応答(F
R)を返す。
【0082】ステップ220(S220)において、ロ
ックレンジ処理部122は、MUTEX124に対して
処理の終了を通知し、MUTEX124は、ロックレン
ジ処理部122によるレンジテーブル管理部126への
排他的なアクセスの許可を無効にする(アンロックす
る)。
【0083】ステップ222(S222)において、ロ
ックレンジ処理部122は、重複領域に対する制御を行
なう。つまり、ロックレンジ処理部122は、レンジテ
ーブル管理部126を制御して、部分xと重複領域を有
する他の部分であって、部分Cの第1のフラグ(Use)の
値が数値1であり、かつ、第2のフラグ(Lock)の値が数
値0の部分である全ての追い抜きカウンタ(count)の計
数値をデクリメントさせる。
【0084】ステップ224(S224)において、ロ
ックレンジ処理部122は、部分xへの排他アクセスを
要求した単位プロセッサ10に対してロック完了応答(L
R)を返し、さらに、部分xの第2のフラグ(Lock)の値を
数値1に設定して、部分xをロックする。
【0085】[アンロックレンジ処理部128の動作]
以下、図6をさらに参照して、アンロックレンジ処理部
128の動作を説明する。図6は、図1および図2に示
したセマフォ制御部12のアンロックレンジ処理部12
8の動作を示すフローチャート図である。
【0086】図6に示すように、ステップ300(S3
00)において、アンロックレンジ処理部128は、単
位プロセッサ10から部分xに対するロック解除要求を
受けると、MUTEX124に対してレンジテーブル管
理部126に対する排他的なアクセスを要求する。
【0087】ステップ302(S302)において、M
UTEX124によりレンジテーブル管理部126に対
する排他的なアクセスが許可されると、アンロックレン
ジ処理部128は、レンジテーブル管理部126を制御
して、ロック解放要求に含まれる部分xの単位プロセッ
サ10の識別子(PU ID)および部分の識別子(RID)を用い
てレンジテーブルを検索させ、部分xのデータを探させ
る。
【0088】ステップ304(S304)において、ア
ンロックレンジ処理部128は、レンジテーブル管理部
126を制御して、部分xの第1のフラグ(Use)および
第2のフラグ(Lock)の値を数値0に設定させ、部分xを
アンロックする。
【0089】ステップ306(S306)において、ア
ンロックレンジ処理部128は、レンジテーブル管理部
126を制御してレンジテーブルを検索させ、検索結果
に基づいて、部分xのアンロックに伴ってロック可能と
なった部分を選択する。さらに、アンロックレンジ処理
部128は、選択した部分をロックレンジ処理部122
に、ロック可能部分として、この部分の単位プロセッサ
10の識別子(PU ID)等、ロックレンジ処理部122に
おける処理に必要なデータを付して通知する。ロックレ
ンジ処理部122は、この通知を単位プロセッサ10か
らのロック要求と同様に、図5に示したように処理し、
ロック可能な部分をロックする。なお、表2−2に示し
た条件(condition)ノ処理は、S306の処理において
応答送信部130が行なう。
【0090】なお、アンロックレンジ処理部128は、
ロックレンジ処理部122に通知するロック可能な部分
を、例えば、排他アクセスの要求が古い部分から順に選
択する。表1に示して上述したVRAM14の部分A〜
C(部分A,Bの間には重複領域がなく、部分A,Bと
部分Cは重複する)を具体例にしてさらに説明する。部
分x(例えば部分A)をアンロックした場合、アンロッ
クレンジ処理部128は、まず、他の部分(部分B,
C)の内、ロックされている部分を探し、ロックされて
いる部分(例えば部分B)と重複する部分(部分C)を
ロック可能な部分として選択せず、ロックレンジ処理部
122に対する通知もしない。
【0091】アンロックレンジ処理部128は、次に、
各部分の識別子(RID)に基づいて、排他アクセスが要求
されていながら、未だにロックされていない部分(例え
ば部分C)を、排他アクセスの要求が古い部分から順に
探し、探し出した部分と重複領域を有する他の部分がな
い(部分Bが存在しない)場合には、この部分(部分
C)をロック可能な部分として選択し、ロックレンジ処
理部122に通知する。
【0092】探し出した部分(部分C)に重複領域を有
する他の部分がある場合には、アンロックレンジ処理部
128は、他の部分のレンジテーブルの追い越しカウン
タ(count)の計数値が数値0であるか否かを判断する。
追い越しカウンタ(count)の計数値が数値0である部分
が1つでもある場合(例えば部分Bの追い越しカウンタ
の計数値が数値0の場合)には、アンロックレンジ処理
部128は、探し出した部分(部分C)をロック可能な
部分として選択せず、ロックレンジ処理部122に対し
て通知もしない。反対に、追い越しカウンタ(count)の
計数値が数値0である部分が1つもない場合には、アン
ロックレンジ処理部128は、探し出した部分(部分
C)をロック可能な部分として選択して、ロックレンジ
処理部122に対して通知する。
【0093】ステップ308(S308)において、ア
ンロックレンジ処理部128は、MUTEX124に対
して処理の終了を通知し、MUTEX124は、アンロ
ックレンジ処理部128に対するレンジテーブル管理部
126への排他的なアクセスの許可を無効にする(アン
ロックする)。
【0094】[マルチプロセッサコンピュータ1の効
果]以下、図7および図8を参照して、本発明にかかる
コンピュータ資源アクセス制御(排他アクセス制御)方
法の効果を説明する。図7(A),(B)は、複数の単
位プロセッサ10が並行してVRAM14にアクセスし
てラスタライズ処理を行なった場合に得られる誤った画
像と正しい画像とを例示する図である。図8は、本発明
にかかるコンピュータ資源アクセス制御方法を用いず
に、画素ごとにMUTEXによる排他アクセスの制御を
行なって、図7(B)に示した画像を生成する場合に発
生する不具合を例示する図である。
【0095】以上説明したように、マルチプロセッサコ
ンピュータ1におけるVRAM14の各部分に対する排
他アクセス制御を行なうと、図7(B)に示すように、
本来、例えば2つの単位プロセッサ10を用いてラスタ
ライズ処理を行ない、矩形Bの上に円Aを重ねた正しい
画像を生成しようとした場合に、処理の順番が逆転し
て、図7(A)に示すように、円Aの上に矩形Bを重ね
た誤った画像が生成されるという不具合は発生しない。
しかも、VRAM14の各部分におけるスターベーショ
ンの発生を防ぐことができる。
【0096】また、例えば、図8(b−1)〜(c−
2)に示すように、マルチプロセッサコンピュータ1に
おけるVRAM14の各部分に対する排他アクセス制御
を行なわず、画素ごとにMUTEXによる排他アクセス
の制御を行なって、例えば、2つの単位プロセッサ10
を用いて図7(B)に示した画像を円Aから先に描画し
ようとすると、矩形Bの領域を求める場合に比べ、円A
の領域を求めるために時間がかかるので追い越しが生
じ、円Aの画素を描画するよりも先に、本来、円Aの領
域内[図8(a)]である画素に、矩形Bの画素が先に
描画されてしまうことがある。このような不具合が発生
すると、最終的に、図8(c−3)に示すように、円A
に矩形Bを重ねたのでも、矩形Bに円Aを重ねたもので
もない画像が生成されることになる。
【0097】マルチプロセッサコンピュータ1において
は、円Aを内包する部分と、矩形Bを内包する部分とを
単位として排他アクセスの制御が行なわれるので、この
ような画素単位の描画の順番の追い越しに起因する不具
合は発生しえず、画素ごとに排他アクセスの制御を行な
う場合に比べて処理量およびメモリの消費量が少なく、
ラスタライズ処理の効率が向上し、高速化する。
【0098】[変形例]なお、上述した実施形態におい
ては、VRAM14の部分(領域)に対して排他アクセ
スの制御を行なう場合について説明したが、本発明にか
かる排他アクセス制御は、例えば、ハードディスク等の
書き込み可能な記録媒体等、他のコンピュータ資源に対
する排他アクセスの制御に応用することができる。ま
た、上述した実施形態においては、単位プロセッサ10
およびセマフォ制御部12を、それぞれ独立したハード
ウェアにより実現されるように説明したが、これらは、
例えば、同一のハードウェア上で並列的に実行されるソ
フトウェアであってもよい、
【0099】また、上述した実施形態においては、本発
明にかかる排他アクセス制御を、2次元的な画像のラス
タライズ処理に応用する場合を例に説明したが、本発明
にかかる排他アクセス制御は、3次元的な画像のラスタ
ライズ処理、あるいは、流体の2次元的あるいは3次元
的なシュミレーション処理等、他の処理に応用可能であ
る。また、処理が終了した場合に、ロック解除要求とと
もに部分xの解放を要求可能とし、この要求を含むロッ
ク解除要求を受けて、部分xをレンジテーブルから削除
するように単位プロセッサ10およびアンロック処理部
128の動作を変形することができる。
【0100】また、アンロック処理により、新たにロッ
ク可能となった部分のロックを行なう処理を、アンロッ
ク制御処理部128の通知に応じてロック制御処理部1
22が行なうのではなく、アンロック制御処理部128
自体が行ない、単位プロセッサ10に対する応答(LR等)
を返すように動作を変更することができる。また、マル
チプロセッサコンピュータ1において、単位プロセッサ
10及びセマフォ制御部12等を、ネットワーク20に
代えて、例えばバスを介して接続する等、本発明にかか
るマルチプロセッサコンピュータ1に対しては種々の変
形が可能である。
【0101】
【発明の効果】以上説明したように、本発明にかかるコ
ンピュータ資源アクセス制御装置およびその方法によれ
ば、例えば、同期コンピュータシステムにおいて、複数
のプロセス・スレッドが、共通のVRAM等のコンピュ
ータ資源に対してアクセスを行なってラスタライズ処理
を行なう場合に、スターベーションの発生なしに正しい
処理結果を得ることができるように排他的なアクセスを
制御することができる。また、本発明にかかるコンピュ
ータ資源アクセス制御装置およびその方法によれば、適
正な容量のメモリを用いて高い処理パフォーマンスを得
ることができる。
【図面の簡単な説明】
【図1】図1は、本発明にかかるコンピュータ資源アク
セス制御方法が適応されるマルチプロセッサコンピュー
タの構成を示す図である。
【図2】図2は、図1に示したセマフォ制御部の構成を
示す図である。
【図3】図3は、図2に示したレンジテーブル管理部が
管理するレンジテーブルの内容を示す図である。
【図4】図4は、図1に示した単位プロセッサの動作を
示すフローチャート図である。
【図5】図1および図2に示したセマフォ制御部のロッ
クレンジ処理部の動作を示すフローチャート図である。
【図6】図1および図2に示したセマフォ制御部のアン
ロックレンジ処理部の動作を示すフローチャート図であ
る。
【図7】(A),(B)は、複数の単位プロセッサが並
行してVRAM14にアクセスしてラスタライズ処理を
行なった場合に得られる誤った画像と正しい画像とを例
示する図である。
【図8】本発明にかかるコンピュータ資源アクセス制御
方法を用いずに、画素ごとにMUTEXによる排他アク
セスの制御を行なって、図7(B)に示した画像を生成
する場合に発生する不具合を例示する図である。
【符号の説明】
1 ・・・マルチプロセッサコンピュータ 10,10−1〜10−n ・・・単位プロセッサ 12 ・・・セマフォ制御部 120・・・要求受信部 122・・・ロックレンジ処理部 124・・・MUTEX 126・・・レンジテーブル管理部 128・・・アンロックレンジ処理部 130・・・応答送信部 14・・・VRAM 16・・・表示部 18・・・モニタ 20・・・ネットワーク
───────────────────────────────────────────────────── フロントページの続き (72)発明者 奥 山 健 一 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】複数の処理手段のいずれかが、コンピュー
    タの資源を少なくとも一部の領域を重複可能に分割した
    複数の部分に対して、他の前記処理手段によるアクセス
    を禁じたアクセス(排他アクセス)を要求した場合に、
    前記処理手段それぞれに、前記部分に対する前記排他ア
    クセスを許可または禁止するコンピュータ資源アクセス
    制御装置であって、 前記処理手段が前記部分に対して排他アクセスを要求
    し、かつ、前記処理手段が排他アクセスを要求した前記
    部分と重複領域を有する他の前記部分に対する排他アク
    セスが許可されていない場合に、排他アクセスを要求し
    た前記処理手段に、前記部分への排他アクセスを許可す
    る排他アクセス許可制御手段と、 前記複数の部分それぞれに対応して設けられ、対応する
    前記部分に対する前記排他アクセスが要求され、かつ、
    対応する前記部分に対する前記排他アクセスが許可され
    ない期間ごとに、対応する前記部分と重複領域を有する
    他の前記部分に対する前記排他アクセスが許可された回
    数を計数する複数の計数手段と、 前記計数手段の計数値が所定の数値になった場合に、前
    記計数手段に対応する前記部分と重複領域を有する他の
    前記部分に対する排他アクセスの許可を禁止するアクセ
    ス禁止制御手段とを有するコンピュータ資源アクセス制
    御装置。
  2. 【請求項2】前記複数の処理手段は、排他アクセスが許
    可された場合には、前記部分に対する排他アクセスを行
    い、かつ、排他アクセスの許可が禁止された場合には、
    前記部分に対する排他アクセスの許可を待つ請求項1に
    記載のコンピュータ資源アクセス制御装置。
  3. 【請求項3】前記アクセス許可制御手段は、 排他アクセスが許可されている前記部分を示す許可済リ
    ストを作成する許可済リスト作成手段と、 前記処理手段が排他アクセスを待たされている前記部分
    を示す待ちリストを作成する待ちリスト作成手段と、 排他アクセスが要求された前記部分の内、前記許可済リ
    ストが示す前記部分、前記許可済リストが示す前記部分
    と重複領域を有する前記部分、および、前記待ちリスト
    が示す前記部分以外に対する排他アクセスを許可する排
    他アクセス許可手段とを有する請求項2に記載のコンピ
    ュータ資源アクセス制御装置。
  4. 【請求項4】前記複数の処理手段は、前記部分に対する
    排他アクセスが終了した場合には、排他アクセスの終了
    を通知し、 前記許可済リスト作成手段は、前記許可済リストに、排
    他アクセスが許可された前記部分を加え、前記許可済リ
    ストから、排他アクセスの終了が通知された前記部分を
    除去する請求項3に記載のコンピュータ資源アクセス制
    御装置。
  5. 【請求項5】前記待ちリスト作成手段は、前記待ちリス
    トに、排他アクセスが要求された前記部分の内、前記許
    可済リストが示す前記部分、前記許可済リストが示す前
    記部分と重複領域を有する前記部分、および、排他アク
    セスが禁止された前記部分を加え、前記待ちリストか
    ら、計数値が前記所定の数値になった前記計数手段に対
    応する前記部分を除去する請求項3または4に記載のコ
    ンピュータ資源アクセス制御装置。
  6. 【請求項6】複数の処理手段のいずれかが、コンピュー
    タの資源を少なくとも一部の領域を重複可能に分割した
    複数の部分に対して、他の前記処理手段によるアクセス
    を禁じたアクセス(排他アクセス)を要求した場合に、
    前記処理手段それぞれに、前記部分に対する前記排他ア
    クセスを許可または禁止するコンピュータ資源アクセス
    制御方法であって、 前記処理手段が前記部分に対して排他アクセスを要求
    し、かつ、前記処理手段が排他アクセスを要求した前記
    部分と重複領域を有する他の前記部分に対する排他アク
    セスが許可されていない場合に、排他アクセスを要求し
    た前記処理手段に、前記部分への排他アクセスを許可
    し、 前記複数の部分それぞれに対する前記排他アクセスが要
    求され、かつ、対応する前記部分に対する前記排他アク
    セスが許可されない期間ごとに、対応する前記部分と重
    複領域を有する他の前記部分に対する前記排他アクセス
    が許可された回数を計数し、 前記計数値が所定の数値になった前記部分と重複領域を
    有する他の前記部分に対する排他アクセスの許可を禁止
    するコンピュータ資源アクセス制御方法。
  7. 【請求項7】複数の処理手段のいずれかが、コンピュー
    タの資源を少なくとも一部の領域を重複可能に分割した
    複数の部分に対して、他の前記処理手段によるアクセス
    を禁じたアクセス(排他アクセス)を要求した場合に、
    前記処理手段それぞれに、前記部分に対する前記排他ア
    クセスを許可または禁止するプログラムを記録した記録
    媒体であって、 前記処理手段が前記部分に対して排他アクセスを要求
    し、かつ、前記処理手段が排他アクセスを要求した前記
    部分と重複領域を有する他の前記部分に対する排他アク
    セスが許可されていない場合に、排他アクセスを要求し
    た前記処理手段に、前記部分への排他アクセスを許可す
    るステップと、 前記複数の部分それぞれに対する前記排他アクセスが要
    求され、かつ、対応する前記部分に対する前記排他アク
    セスが許可されない期間ごとに、対応する前記部分と重
    複領域を有する他の前記部分に対する前記排他アクセス
    が許可された回数を計数するステップと、 前記計数値が所定の数値になった前記部分と重複領域を
    有する他の前記部分に対する排他アクセスの許可を禁止
    するステップとをコンピュータに実行させるプログラム
    を記録したコンピュータにより読み取り可能な記録媒
    体。
JP9181024A 1997-07-07 1997-07-07 コンピュータ資源アクセス制御装置およびその方法 Pending JPH1139209A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP9181024A JPH1139209A (ja) 1997-07-07 1997-07-07 コンピュータ資源アクセス制御装置およびその方法
TW087107342A TW373150B (en) 1997-07-07 1998-05-12 Apparatus and method for computer resources access control
KR1019980021254A KR19990013394A (ko) 1997-07-07 1998-06-09 컴퓨터 자원 억세스 제어 장치 및 그 방법
US09/111,029 US6101569A (en) 1997-07-07 1998-07-07 Computer resources access control apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9181024A JPH1139209A (ja) 1997-07-07 1997-07-07 コンピュータ資源アクセス制御装置およびその方法

Publications (1)

Publication Number Publication Date
JPH1139209A true JPH1139209A (ja) 1999-02-12

Family

ID=16093438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9181024A Pending JPH1139209A (ja) 1997-07-07 1997-07-07 コンピュータ資源アクセス制御装置およびその方法

Country Status (4)

Country Link
US (1) US6101569A (ja)
JP (1) JPH1139209A (ja)
KR (1) KR19990013394A (ja)
TW (1) TW373150B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010238191A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd システムコントロール装置、情報処理システムおよびアクセス処理方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249803B1 (en) 1997-12-18 2001-06-19 Sun Microsystems, Inc. Method and apparatus for executing code during method invocation
US6516354B2 (en) 1997-12-18 2003-02-04 Sun Microsystems, Inc. Method and apparatus for efficient representation of variable length identifiers in a distributed object system
US6510460B1 (en) * 1997-12-18 2003-01-21 Sun Microsystems, Inc. Method and apparatus for enforcing locking invariants in multi-threaded systems
US6405264B1 (en) 1997-12-18 2002-06-11 Sun Microsystems, Inc. Marshaling and unmarshaling framework for supporting filters in a distributed object system
JP3449291B2 (ja) * 1999-05-14 2003-09-22 株式会社デンソー 地図表示装置
US6529983B1 (en) * 1999-11-03 2003-03-04 Cisco Technology, Inc. Group and virtual locking mechanism for inter processor synchronization
US7328263B1 (en) * 2001-01-30 2008-02-05 Cisco Technology, Inc. Controlling access of concurrent users of computer resources in a distributed system using an improved semaphore counting approach
US7320065B2 (en) 2001-04-26 2008-01-15 Eleven Engineering Incorporated Multithread embedded processor with input/output capability
US7257815B2 (en) * 2001-09-05 2007-08-14 Microsoft Corporation Methods and system of managing concurrent access to multiple resources
US7444634B2 (en) * 2002-10-31 2008-10-28 Sun Microsystems, Inc. Method and apparatus for providing dynamic locks for global resources
US7383368B2 (en) * 2003-09-25 2008-06-03 Dell Products L.P. Method and system for autonomically adaptive mutexes by considering acquisition cost value
US7603502B2 (en) * 2005-04-12 2009-10-13 Microsoft Corporation Resource accessing with locking
KR100785104B1 (ko) * 2005-10-19 2007-12-12 엘지전자 주식회사 이동통신 단말기의 자원 관리 장치 및 방법
KR100763200B1 (ko) * 2006-02-24 2007-10-04 삼성전자주식회사 인터럽트 가능한 스레드 동기화 방법 및 장치
US8068114B2 (en) * 2007-04-30 2011-11-29 Advanced Micro Devices, Inc. Mechanism for granting controlled access to a shared resource
US8875107B2 (en) * 2009-03-24 2014-10-28 International Business Machines Corporation Component lock tracing by associating component type parameters with particular lock instances
CN102209022B (zh) * 2010-03-31 2014-12-17 华为终端有限公司 设备控制方法、网络设备及网络系统
US8954409B1 (en) * 2011-09-22 2015-02-10 Juniper Networks, Inc. Acquisition of multiple synchronization objects within a computing device
US10423465B2 (en) * 2018-02-21 2019-09-24 Rubrik, Inc. Distributed semaphore with adjustable chunk sizes

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5285528A (en) * 1991-02-22 1994-02-08 International Business Machines Corporation Data structures and algorithms for managing lock states of addressable element ranges
US5603018A (en) * 1991-07-15 1997-02-11 Mitsubishi Denki Kabushiki Kaisha Program developing system allowing a specification definition to be represented by a plurality of different graphical, non-procedural representation formats
US5956712A (en) * 1995-06-07 1999-09-21 International Business Machines Corporation Byte range locking in a distributed environment
US5761659A (en) * 1996-02-29 1998-06-02 Sun Microsystems, Inc. Method, product, and structure for flexible range locking of read and write requests using shared and exclusive locks, flags, sub-locks, and counters
US5933824A (en) * 1996-12-23 1999-08-03 Lsi Logic Corporation Methods and apparatus for locking files within a clustered storage environment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010238191A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd システムコントロール装置、情報処理システムおよびアクセス処理方法
US8719512B2 (en) 2009-03-31 2014-05-06 Fujitsu Limited System controller, information processing system, and access processing method

Also Published As

Publication number Publication date
KR19990013394A (ko) 1999-02-25
US6101569A (en) 2000-08-08
TW373150B (en) 1999-11-01

Similar Documents

Publication Publication Date Title
JPH1139209A (ja) コンピュータ資源アクセス制御装置およびその方法
US5956712A (en) Byte range locking in a distributed environment
EP0464715B1 (en) Interlock queueing
US5161227A (en) Multilevel locking system and method
US7174552B2 (en) Method of accessing a resource by a process based on a semaphore of another process
JPS60144855A (ja) 記憶ロツク方式
JP2003186746A (ja) ハードウェア実施セマフォおよび他の同様のハードウェア実施直列化および順位付け機構を使用する、コンピュータ内でのメモリへのアクセスのハードウェア実施制御の方法
EP0917051B1 (en) State-based object transition control and attribute-based locking
KR20010005570A (ko) 에이전트로 구현되는 로킹 메커니즘
JPH07191944A (ja) 多重プロセッサによる多数の資源への命令におけるデッドロックを防止するためのシステムおよび方法
JPH03196249A (ja) 多重プロセッサシステム
JPH1115793A (ja) 資源の保全性を保護する方法
CN112148695A (zh) 一种资源锁管理方法及装置
US20060149877A1 (en) Interrupt management for digital media processor
US7539678B2 (en) Systems and methods for controlling access to an object
US8286166B2 (en) Interruptible thread synchronization method and apparatus
EP0917050B1 (en) State-based object transition control and nested locking
CN113961364A (zh) 一种大规模锁系统实现方法、装置、存储介质和服务器
US6981108B1 (en) Method for locking shared resources connected by a PCI bus
JP3036468B2 (ja) 排他制御処理装置及び排他制御処理方法並びに排他制御処理プログラムを記憶した記憶媒体
JPS6336545B2 (ja)
JPH04223533A (ja) 共有資源排他制御システム
JP3904251B2 (ja) 排他制御方法
CN117873739A (zh) 一种自旋锁的监控方法及装置
JP2856761B2 (ja) 資源ロック管理装置