JP2848437B2 - マルチクラスタ排他制御装置 - Google Patents

マルチクラスタ排他制御装置

Info

Publication number
JP2848437B2
JP2848437B2 JP7201896A JP20189695A JP2848437B2 JP 2848437 B2 JP2848437 B2 JP 2848437B2 JP 7201896 A JP7201896 A JP 7201896A JP 20189695 A JP20189695 A JP 20189695A JP 2848437 B2 JP2848437 B2 JP 2848437B2
Authority
JP
Japan
Prior art keywords
wait
name
file
lock
storing
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 - Fee Related
Application number
JP7201896A
Other languages
English (en)
Other versions
JPH0934851A (ja
Inventor
茂幸 愛野
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP7201896A priority Critical patent/JP2848437B2/ja
Publication of JPH0934851A publication Critical patent/JPH0934851A/ja
Application granted granted Critical
Publication of JP2848437B2 publication Critical patent/JP2848437B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のホストから
なる計算機システムに関し、特に、ホスト間における共
有データ又はファイルへのアクセスの排他制御を行うマ
ルチクラスタ排他制御装置に関する。
【0002】
【従来の技術】従来のマルチクラスタ排他制御装置は、
共有データ又はファイルへの排他的なアクセス時に、そ
のアクセスしようとしている共有データ又はファイル
が、別のプロセスにより既に排他的にアクセスされてい
た場合に、デッドロック待ちが発生するかを直ちに調べ
ていた。
【0003】すなわち、あるホスト内の例えば第1のプ
ロセスが、共有データ又はファイルに対して排他的にア
クセスしようとした時に、別の第2のプロセスが該共有
データ又はファイルを既にアクセスしていたためロック
されていたならば、第1のプロセスのアクセスをロック
が開放されるまで待たせるが、その際、デッドロック待
ちが発生するか否かを直ちに必ず調査していた。この
為、実際にデッドロック待ちになるケースよりも遥かに
大きい頻度で、デッドロック待ちが発生するかの調査を
実施することになり、システム全体の性能を著しく低下
させている。
【0004】
【発明が解決しようとする課題】本発明は、デッドロッ
クになるケースのみデッドロック監視処理を実行するこ
とにより、システム全体の性能向上を図ることを目的と
する。
【0005】
【課題を解決するための手段】本発明によるマルチクラ
スタ排他制御装置では、排他的にアクセスされる共有デ
ータ又はファイルの識別子を記憶するロックブロック名
記憶手段と、該共有データ又はファイルを排他的にアク
セスしているプロセス名を識別子に対応して記憶するロ
ックプロセス名記憶手段と、共有データ又はファイルに
対する排他的アクセスが待たされた場合に、待たされる
プロセス名を識別子に対応してプロセス毎に記憶するウ
ェイトプロセス名記憶手段と、これに記憶されたプロセ
スについてアクセス待ち時間の規定値から見た残時間を
プロセス毎に減算する複数の残時間監視部を有し、残時
間が0になったプロセスに係る情報をウェイトプロセス
名記憶手段から出力するロック待ち時間監視手段と、該
ロック待ち時間監視手段から出力されたプロセスに係る
情報を受け取ってから、当該プロセスに関してデッドロ
ック待ちが発生しているかの調査を開始するデッドロッ
ク監視開始手段とを備えている。
【0006】ロックブロック名記憶手段とロックプロセ
ス名記憶手段とウェイトプロセス名記憶手段とは、書き
込み・読み出しを効率良く行えるように、対応付けてメ
モリ上に形成すると良い。
【0007】本発明によれば、あるプロセスのアクセス
要求が待たされた場合に、一定時間経過してから、デッ
ドロック待ちが発生しているか否かの調査を開始するの
で、ほぼデッドロックになるケースのみデッドロック監
視処理を実行することができる。
【0008】
【発明の実施の形態】次に本発明の一実施例について図
面を参照して説明する。図1は、本発明によるマルチク
ラスタ排他制御装置1に2つのホスト2・3を接続した
例のブロック図である。各ホスト2・3は、ホスト間で
共有するファイルをアクセスする場合、先ず、マルチク
ラスタ排他制御装置1に対して、ファイル名とアクセス
要求を出しているプロセスのプロセス名を通知する。
【0009】マルチクラスタ排他制御装置1は、排他制
御部4とロック待ち時間監視機構(ロック待ち時間監視
手段)5とデッドロック監視機構(デッドロック監視開
始手段)6と3項目の記録手段7・8・9とを有する。
これら記憶手段7・8・9は、排他的アクセス要求のリ
クエストがあったファイルのファイル名と、該リクエス
トを発生してアクセスが許可されたプロセスのプロセス
名と、該リクエストを発生したが、アクセスを待たされ
ているプロセスのプロセス名とを、識別子によりそれぞ
れ対応づけて記憶する。本発明の一実施例では、これら
記憶手段を図3に示すようなメモリ上に展開するチェイ
ンテーブル上で構成しているが、その詳細は後述する。
【0010】排他制御部4は、マイクロプロセッサによ
り構成され、各ホスト2・3からのファイルへのアクセ
ス要求を受け付け、記憶手段7・8・9を使って、当該
アクセス要求が許可可能か否かを判別するとともに、記
憶手段7・8・9内の情報の更新を行う。また、排他制
御部4は、アクセス要求の判別の結果、当該アクセス要
求を待たせる場合には、ロック待ち時間監視機構6に、
アクセス要求元のプロセス名と、ウェイトプロセス名記
憶手段9における該プロセスを記憶するエントリを示す
ポインタを通知する。
【0011】ロック待ち時間監視機構5では、プロセス
が共有ファイルへのアクセスを待たされた場合、その待
ち時間を監視し、待ち時間が規定時間以上に達した場合
は、デッドロック監視機構6に通知する。ロック待ち時
間監視機構5の詳細については、図4を用いて後述す
る。デッドロック監視機構6は、マイクロプロセッサで
構成され、記憶手段7・8・9を使用してデッドロック
待ちが発生しているかを調査する。なお、図1において
100〜106は信号線を示す。
【0012】図2は、デッドロック待ちが発生している
一態様を示す。プロセス1は、共有ファイルAをアクセ
スしようとしたが、該ファイルは、既にプロセス2がア
クセス中であるためにアクセスを待たされている。プロ
セス2は、共有ファイルBをアクセスしようとしたが、
該ファイルは、既にプロセス1がアクセス中であるため
にアクセスを待たされている。この状態であると、プロ
セス1及びプロセス2とも、処理を待たされているた
め、共有ファイルA及び共有ファイルBともに解放され
ることがなく、両プロセスとも処理を進めることができ
なくなる。
【0013】図3は、図1に示した記憶手段7・8・9
の構造の一実施例を示している。本実施例では、図1に
示したロックブロック名であるファイル名を記憶するフ
ィールド、ロックプロセス名を記憶するフィールド、ウ
ェイトプロセス名を記憶するフィールドと次のエントリ
を示すポインタを記憶するフィールドを持つエントリ
を、アクセス中であるファイル名毎に持ち、メモリに格
納する。
【0014】各ホスト2・3から排他制御部4にアクセ
スを要求するファイル名と要求元のプロセス名を通知し
たら、排他制御部4は、上記エントリのロックブロック
名記憶フィールドに、要求されているファイル名が記憶
されているか否かをサーチする。記憶されていなけれ
ば、ロックブロック名記憶フィールドに該ファイル名を
書き込み、ロックプロセス名記憶フィールドに要求元プ
ロセス名を書き込み、新規のエントリとしてメモリ内に
記憶させ、既に記憶させている最後のエントリの次エン
トリへのポインタフィールドに、該新規エントリを格納
するメモリのアドレスを書き込み、アクセスの要求元ホ
ストにアクセスの許可を通知する。上記サーチの結果、
要求するファイル名が記憶されていれば、該要求ファイ
ル名を記憶しているエントリのウェイトプロセス名記憶
フィールドに要求元のプロセス名を書き込み、該エント
リを格納するメモリのアドレスと、該要求元プロセス名
と待ちプロセスが発生したことをロック待ち時間監視機
構5に通知する。
【0015】プロセスの共有ファイルのアクセスが終了
した場合は、各ホスト2・3から、排他制御部4にファ
イルの解放が通知される。排他制御部4は、解放される
ファイル名を記憶しているエントリをサーチする。この
サーチに係る当該エントリのウェイトプロセス名記憶フ
ィールドに何も記憶されていなければ、当該エントリを
削除するために、当該エントリを次エントリとして示し
ているエントリのポインタフィールドを当該エントリが
記憶しているポインタ値に書き換える。すなわち、第1
番と第2番と第3番のエントリのうち当該エントリが第
2番目のエントリだったとすると、第2番目のエントリ
である当該エントリを削除するに当たり、それに記憶さ
れていたポインタ値を、第1番目のエントリが次エント
リとして示していたポインタ値と置き換え、第1番目の
エントリのポインタ値が第3番のエントリを次エントリ
として示すようにする。
【0016】当該エントリのウェイトプロセス名記憶フ
ィールドに、アクセスを待たされているプロセス名が記
憶されていた場合は、ウェイトプロセス名記憶フィール
ドに記憶されているプロセス名を当該エントリのロック
プロセス名記憶フィールドに書き込み、該プロセスのあ
るホストに、共有ファイルへのアクセスの許可を通知
し、該プロセス名と共有ファイルへのアクセス待ちの解
除をロック待ち時間監視機構5に通知する。
【0017】図4は、図1のロック待ち時間監視機構5
の内部回路を示している。ロック待ち時間監視機構5
は、複数個の残時間監視回路(残時間監視部)10とそ
の出力を選択する選択回路11とで構成される。各残時
間監視回路10には、第1及び第2のレジスタ12・1
3と、第2のレジスタ13の内容を−1する−1ディク
リメンタ14と、この−1ディクリメンタ14の出力が
0と等しいかを比較し、等しければ論理値1を出力する
比較器15とが備えられている。第1のレジスタ12に
は、図1の排他制御部4より通知されるウェイトプロセ
ス名と、該ウェイトプロセス名を記憶しているメモリア
ドレスと、有効な情報があることを示す識別ビットとを
格納する。第2のレジスタ14には、プロセスのアクセ
ス待ち時間の規定値から見た残り時間を格納しておく。
そして、ロック待ち時間監視機構5は、複数の残時間監
視回路10の出力中で、比較器15の出力値が論理値1
であれば、当該残時間監視回路10内のレジスタ12の
情報を選択回路11を通して図1のデッドロック監視機
構6に通知する構成になっている。
【0018】すなわち、図1の排他制御部4より、共有
ファイルへのアクセスを待たされたプロセスが発生した
ことがロック待ち時間監視機構5に通知されたら、複数
個ある残時間監視回路10の中のレジスタ12の識別ビ
ットをサーチし、有効な情報を保持していない残時間監
視回路10を検出し、該残時間監視回路10内のレジス
タ12の識別ビットを有効にし、排他制御部4より通知
されるアクセスを待たされたプロセス名と、該プロセス
名を記憶しているエントリのメモリアドレスをレジスタ
12に格納し、レジスタ13に規定値を設定する。その
後、各マシンサイクル毎に、該レジスタ13の値を−1
ディクリメンタ14により−1し、比較器15により0
になったことが検出されたら、レジスタ12の情報を選
択回路11を通して、デッドロック監視機構6に出力す
る。
【0019】排他制御部4より、プロセスのファイルへ
のアクセス待ちが解消されたことがロック待ち時間監視
機構5に通知されたら、排他制御部4より通知されるア
クセス待ちが解消されたプロセス名を保持しているレジ
スタ12を持つ残時間監視回路10を検出し、該残時間
監視回路10のレジスタ12の識別ビットを無効とし、
レジスタ13の更新を抑止する。
【0020】なお、本実施例では、図4における回路を
レジスタ,−1ディクリメンタ,比較器,選択回路で構
成したが、メモリとマイクロプロセッサで構成しても同
様の処理が可能であることは自明である。
【0021】図1のデッドロック監視機構6は、マイク
ロプロセッサより構成され、図1のロック待ち時間監視
機構5より規定時間以上共有ファイルへのアクセスが待
たされたプロセスがあることを、デッドロック監視機構
6に通知されたら、該デッドロック監視機構6は、排他
制御部5からの各記憶手段7・8・9へのアクセスを抑
止し、記憶手段7・8・9を使用してデッドロック待ち
が発生しているかをマイクロプロセッサ上でのプログラ
ムをもとに調査を開始する。
【0022】
【発明の効果】本発明によれば、当該プロセスが共有デ
ータ又はファイルへの排他的アクセス時に、他のプロセ
スが既に該共有データ又はファイルへのアクセスを行っ
ているため、当該プロセスのアクセス要求が待たされた
場合に、一定時間経過してから、デッドロック待ちが発
生しているかの調査を開始するので、ほぼデッドロック
になるケースのみデッドロック監視処理を実行すること
になり、システム全体としての性能向上が得られる。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック構成図である。
【図2】デッドロック待ち発生の一態様を示す説明図で
ある。
【図3】図1内の記憶手段の一構成例を示す図である。
【図4】図1内の残時間監視機構の一実施例を示すブロ
ック図である。
【符号の説明】
1 マルチクラスタ排他制御装置 2・3 ホスト 4 排他制御部 5 ロック待ち時間監視機構 6 デッドロック監視機構 7 ロックブロック名記憶手段 8 ロックプロセス名記憶手段 9 ウェイトプロセス名記憶手段

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のホスト間での共有データ又はファイ
    ルへのアクセスの排他制御を行うマルチクラスタ排他制
    御装置において、排他的にアクセスされる共有データ又
    はファイルの識別子を記憶するロックブロック名記憶手
    段と、該共有データ又はファイルを排他的にアクセスし
    ているプロセス名を上記識別子に対応して記憶するロッ
    クプロセス名記憶手段と、上記共有データ又はファイル
    に対する排他的アクセスが待たされた場合に、待たされ
    るプロセス名を上記識別子に対応してプロセス毎に記憶
    するウェイトプロセス名記憶手段と、これに記憶された
    プロセスについてアクセス待ち時間の規定値から見た残
    時間をプロセス毎に減算する複数の残時間監視部を有
    し、残時間が0になったプロセスに係る情報を上記ウェ
    イトプロセス名記憶手段から出力するロック待ち時間監
    視手段と、該ロック待ち時間監視手段から出力されたプ
    ロセスに係る情報を受け取ってから、当該プロセスに関
    してデッドロック待ちが発生しているかの調査を開始す
    るデッドロック監視開始手段を有することを特徴とする
    マルチクラスタ排他制御装置。
  2. 【請求項2】ロックブロック名記憶手段とロックプロセ
    ス名記憶手段とウェイトプロセス名記憶手段とを、対応
    付けてメモリ上に形成することを特徴とする請求項1記
    載のマルチクラスタ排他制御装置。
JP7201896A 1995-07-17 1995-07-17 マルチクラスタ排他制御装置 Expired - Fee Related JP2848437B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7201896A JP2848437B2 (ja) 1995-07-17 1995-07-17 マルチクラスタ排他制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7201896A JP2848437B2 (ja) 1995-07-17 1995-07-17 マルチクラスタ排他制御装置

Publications (2)

Publication Number Publication Date
JPH0934851A JPH0934851A (ja) 1997-02-07
JP2848437B2 true JP2848437B2 (ja) 1999-01-20

Family

ID=16448625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7201896A Expired - Fee Related JP2848437B2 (ja) 1995-07-17 1995-07-17 マルチクラスタ排他制御装置

Country Status (1)

Country Link
JP (1) JP2848437B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000043478A (ko) * 1998-12-29 2000-07-15 김영환 멀티태스킹이 가능한 통신 교환 시스템에서의파일보호기능구현방법
JP2009065713A (ja) * 2008-12-08 2009-03-26 Ricoh Co Ltd 画像形成装置、共有メモリ調停方法、プログラムおよび記録媒体

Also Published As

Publication number Publication date
JPH0934851A (ja) 1997-02-07

Similar Documents

Publication Publication Date Title
US6360220B1 (en) Lock-free methods and systems for accessing and storing information in an indexed computer data structure having modifiable entries
US7809903B2 (en) Coordinating access to memory locations for hardware transactional memory transactions and software transactional memory transactions
US10642794B2 (en) Computer storage deduplication
JP2665813B2 (ja) 記憶制御装置
KR100204741B1 (ko) 제1및 제2캐시 메모리 사용방법
US20070150665A1 (en) Propagating data using mirrored lock caches
JPH0776944B2 (ja) 仮想索引機構
JP4874165B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法
JPH0532775B2 (ja)
JPH04213136A (ja) 参照ビット,変更ビットの更新方法
JP2848437B2 (ja) マルチクラスタ排他制御装置
US20060236040A1 (en) Multiprocessor system for preventing starvation in case of occurring address competition and method thereof
JP6222100B2 (ja) データ格納装置、データ格納方法およびプログラム
JP3419392B2 (ja) メモリアクセス監視装置、メモリアクセス監視方法およびメモリアクセス監視用プログラムを記録した記録媒体
JP2924786B2 (ja) 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体
JP3239935B2 (ja) 密結合マルチプロセッサシステムの制御方法、密結合マルチプロセッサシステム及びその記録媒体
JPH04305746A (ja) キャッシュメモリ制御装置
JP2742246B2 (ja) ロックリクエスト制御機構
JP2825839B2 (ja) デッドロック検出処理方式
JP2825589B2 (ja) バス制御方式
JP2776388B2 (ja) 記憶制御方法及び記憶装置
JPH0589027A (ja) 監視機能付ライトバツフア
JPS62151970A (ja) ロツクバイトアクセス方式
JPS6138504B2 (ja)
JPH04163658A (ja) システムバス制御方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071106

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081106

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20081106

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091106

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20091106

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20101106

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20111106

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20111106

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20121106

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees