[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH09223032A - 資源ロック制御機構 - Google Patents

資源ロック制御機構

Info

Publication number
JPH09223032A
JPH09223032A JP3037896A JP3037896A JPH09223032A JP H09223032 A JPH09223032 A JP H09223032A JP 3037896 A JP3037896 A JP 3037896A JP 3037896 A JP3037896 A JP 3037896A JP H09223032 A JPH09223032 A JP H09223032A
Authority
JP
Japan
Prior art keywords
resource
token
lock
executing body
control mechanism
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
Application number
JP3037896A
Other languages
English (en)
Other versions
JP3746826B2 (ja
Inventor
Hiroyuki Yamashita
博之 山下
Keiko Tachibana
圭子 立花
Junya Murata
淳也 村田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP03037896A priority Critical patent/JP3746826B2/ja
Publication of JPH09223032A publication Critical patent/JPH09223032A/ja
Application granted granted Critical
Publication of JP3746826B2 publication Critical patent/JP3746826B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】本発明は、実行体による資源の排他獲得を制御
する資源ロック制御機構に関し、長期間型ロックと短期
間型ロックの双方に適する資源ロック制御機構の提供を
目的とする。 【解決手段】実行体からのトークン獲得要求に応答して
1つの実行体のみにトークンを与える手段10と、実行
体の発行するトークン獲得要求が指定の回数を超えると
きに、その実行体の走行権を一時的に放棄させる手段1
1と、トークンの与えられた実行体の要求する資源が使
用されているのか否かを判断する手段12と、資源の使
用状態が判断されるときに、実行体の持つトークンを返
却するとともに、その実行体の資源獲得要求をスタック
型事象待ち手段に登録する手段14と、資源の非使用状
態が判断されるときに、実行体の持つトークンを返却し
てから、実行体に資源アクセス権を与える手段15とを
備えるように構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、実行体による資源
の排他獲得を制御する資源ロック制御機構に関し、特
に、長期間型ロックと短期間型ロックの双方に適すると
ともに、スピンロック方式の持つプロセスディスパッチ
フォルトやMPフォルトの問題点を解消できるようにす
る資源ロック制御機構に関する。
【0002】
【従来の技術】並列計算機では、並列動作を行うプロセ
ス(実行体)が資源を逐次的にアクセスするために、資
源を排他的に使用可能にする資源ロック制御機構を備え
ている。
【0003】この資源ロック制御機構には、スタックロ
ック方式とスピンロック方式という2つの方式がある。
スタックロック方式では、資源ロック制御機構は、図1
0に示すように、プロセスから資源アクセス権の獲得要
求が発行されると、その要求を資源毎に用意されるスタ
ックにキューイングしていくとともに、先頭にキューイ
ングされる要求の発行元プロセスに対して資源へのアク
セス権を与え、そして、資源へのアクセス処理を終了し
たプロセスから資源開放要求が発行されると、キューイ
ングされているそのプロセスの要求をスタックから取り
外していくことで、資源への逐次アクセスを実現してい
る。ここで、図中の「○」は、資源へのアクセスの待ち
状態にあるプロセスの要求を示しており、「●」は、資
源にアクセスしているプロセスの要求を示している。
【0004】一方、スピンロック方式では、図11に示
すように、資源へアクセスする必要のあるプロセスは、
資源ロック制御機構に対して、資源アクセス権を獲得で
きるまで獲得要求を繰り返し発行する構成を採って、資
源ロック制御機構は、その要求を受け取るときに、その
要求の指す資源にアクセスしているプロセスが存在しな
い場合には、その要求元のプロセスにアクセス権を与え
ていくことで、資源への逐次的アクセスを実現してい
る。
【0005】従来技術では、資源に合わせて、このスタ
ックロック方式かスピンロック方式のいずれかの方式を
採用して、資源ロック制御を実行するという構成を採っ
ている。
【0006】
【発明が解決しようとする課題】スタックロック方式
は、スタックに要求をキューイングしたり、スタックか
ら要求を取り外す処理を実行することから、排他時間の
短い資源排他制御に使用する場合には、処理負荷が重い
という欠点がある。これから、例えば、ファイルアクセ
スのような資源へのアクセスが比較的長い時間となる処
理に適用されている。
【0007】一方、スピンロック方式は、資源アクセス
権を獲得したプロセスが長い時間それを保持したまま処
理を続行すると、別のプロセスが資源アクセス権の獲得
要求を長い時間繰り返し発行していくループ(スピン)
に陥るという欠点がある。これから、例えば、メモリア
クセスのような排他時間が極端に短い処理に適用されて
いる。
【0008】更に、このスピンロック方式には、プロセ
スディスパッチフォルトとMPフォルトという2つのフ
ォルト現象がある。次に、この2つのフォルト現象につ
いて説明する。
【0009】同時に複数のプロセスが動作することを基
本とする現在の計算機アーキテクチャでは、プロセスへ
のCPU資源の割り当てを時分割に行うというタイムシ
ェアリングアーキテクチャを採用している。
【0010】すなわち、各プロセスへのCPU走行権の
割り当ては時分割的であり、オペレーティングシステム
により、例えば、数msec〜数十msecを単位(タ
イムスライス時間)として、複数のプロセスに対して逐
次的/時分割的にCPU走行権が割り当てられていく。
そして、CPU走行権の付与されたプロセスは、所定の
走行時間を消費すると、CPU走行権を奪い取られて休
眠状態に入り、別の休眠状態にあるプロセスにCPU走
行権が付与されていく。このようにして、オペレーティ
ングシステムは、タイムスライス時間を単位として、複
数のプロセスが均等にCPU資源を使えるように制御す
る構成を採っているのである。
【0011】このタイムシェアリングシステム下では、
スピンロック方式は、プロセスディスパッチによるロッ
クフォルト(プロセスディスパッチフォルト)を発生し
てしまう。
【0012】すなわち、資源アクセス権を保持するプロ
セスが、資源アクセス権を保持した状態でタイムシェア
リングルールに従ってCPU走行権を奪われると、図1
2に示すように、その資源に対して資源のアクセス権の
獲得を要求する他のプロセスは、最低でも1タイムスラ
イス時間はスピンを繰り返し(プロセス数が多くなると
長くなる)、無駄な時間を費やしてしまうというプロセ
スディスパッチフォルトが発生するのである。
【0013】このプロセスディスパッチフォルトは、資
源へのアクセス処理の時間が長くなる程高い確率で起こ
ることから、資源排他/占有時間の長くなる場合には、
スピンロック方式の利用には注意が必要となる。なお、
タイムシェアリングルールにより各プロセスに順序よく
CPU走行権が与えられることから、このプロセスディ
スパッチフォルトは、アクセス権を保持したまま休眠し
たプロセスが再びCPU走行権を得て、それにより処理
を終了してアクセス権を開放していく時点で解消される
ことになる。
【0014】一方、近年の計算機システムでは、1つの
オペレーティングシステム下で、複数のCPUを装備す
るようになってきた。このようなマルチプロセッサシス
テム(MP)では、同時にCPU台数分の複数のプロセ
スがCPU走行権を得て並列的に動作することから、M
Pフォルトを発生してしまう。
【0015】すなわち、CPUが2台の場合で説明する
ならば、プロセス1とプロセス2とに同時にCPU走行
権が与えられることになるが、この場合、プロセス1と
プロセス2とが同時に資源に対するアクセス権を要求す
ることが起こると、図13に示すように、一方がアクセ
ス権を開放するまでの間、他方がスピンロックによるル
ープに陥るというMPフォルトが発生するのである。こ
のように、資源に対するアクセス権を保持するプロセス
がアクティブであるのにも関わらず、すなわちプロセス
ディスパッチによるフォルトでないにも関わらず、マル
チプロセッサシステムの構成により他のプロセスが待た
されてしまうことになる。
【0016】このMPフォルトは、CPU台数が多くな
る程高い確率で起こることから、CPU台数が多い場合
には、スピンロック方式の利用には注意が必要となる。
このように、スタックロック方式は長期間型ロックに向
く資源ロック制御方式であり、スピンロック方式は短期
間型ロックに向く資源ロック制御方式であることから、
従来技術では、資源へのアクセスが長い時間となる場合
には、スタックロック方式を用い、資源へのアクセスが
短い時間となる場合には、スピンロック方式を用いる構
成を採っているが、この方法に従っていると、用途に応
じてこの2つを切り分けて使用しなければならないとい
う問題点があった。
【0017】更に、スピンロック方式には、プロセスデ
ィスパッチフォルトとMPフォルトという2つのフォル
ト現象があり、従来技術のように、スピンロック方式を
固定的に用いる方法を採っていると、プロセスディスパ
ッチフォルトやMPフォルトにより、本来の短期間型ロ
ックの特性を著しく損なうという問題点があった。
【0018】本発明はかかる事情に鑑みてなされたもの
であって、長期間型ロックと短期間型ロックの双方に適
するとともに、スピンロック方式の持つプロセスディス
パッチフォルトやMPフォルトの問題点を解消できるよ
うにする新たな資源ロック制御機構の提供を目的する。
【0019】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、1は計算機システムであって、1つ
又は複数の資源2と、資源2を使用する複数の実行体3
と、実行体3による資源2の排他獲得を制御する本発明
の資源ロック制御機構4とを備えるものである。
【0020】本発明の資源ロック制御機構4は、トーク
ン管理手段10と、放棄手段11と、判断手段12と、
スタック型事象待ち手段13と、第1の制御手段14
と、第2の制御手段15と、第3の制御手段16とを備
える。
【0021】このトークン管理手段10は、実行体3か
らのトークン獲得要求に応答して1つの実行体3のみに
トークンを与える。放棄手段11は、実行体3の発行す
るトークン獲得要求を監視して、そのトークン獲得要求
が指定の回数を超えるときに、その実行体3の走行権を
一時的に放棄させる。
【0022】判断手段12は、実行体3にトークンが与
えられるときに、その実行体3の要求する資源2が使用
されているのか否かを判断する。スタック型事象待ち手
段13は、実行体3の資源獲得要求をキューイングす
る。
【0023】第1の制御手段14は、実行体3の資源獲
得要求をスタック型事象待ち手段13に登録する。第2
の制御手段15は、実行体3に資源アクセス権を与え
る。第3の制御手段16は、スタック型事象待ち手段1
3に資源開放を通知することで実行体3に資源アクセス
権を与える。
【0024】このように構成される本発明の資源ロック
制御機構4では、トークン管理手段10は、実行体3か
らのトークン獲得要求に応答して1つの実行体3のみに
トークンを与えていく処理を実行する。このとき、放棄
手段11は、実行体3の発行するトークン獲得要求を監
視して、そのトークン獲得要求が指定の回数を超えると
きに、その実行体3の走行権を一時的に放棄させること
で長期間のスピンに陥ることを防止する。
【0025】そして、判断手段12は、実行体3にトー
クンが与えられると、その実行体3の要求する資源2が
使用されているのか否かを判断する。この判断手段12
の判断処理を受けて、第1の制御手段14は、判断手段
12が資源2の使用状態を判断すると、実行体3の持つ
トークンを返却するとともに、その実行体3の資源獲得
要求をスタック型事象待ち手段13に登録し、第2の制
御手段15は、判断手段12が資源2の非使用状態を判
断すると、その実行体3の持つトークンを返却してか
ら、その実行体3に資源アクセス権を与える。
【0026】一方、第3の制御手段16は、トークン管
理手段10により資源2の使用の終えた実行体3に対し
てトークンが与えられると、スタック型事象待ち手段1
3に資源獲得要求が登録されているときには、スタック
型事象待ち手段13に資源開放を通知(これにより、ス
タック型事象待ち手段13の先頭に登録されている実行
体3に資源アクセス権が与えられる)してからトークン
を返却するとともに、登録されていないときには、直ち
にトークンを返却する。
【0027】このように、本発明の資源ロック制御機構
4では、トークンを獲得した実行体3に対して資源2の
獲得権を与える構成を採って、その資源2が他の実行体
3により排他獲得されていない場合には、その資源2へ
のアクセス権を与えていくとともに、排他獲得されてい
る場合には、スタック型事象待ち手段13に資源獲得要
求をキューイングするというスピンロック方式とスタッ
クロック方式のハイブリッド構成を採ることで、長期間
型ロックと短期間型ロックの双方に適する資源ロック制
御方式を実現できる。
【0028】そして、その構成を採るときに、規定のス
ピン回数でトークンを獲得できない場合には、資源獲得
要求を発行する実行体3の走行権を一時的に奪っていく
ことで、長期間のスピンに陥らないようにするととも
に、MPフォルトに起因するロック競合を解消し、更
に、実行体3に資源アクセス権を与えていく場合にも、
資源獲得要求をスタック型事象待ち手段13にキューイ
ングしていく場合にも、トークンを直ちに返却させて実
行体3がトークンを保持したまま休眠状態に入らないよ
うにすることで、プロセスディスパッチフォルトに起因
するロック競合を解消していく構成を採ることから、ス
ピンロック方式の持つプロセスディスパッチフォルトや
MPフォルトの発生も防止できる。
【0029】
【発明の実施の形態】以下、実施の形態に従って本発明
を詳細に説明する。図1で説明したように、本発明で
は、スタックロック方式とスピンロック方式の両方の機
能を兼ね備えたハイブリッドロック機構とも呼ぶべき資
源ロック制御機構を用意して、これに従って資源ロック
制御を実行する構成を採るものである。
【0030】図2に示すように、各プロセスは、資源を
要求するときには、この本発明のハイブリッドロック機
構20のロック獲得制御機構200を呼び出し、資源に
対するアクセス権を獲得してから、その資源に対する処
理を行わなくてはならない。そして、資源に対する処理
を終了したときには、この本発明のハイブリッドロック
機構20のロック開放制御機構300を呼び出し、資源
に対するアクセス権を開放していかなくてはならない。
【0031】図3に、本発明のハイブリッドロック機構
20の装置構成を図示する。この図に示すように、本発
明のハイブリッドロック機構20は、トークン管理機構
21と、スピンロック機構22と、プロセス走行権一時
放棄機構23と、スタック型事象待ち機構24と、ロッ
ク保持者登録管理機構25という5つの機構を持ってい
る。
【0032】次に、これらの各機構について説明する。
本発明のハイブリッドロック機構20の備えるトークン
管理機構21は、図4に示すように、資源獲得や資源開
放を要求するプロセスに対しての関所としての役割を持
っている。すなわち、トークン管理機構21は、通行手
形に相当するトークンを1個のみ発行する構成を採って
おり、各プロセスは、資源獲得(ロック獲得)や資源開
放(ロック開放)の処理に入るときには、このトークン
を獲得しなければならず、また、処理を終了したときに
は、このトークンを返却しなければならない構成を採っ
ている。
【0033】トークン管理機構21は、様々な方法によ
り実現可能であるが、例えば、通常の計算機に一般的に
備わっている排他処理命令/チェック処理命令を使って
実現することができる。
【0034】この排他処理命令は、図5に示すように、
第1オペランドの内容を第2オペランドの示すメモリ番
地へ移す処理を実行するものであり、実行前後の値が等
しいときには、ステータスレジスタに「等しい」旨の状
態情報が設定されることになる。この命令を実行してい
るプロセッサがある場合、他のプロセッサは、その間、
この命令を行うことはなく、これから、この命令を実行
した後に、チェック処理命令に従ってステータスレジス
タの状態を調べることにより、この命令が排他的に完了
したのか否かを知ることができる。なお、この排他処理
命令は、第1オペランドと第2オペランドの意味が逆に
なる等、計算機により若干の違いはあるが本質的な意味
はみな同じである。
【0035】この排他処理命令の性質を使うと、図6に
示すように、初期値としてOff値の設定されるフラグ
域(トークンが返却されるときに設定される)に、排他
処理命令によりOn値を書き込む構成を採ることで、1
個のプロセスにのみトークンを発行するトークン管理機
構21を実現できることになる。なお、On値/Off
値は逆であってもよく、フラグ域の代わりに、長いデー
タ長のメモリ域を使ってもよいことは言うまでもない。
【0036】本発明のハイブリッドロック機構20の備
えるスピンロック機構22は、プロセスの発行するトー
クン管理機構21に対するトークン獲得要求を規定の回
数まで許可する処理を行う。
【0037】本発明のハイブリッドロック機構20の備
えるプロセス走行権一時放棄機構23は、スピンロック
機構22によりプロセスの発行するトークン獲得要求が
規定回数に到達することが判断されると、そのプロセス
に割り当てられた走行時間が消費される前に、オペレー
ティングシステムに対して、そのプロセスに対する走行
権利の放棄を指示する処理を行う。オペレーティングシ
ステムは、この指示を受け取ると、そのプロセスをプロ
セスディスパッチ待ちキューの所定の位置に設定するこ
とで、そのプロセスの走行権を放棄させるとともに、次
のプロセスディスパッチに備えさせる。
【0038】このプロセス走行権一時放棄機構23は、
タイマー機構を使って実現することも可能である。すな
わち、タイマー機構では、図7に示すように、プロセス
がタイマー値(相対値のこともあるし、絶対値のことも
ある)を設定すると、そのプロセスはCPU資源を使用
しない状態に入って、その設定したタイマー時間後に、
CPUにタイマー割り込みというハードウェア割り込み
が通知され、これにより、そのプロセスは走行を再開す
る。これから、このタイマー機構を使うことで、プロセ
スの走行権を一時的に放棄させるプロセス走行権一時放
棄機構23を実現できるのである。なお、タイマー値と
しては、タイムシェアリングシステムの1タイムスライ
ス時間より若干大きい値で、2タイムスライス時間より
は小さい値を設定することが好ましい。
【0039】本発明のハイブリッドロック機構20の備
えるスタック型事象待ち機構24は、複数のプロセスか
らの資源獲得要求を要求順にスタックし逐次的に資源獲
得要求を処理していくために用意されるものであり、サ
ービスの待ち合わせを実現する。このスタック型事象待
ち機構24は、Wait/Post関数や、MsgSE
ND/MsgRCV関数や、SetLOCK関数といっ
た通常の計算機で一般的に装備されている機構で実現で
きる。
【0040】本発明のハイブリッドロック機構20の備
えるロック保持者登録管理機構25は、資源へのアクセ
ス権を獲得したプロセス(ロック保持者となる)の識別
子を管理する。資源へのアクセス権を獲得したプロセス
は1つであることから、ロック保持者登録管理機構25
に管理されるプロセス識別子は1つのみである。
【0041】図8に、本発明のハイブリッドロック機構
20のロック獲得制御機構200がプロセスより資源獲
得要求を受け取るときに実行する処理フローの一実施
例、図9に、本発明のハイブリッドロック機構20のロ
ック開放制御機構300がプロセスより資源開放要求を
受け取るときに実行する処理フローの一実施例を図示す
る。
【0042】次に、この処理フローに従って、本発明の
ハイブリッドロック機構20により実行される資源ロッ
ク制御について詳細に説明する。本発明のハイブリッド
ロック機構20のロック獲得制御機構200は、プロセ
スより資源獲得要求を受け取ると、図8の処理フローに
示すように、先ず最初に、ステップ1で、トークン管理
機構21を使って、排他処理命令によるトークン獲得処
理を実行する。このトークンは、上述したように、1つ
のプロセスのみが獲得できることになる。
【0043】続いて、ステップ2で、資源獲得要求を発
行してきたプロセスがトークンを獲得できたのか否かを
チェックして、トークンを獲得できないことを判断する
ときには、ステップ3に進んで、そのプロセスによるト
ークン獲得の試みの回数が所定のスピン回数を超えたの
か否を判断して、超えていないことを判断するときに
は、ステップ1に戻っていく。このスピン処理がスピン
ロック機構22の処理に該当する。
【0044】一方、ステップ3で所定のスピン回数を超
えたことを判断するときには、ステップ4に進んで、プ
ロセス走行権一時放棄機構23を起動して、そのプロセ
スの持つ走行権を一時的に放棄させる。この走行権の放
棄処理により、無駄なスピンの実行が防止され、走行権
を他のプロセスに分け与えていくことで、ロック競合事
象を速やかに解消していくことを積極的に進め、システ
ム全体としての処理能力の向上を実現する。
【0045】ステップ2でトークンの獲得を判断する
と、ステップ5に進んで、ロック保持者登録管理機構2
5にロック保持者が登録されているのか否かを問い合わ
せ、続くステップ6で、ロック保持者が登録されている
のか否かを判断する。この判断処理によりロック保持者
が登録されていないことを判断するとき、すなわち、ア
クセス要求のある資源を排他獲得しているプロセスが存
在しないことを判断するときには、ステップ7に進ん
で、ロック保持者登録管理機構25に対して、トークン
を獲得したプロセスの識別子を登録してから、ステップ
8に進んで、トークン管理機構21を使って、排他処理
命令によるトークン返却処理を実行する。
【0046】この後、トークンを返却したプロセスは、
ロック保持者登録管理機構25にプロセス識別子が登録
されることで資源を排他獲得できたことから、資源をア
クセスすることで所定のデータ処理を実行することにな
る。従って、この処理ルートを辿る場合には、プロセス
は、スピンロックだけで資源アクセス権が得られるの
で、極めて高速に資源アクセス権を得られることにな
る。
【0047】一方、ステップ6でロック保持者が登録さ
れていることを判断するとき、すなわち、アクセス要求
のある資源を排他獲得しているプロセスが存在している
こととを判断するときには、ステップ9に進んで、トー
クン管理機構21を使って、排他処理命令によるトーク
ン返却処理を実行してから、続くステップ10で、トー
クンを返却したプロセスの発行した資源獲得要求をスタ
ック型事象待ち機構24に登録する。
【0048】このようにして資源排他獲得制御を実行す
るのであるが、この構成を採るときにあって、ステップ
3で設定されるスピン回数としては、他に資源を要求す
るプロセスが存在せず、かつ、既に資源を使用している
プロセスが存在していない状態で、プロセスが資源を獲
得してトークンを返却するまでの最短の処理時間よりも
若干長い時間に相当する回数を用いることが好ましい。
このように設定すると、無駄なスピンに陥らずに、しか
も、トークンを獲得したプロセスがトークンを返却する
までの間は、トークンの獲得を要求するプロセスはスピ
ンを実行することになって、大部分のMPフォルトから
逃れられることになる。
【0049】この処理にあって、ステップ5ないしステ
ップ10の処理は、従来のスタックロック方式そのもの
であるが、本発明のスタックロック方式は、スピン回数
を限定して実行するスピンロック機構22により実現さ
れるロック競合の低下と、プロセス走行権一時放棄機構
23により実現されるロック競合の低下では解消しきれ
ないロック競合に対処するために設けられている。
【0050】そして、本発明のスタックロック方式は、
スピンロック機構22から直接発生するスピンロック
と、プロセス走行権一時放棄機構23から発生するスピ
ンロックの欠点である長期間スピンの可能性を排除すべ
く設けられている。逆を言うと、本発明では、スタック
ロック方式を用意することで、スピンロック方式を途中
で打ち切ることを可能にしているのである。
【0051】一方、本発明のハイブリッドロック機構2
0のロック開放制御機構300は、プロセスより資源開
放要求を受け取ると、図9の処理フローに示すように、
先ず最初に、ステップ1で、トークン管理機構21を使
って、排他処理命令によるトークン獲得処理を実行す
る。
【0052】続いて、ステップ2で、資源開放要求を発
行してきたプロセスがトークンを獲得できたのか否かを
チェックして、トークンを獲得できないことを判断する
ときには、ステップ3に進んで、そのプロセスによるト
ークン獲得の試みの回数が所定のスピン回数を超えたの
か否を判断して、超えていないことを判断するときに
は、ステップ1に戻っていく。
【0053】一方、ステップ3で所定のスピン回数を超
えたことを判断するときには、ステップ4に進んで、プ
ロセス走行権一時放棄機構23を起動して、そのプロセ
スの持つ走行権を一時的に放棄させる。この走行権の放
棄処理により、無駄なスピンの実行が防止され、走行権
を他のプロセスに分け与えていくことで、ロック競合事
象を速やかに解消していくことを積極的に進め、システ
ム全体としての処理能力の向上を実現する。
【0054】ステップ2でトークンの獲得を判断する
と、ステップ5に進んで、ロック保持者登録管理機構2
5に登録されている開放発行元のプロセス識別子を削除
し、続くステップ6で、スタック型事象待ち機構24に
資源獲得要求がキューイングされているのか否かを判断
する。この判断処理によりスタック型事象待ち機構24
に資源獲得要求がキューイングされていないことを判断
するときには、ステップ7に進んで、トークン管理機構
21を使って、排他処理命令によるトークン返却処理を
実行する。
【0055】一方、ステップ6でスタック型事象待ち機
構24に資源獲得要求がキューイングされていることを
判断するときには、ステップ8に進んで、スタック型事
象待ち機構24に対してロック開放を通知し、続くステ
ップ9で、ロック保持者登録管理機構25に対して、ス
タック型事象待ち機構24の先頭にキューイングされて
いる資源獲得要求の発行元プロセスの識別子(このプロ
セスに資源アクセス権が与えられることになる)を登録
してから、ステップ7に進んで、トークン管理機構21
を使って、排他処理命令によるトークン返却処理を実行
する。
【0056】このようにして資源開放制御を実行するの
であるが、この構成を採るときにあって、ステップ3で
設定されるスピン回数としては、他に資源を要求するプ
ロセスが存在せず、かつ、既に資源を使用しているプロ
セスが存在していない状態で、プロセスが資源を獲得し
てトークンを返却するまでの最短の処理時間よりも若干
長い時間に相当する回数を用いることが好ましい。この
ように設定すると、無駄なスピンに陥らずに、しかも、
トークンを獲得したプロセスがトークンを返却するまで
の間は、トークンの獲得を要求するプロセスはスピンを
実行することになって、大部分のMPフォルトから逃れ
られることになる。
【0057】
【発明の効果】以上説明したように、本発明では、トー
クンを獲得したプロセスに対して資源の獲得権を与える
構成を採って、その資源が他のプロセスにより排他獲得
されていない場合には、その資源のアクセス権を与えて
いくとともに、排他獲得されている場合には、資源獲得
要求をスタックにキューイングするというスピンロック
方式とスタックロック方式のハイブリッド構成を採るこ
とで、長期間型ロックと短期間型ロックの双方に適する
資源ロック制御方式を実現できるようになる。
【0058】そして、その構成を採るときに、規定のス
ピン回数でトークンを獲得できない場合には、資源獲得
要求を発行するプロセスの走行権を一時的に奪っていく
ことで、長期間のスピンに陥らないようにするととも
に、MPフォルトに起因するロック競合を解消し、更
に、プロセスに資源アクセス権を与えていく場合にも、
資源獲得要求をスタックにキューイングしていく場合に
も、トークンを直ちに返却させてプロセスがトークンを
保持したまま休眠状態に入らないようにすることで、プ
ロセスディスパッチフォルトに起因するロック競合を解
消していく構成を採ることから、スピンロック方式の持
つプロセスディスパッチフォルトやMPフォルトの発生
も防止できるようになる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の利用説明図である。
【図3】ハイブリッドロック機構の装置構成図である。
【図4】トークン管理機構の説明図である。
【図5】排他処理命令の説明図である。
【図6】排他処理命令を使用したトークン管理機構の説
明図である。
【図7】タイマー機構を使用したプロセス走行権一時放
棄機構の説明図である。
【図8】ハイブリッドロック機構の実行する処理フロー
である。
【図9】ハイブリッドロック機構の実行する処理フロー
である。
【図10】スタックロック方式の説明図である。
【図11】スピンロック方式の説明図である。
【図12】プロセスディスパッチフォルトの説明図であ
る。
【図13】MPフォルトの説明図である。
【符号の説明】
1 計算機システム 2 資源 3 実行体 4 資源ロック制御機構 10 トークン管理手段 11 放棄手段 12 判断手段 13 スタック型事象待ち手段 14 第1の制御手段 15 第2の制御手段 16 第3の制御手段

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 実行体による資源の排他獲得を制御する
    資源ロック制御機構において、 実行体からのトークン獲得要求に応答して1つの実行体
    のみにトークンを与えるトークン管理手段と、 実行体の発行するトークン獲得要求を監視して、そのト
    ークン獲得要求が指定の回数を超えるときに、該実行体
    の走行権を一時的に放棄させる放棄手段と、 実行体にトークンが与えられるときに、該実行体の要求
    する資源が使用されているのか否かを判断する判断手段
    と、 上記判断手段が資源の使用状態を判断するときに、実行
    体の持つトークンを返却するとともに、該実行体の資源
    獲得要求をスタック型事象待ち手段に登録する第1の制
    御手段と、 上記判断手段が資源の非使用状態を判断するときに、実
    行体の持つトークンを返却してから、実行体に資源アク
    セス権を与える第2の制御手段とを備えることを、 特徴とする資源ロック制御機構。
  2. 【請求項2】 請求項1記載の資源ロック制御機構にお
    いて、 トークン管理手段が資源の使用の終えた実行体に対して
    トークンを与えるときに、スタック型事象待ち手段に資
    源獲得要求が登録されているときには、該スタック型事
    象待ち手段に資源開放を通知してからトークンを返却す
    るとともに、登録されていないときには、直ちにトーク
    ンを返却する第3の制御手段を備えることを、 特徴とする資源ロック制御機構。
  3. 【請求項3】 請求項1又は2記載の資源ロック制御機
    構において、 トークン管理手段は、実行体からトークン獲得要求があ
    るときに、規定のメモリ域に規定のデータ値を書き込む
    排他処理命令と、該メモリ域のデータ値が該排他処理命
    令の実行前後で異なるものとなるのか否かをチェックす
    るチェック処理命令とを使ってトークンの排他付与を実
    行することを、 特徴とする資源ロック制御機構。
  4. 【請求項4】 請求項1、2又は3記載の資源ロック制
    御機構において、 放棄手段は、指定回数として、他に資源を要求する実行
    体が存在せず、かつ、既に資源を使用している実行体が
    存在していない状態で、実行体が資源を獲得してトーク
    ンを返却するまでの最短の処理時間に相当する回数を用
    いることを、 特徴とする資源ロック制御機構。
JP03037896A 1996-02-19 1996-02-19 資源ロック制御機構 Expired - Fee Related JP3746826B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03037896A JP3746826B2 (ja) 1996-02-19 1996-02-19 資源ロック制御機構

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03037896A JP3746826B2 (ja) 1996-02-19 1996-02-19 資源ロック制御機構

Publications (2)

Publication Number Publication Date
JPH09223032A true JPH09223032A (ja) 1997-08-26
JP3746826B2 JP3746826B2 (ja) 2006-02-15

Family

ID=12302228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03037896A Expired - Fee Related JP3746826B2 (ja) 1996-02-19 1996-02-19 資源ロック制御機構

Country Status (1)

Country Link
JP (1) JP3746826B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000029726A (ja) * 1998-05-06 2000-01-28 Sun Microsyst Inc Javaプログラミング言語で書かれたプログラミングのための高速同期方法
JP2000132410A (ja) * 1998-10-22 2000-05-12 Internatl Business Mach Corp <Ibm> 動的及び静的なタスクを扱うためのオペレ―ティング・システムを記録したコンピュ―タ可読媒体
JP2003536118A (ja) * 1999-02-25 2003-12-02 サン・マイクロシステムズ・インコーポレイテッド マルチスレッドコンピュータシステムにおけるモニタ変換
JP2010170545A (ja) * 2009-01-20 2010-08-05 Fisher Rosemount Syst Inc プロセス制御システムにおいて分散型設備調停を提供する方法
JP2011170414A (ja) * 2010-02-16 2011-09-01 Nec Corp ロック競合管理装置、ロック競合管理方法およびプログラム
US8990954B2 (en) 2007-06-20 2015-03-24 International Business Machines Corporation Distributed lock manager for file system objects in a shared file system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000029726A (ja) * 1998-05-06 2000-01-28 Sun Microsyst Inc Javaプログラミング言語で書かれたプログラミングのための高速同期方法
JP2000132410A (ja) * 1998-10-22 2000-05-12 Internatl Business Mach Corp <Ibm> 動的及び静的なタスクを扱うためのオペレ―ティング・システムを記録したコンピュ―タ可読媒体
JP2003536118A (ja) * 1999-02-25 2003-12-02 サン・マイクロシステムズ・インコーポレイテッド マルチスレッドコンピュータシステムにおけるモニタ変換
US8990954B2 (en) 2007-06-20 2015-03-24 International Business Machines Corporation Distributed lock manager for file system objects in a shared file system
JP2010170545A (ja) * 2009-01-20 2010-08-05 Fisher Rosemount Syst Inc プロセス制御システムにおいて分散型設備調停を提供する方法
JP2011170414A (ja) * 2010-02-16 2011-09-01 Nec Corp ロック競合管理装置、ロック競合管理方法およびプログラム

Also Published As

Publication number Publication date
JP3746826B2 (ja) 2006-02-15

Similar Documents

Publication Publication Date Title
US5621897A (en) Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
US8448179B2 (en) Processing architecture having passive threads and active semaphores
US6792497B1 (en) System and method for hardware assisted spinlock
US7174552B2 (en) Method of accessing a resource by a process based on a semaphore of another process
US8572626B2 (en) Symmetric multi-processor system
US8707315B2 (en) Method and system for implementing realtime spinlocks
US8914800B2 (en) Behavioral model based multi-threaded architecture
US10261926B2 (en) Semaphore for multi-core processor
US4979099A (en) Quasi-fair arbitration scheme with default owner speedup
JP2015530679A (ja) 高効率アトミック演算を使用した方法および装置
EP1693743A2 (en) System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock
JPH09223032A (ja) 資源ロック制御機構
JPS6321941B2 (ja)
JP2804478B2 (ja) タスク制御方式及びオンライン・トランザクション・システム
JP3862293B2 (ja) 情報処理方法とその装置
JPH1049388A (ja) 入出力制御装置
JPH03116261A (ja) マルチプロセッサ制御方式
JPS5844553A (ja) 排他制御方式
JP2023091314A (ja) 半導体装置、半導体装置の制御方法及びプログラム
JP2000003287A (ja) 共有リソースの排他制御装置、排他制御方法及び排他制御プログラムを記録した記録媒体
JPH04223533A (ja) 共有資源排他制御システム
CN118260051A (zh) 线程访问控制设备、方法与计算设备
JPH06161872A (ja) タスク間排他制御方法
JPS6265157A (ja) 疎結合マルチプロセッサ装置
JPH01300365A (ja) マルチプロセッサシステムの排他制御方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20041129

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Effective date: 20051122

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Effective date: 20051125

Free format text: JAPANESE INTERMEDIATE CODE: A61

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091202

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20091202

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101202

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20121202

LAPS Cancellation because of no payment of annual fees