JPH04116762A - スピン・ロック制御方式 - Google Patents

スピン・ロック制御方式

Info

Publication number
JPH04116762A
JPH04116762A JP23590990A JP23590990A JPH04116762A JP H04116762 A JPH04116762 A JP H04116762A JP 23590990 A JP23590990 A JP 23590990A JP 23590990 A JP23590990 A JP 23590990A JP H04116762 A JPH04116762 A JP H04116762A
Authority
JP
Japan
Prior art keywords
lock
priority
field
waiting
cpu
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
JP23590990A
Other languages
English (en)
Inventor
Kenichi Kubota
健一 久保田
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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP23590990A priority Critical patent/JPH04116762A/ja
Publication of JPH04116762A publication Critical patent/JPH04116762A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、スピン・ロック制御方式に関し、特にロック
待ちによるCPUの沈み込みを早期に検出し、回避を図
るスピン・ロック制御方式に関する。
[従来の技術] 従来のスピン・ロック方式では、ハードウェア命令を用
いて資源に対応するロックフィールドにロックを行い、
失敗したときはロック成功となるまで、再度ロックを試
みながらループするという方式であった。そのため、複
数CPUが同一資源に対してロック待ちのスピンループ
を行っている場合、ロックが解除されたときにいずれの
CPUが次にロック成功となるかは、タイミングで決ま
っていた。
[発明が解決しようとする課題] 上述した従来のスピン・ロック方式においては、ロック
の順序は一意に決まらなかったので、ロック待ちが多く
なると、ロック成功となることのできないCPUが発生
し、CPUの沈み込みが起こるという問題があった。
[課題を解決するための手段] 本発明に従って、(1)2台以上のCPUを持つマルチ
プロセッサ構成で、スピン・ロックにより資源のロック
を行うクリティカルセクションを有する電子計算機シス
テムにおいて、ロックフィールドとして、通常のロック
フィールドと優先待ちロックフィールドを設け、ロック
待ちのスピンループ中にループ回数をカウントするルー
プ回数カウント処理と、ループ回数が一定の限界値以上
になると、前記優先待ちロックフィールドのロック待ち
処理を行う優先ロック処理とからなるロック処理と、ア
ンロック時に優先ロック待ちフィールドを参照し、優先
待ちを行っているCPUがある場合は、優先待ちロック
フィールドのアンロックを行い、優先待ちを行っている
CPUがない場合は、通常ロックフィールドのアンロッ
ク処理を行うというアンロック処理とを含んで構成され
、スピン・ロック待ちにより処理の沈み込みが起こって
いるCPUを早期に検出し、沈み込み回避を図るスピン
・ロック制御方式及び(2)2台以上のCPUを持つマ
ルチプロセッサ構成で、スピン・ロックにより資源のロ
ックを行うクリティカルセクションを有する電子計算機
システムにおいて、通常のロックフィールドと優先待ち
ロックフィールドと、優先待ち表示フィールドとを設け
、ロック待ちのスピンループ中にループ回数をカウント
するループ回数カウント処理と、ループ回数が一定の限
界値以上になると、前記優先待ち表示フィールドに優先
待ち表示を行い、前記優先待ちロックフィールドのロッ
ク待ち処理を行う優先ロック処理とからなるロック処理
と、アンロックを行う際に、前記優先待ち表示フィール
ドを参照し、優先待ちを行っているCPUがある場合は
、前記優先待ちロックフィールドのアンロックを行い、
優先待ちを行っているCPUがない場合は、前記通常ロ
ックフィールドのアンロック処理を行うというアンロッ
ク処理とを含んで構成され、スピン・ロック待ちにより
処理の沈み込みが起こっているCPUを早期に検出し、
沈み込み回避を図るスピン・ロック制御方式が提供され
る。
[実施例] 次に、本発明について図面を参照して説明する。
第1図は、本発明の一実施例の構成を示す図である。本
実施例は、4台のCPUII〜14より構成されている
また、15は通常のロックフィールド、16は優先ロッ
クフィールドである。
第2図は、本実施例でのロック処理を示すフローで、通
常のロックフィールドのロック処理21、ロック成功・
不成功判定処理22、ループカウンタのカウントアツプ
処理23、カウンタ判定処理24、優先待ちロックフィ
ールドのロック処理25、ロック成功・不成功判定処理
26とからなる。
第3図はアンロック処理で、優先待ちCPUあり・なし
判定処理31、通常ロックフィールドのアンロック処理
32、優先待ちロック処理のロック解除処理33から成
る。
以上の図を用いて本実施例でのスピン・ロック方式を説
明する。
第1図において、ロック状態の一例を説明すると、CP
UIIは、ロックフィールド15をロック中である。ま
た、CPU12.CPU13は、ロックフィールド15
のロック待ちのループを行っており、CPU14は、待
ちループ回数が限界値を超えたため、優先ロックフィー
ルド16のロック待ちを行っている。
次に、第1図、第2図を用いて、本実施例でのスピン・
ロック制御方式のロック処理の概要を説明する。
まず、通常ロックフィールドのロック処理21で、通常
ロックフィールド15のロックを行う。
次に、22でロック成功・不成功の判定を行い、成功で
あればロック完了である。
ロック失敗であれば、ロック待ちの処理を行うが、ロッ
ク待ち処理では、まず、ループカウンタのカウントアツ
プ処理23を行う0次に、ループカウンタのチエツク処
理24で限界値との比較処理を行い、ループカウンタが
限界値を超えていなければ、再度、通常ロックフィール
ド15のロック処理21を行う。
限界値を超えていれば、まず、優先待ちロックフィール
ド16の初期設定処理27で優先待ちロックフィールド
16をロック状態にする。
次に、優先待ちロックフィールド16のロック処理25
を行う。次に、優先待ちロックフィールド16のロック
成功・不成功判定処理26を行い、成功であればロック
完了である。
ロック失敗であれば、再度、優先待ちロックフィールド
16のロック処理25を行う。
以上のようにして、ロック処理は行われる。
次に、第1図と第3図を用いて、本実施例でのスピン・
ロック制御方式のロック処理の概要を説明する。
まず、優先待ちCPUあり・なし判定処理31を行う。
判定は、優先待ちロックフィールド16の参照によって
行い、優先待ちロックフィールド16がロック状態であ
れば、優先待ちCPUあり、ロック中でなければ優先待
ちCPUなしと見なす。
判定処理の結果、優先待ちCPUがあれば、優先待ちロ
ックフィールドのアンロック処理33を行う。優先待ち
ロックフィールド16をアンロックすることにより、優
先待ちを行っているCPU、すなわち沈み込みが発生し
ているCPUのみが、ロックを行うことができる。
また、優先待ちCPUがなければ、従来通り、優先待ち
ロックフィールドのアンロック処理32を行う。
また、第4図は、特許請求の範囲第2項記載のスピン・
ロック制御方式に関するロック状態を示す図である。
第4図で、41〜44はCPUであり、また、45は通
常のロックフィールド、46は優先ロックフィールドで
ある。47は、優先待ち表示フィールドである。
第4図においては、前記ロック処理における優先待ちロ
ックフィールドの初期設定27において、優先待ち表示
フィールド47に優先待ちCPU有り表示を行う。
さらに、前記アンロック処理における優先待ちCPUあ
り・なし判定処理31においては、優先待ち表示ロック
フィールド47を参照することにより、優先待ちCPU
あり・なしを判定する。
[発明の効果] 以上説明したように、本発明におけるスピン・ロック制
御方式においては、沈み込みの発生しているCPUが優
先的にロックを行うことが可能なため、従来技術に示し
たような、ロックの順序が一意に決まらないためロック
成功となることのできないCPUが発生し、CPUの沈
み込みが起こることを防止することができるといった効
果がある。
【図面の簡単な説明】
第1図は本発明で使用される電子計算機システムの構成
図である。 11〜14・・・CPU 15・・・通常のロックフィールド 16・・・優先待ちロックフィールド 第2図はロック処理である。 21・・・通常ロックフィールドのロック処理22・・
・ロック成功・不成功判定処理23・・・ループカウン
タのカウントアツプ処理24・・・カウンタチエツク処
理 25・・・優先待ちロックフィールドのロック処理 26・・・ロック成功・不成功判定処理27・・・優先
待ちロックフィールドの初期設定処理 第3図はアンロック処理である。 31・・・優先待ちCPUあり・なし判定処理32・・
・通常ロックフィールドのアンロック処理 33・・・優先待ちロックフィールドのアンロック処理 第4図は本発明における実施例20ロツク状態を示す図
である。 41〜44・・・CPU 45・・・通常のロックフィールド 46・・・優先待ちロックフィールド 47・・・優先待ち表示フィールド

Claims (2)

    【特許請求の範囲】
  1. (1)2台以上のCPUを持つマルチプロセッサ構成で
    、スピン・ロックにより資源のロックを行うクリティカ
    ルセクションを有する電子計算機システムにおいて、 ロックフィールドとして、通常のロックフィールドと優
    先待ちロックフィールドを設け、 ロック待ちのスピンループ中にループ回数をカウントす
    るループ回数カウント処理と、ループ回数が一定の限界
    値以上になると、前記優先待ちロックフィールドのロッ
    ク待ち処理を行う優先ロック処理とからなるロック処理
    と、 アンロック時に優先ロック待ちフィールドを参照し、優
    先待ちを行っているCPUがある場合は、優先待ちロッ
    クフィールドのアンロックを行い、優先待ちを行ってい
    るCPUがない場合は、通常ロックフィールドのアンロ
    ック処理を行うというアンロック処理とを含んで構成さ
    れ、 スピン・ロック待ちにより処理の沈み込みが起こってい
    るCPUを早期に検出し、沈み込み回避を図るスピン・
    ロック制御方式。
  2. (2)2台以上のCPUを持つマルチプロセッサ構成で
    、スピン・ロックにより資源のロックを行うクリティカ
    ルセクションを有する電子計算機システムにおいて、 通常のロックフィールドと優先待ちロックフィールドと
    、優先待ち表示フィールドとを設け、ロック待ちのスピ
    ンループ中にループ回数をカウントするループ回数カウ
    ント処理と、ループ回数が一定の限界値以上になると、
    前記優先待ち表示フィールドに優先待ち表示を行い、前
    記優先待ちロックフィールドのロック待ち処理を行う優
    先ロック処理とからなるロック処理と、 アンロックを行う際に、前記優先待ち表示フィールドを
    参照し、優先待ちを行っているCPUがある場合は、前
    記優先待ちロックフィールドのアンロックを行い、優先
    待ちを行っているCPUがない場合は、前記通常ロック
    フィールドのアンロック処理を行うというアンロック処
    理とを含んで構成され、 スピン・ロック待ちにより処理の沈み込みが起こってい
    るCPUを早期に検出し、沈み込み回避を図るスピン・
    ロック制御方式。
JP23590990A 1990-09-07 1990-09-07 スピン・ロック制御方式 Pending JPH04116762A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23590990A JPH04116762A (ja) 1990-09-07 1990-09-07 スピン・ロック制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23590990A JPH04116762A (ja) 1990-09-07 1990-09-07 スピン・ロック制御方式

Publications (1)

Publication Number Publication Date
JPH04116762A true JPH04116762A (ja) 1992-04-17

Family

ID=16993036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23590990A Pending JPH04116762A (ja) 1990-09-07 1990-09-07 スピン・ロック制御方式

Country Status (1)

Country Link
JP (1) JPH04116762A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286068B1 (en) 1994-10-03 2001-09-04 International Business Machines Corporation Queued arbitration mechanism for data processing system
JP2011103122A (ja) * 2009-11-10 2011-05-26 Internatl Business Mach Corp <Ibm> ロック・トレーシング機能を有する情報処理システム
US8099538B2 (en) * 2006-03-29 2012-01-17 Intel Corporation Increasing functionality of a reader-writer lock

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286068B1 (en) 1994-10-03 2001-09-04 International Business Machines Corporation Queued arbitration mechanism for data processing system
US8099538B2 (en) * 2006-03-29 2012-01-17 Intel Corporation Increasing functionality of a reader-writer lock
US8407386B2 (en) 2006-03-29 2013-03-26 Intel Corporation Increasing functionality of a reader-writer lock
US8775708B2 (en) 2006-03-29 2014-07-08 Intel Corporation Increasing functionality of a reader-writer lock
JP2011103122A (ja) * 2009-11-10 2011-05-26 Internatl Business Mach Corp <Ibm> ロック・トレーシング機能を有する情報処理システム

Similar Documents

Publication Publication Date Title
US4979105A (en) Method and apparatus for automatic recovery from excessive spin loops in an N-way multiprocessing system
US8234646B2 (en) Fault tolerant mutual exclusion locks for shared memory systems
US5269017A (en) Type 1, 2 and 3 retry and checkpointing
US5095421A (en) Transaction processing facility within an operating system environment
US5664088A (en) Method for deadlock recovery using consistent global checkpoints
US7337444B2 (en) Method and apparatus for thread-safe handlers for checkpoints and restarts
US6697834B1 (en) Mutual exculsion system and method for restarting critical sections of code when preempted during a critical section
EP0457159B1 (en) Control method for preventing incorrect reset of common resource and multicomputer system executing the method
JPH07191944A (ja) 多重プロセッサによる多数の資源への命令におけるデッドロックを防止するためのシステムおよび方法
US5583992A (en) Computer network system for detecting global deadlock
CA2165493A1 (en) Method and apparatus for crash safe enforcement of mutually exclusive access to shared resources in a multitasking computer system
US7171581B2 (en) Fault-tolerant match-and-set locking mechanism for multiprocessor systems
EP0365728B1 (en) Resource access for a multiprocessing computer system
US10372682B2 (en) Maintaining data integrity
JPH04116762A (ja) スピン・ロック制御方式
JP2850863B2 (ja) 排他制御装置
US8108865B2 (en) Process replication method and system
JPH0485632A (ja) デッドロック回避方式
JPH07319716A (ja) 計算機システムの資源の排他制御方式
JPS6191729A (ja) 排他エラ−通知先選択方式
JPH0355656A (ja) スピン・ロック制御方式
JP2972792B2 (ja) マルチ機能付きコンピュータシステム
JPH01286070A (ja) データ処理システム
JP2001256065A (ja) 排他制御方法及び計算機システム
JPH04209063A (ja) スピンロック制御方式