JPH04127261A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム

Info

Publication number
JPH04127261A
JPH04127261A JP24848090A JP24848090A JPH04127261A JP H04127261 A JPH04127261 A JP H04127261A JP 24848090 A JP24848090 A JP 24848090A JP 24848090 A JP24848090 A JP 24848090A JP H04127261 A JPH04127261 A JP H04127261A
Authority
JP
Japan
Prior art keywords
processor
shared resource
semaphore
variable
multiprocessor system
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
JP24848090A
Other languages
English (en)
Inventor
Yoshiki Yamazaki
義樹 山崎
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 JP24848090A priority Critical patent/JPH04127261A/ja
Publication of JPH04127261A publication Critical patent/JPH04127261A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概  要〕 共有資源の排他制御を行うマルチプロセッサシステムに
関し、 共通メモリに記憶するセマフォ変数を用いて共有資源の
排他制御を行うマルチプロセッサシステムにおいて、デ
ッド・ロック状態を検出して障害発生のプロセッサを識
別できるようにすることを目的とし、 該セマフォ変数に加えて各プロセッサの順序番号と識別
番号とを記憶するセマフォ領域を該共通メモリに設け、
各プロセッサが、該共有資源の使用要求時に該セマフォ
変数を読んで該共有資源が使用中でなければ使用中とし
該セマフォ領域に該プロセッサの順序番号と識別番号と
を書き込んで処理を行い、処理後は該セマフォ変数を解
除して該順序番号を更新すると共に、該セマフォ変数を
読んで該共有資源が使用中であるときには該順序番号及
び該識別番号を読み、両番号が一定期間中同じであれば
該識別番号のプロセッサが障害状態にあると判定して所
定の障害処理を行うように構成する。
〔産業上の利用分野〕
本発明は、マルチプロセッサシステムに関し、特に共有
資源の排他制御を行うマルチプロセッサシステムに関す
るものである。
近年、情報処理量の増大に伴って1つのプロセッサ(C
PU)で全体を処理する代わりに、複数のプロセッサで
分担して処理するマルチプロセッサシステムが用いられ
ているが、この場合、複数のプロセッサが共有資源とし
ての例えばプリンタに同時印字を行うと、用紙上で文字
が混在してしまう。
これを防止するため、実際には1つのプロセッサが共有
資源を排他的に確保できるようにする必要がある。
[従来の技術〕 第6図は、従来のマルチプロセッサシステムを概略的に
示したもので、図中、10゜〜10、は共通バスBに接
続されたn+1個のプロセッサ(CPU#0〜#n)で
マルチプロセッサを構成しており、20はこれらマルチ
プロセッサの共通メモリ、そして3゜〜3.はm+1個
の各種共有資源(ディスク装置、プリンタ、I10装置
等)であり、以下総称して3で示す。
このようなマルチプロセッサシステムにおいては、共有
資−83を排他的に使用させるため、共通メモリ20に
セマフォ変数の領域21を設け、次のような制御を行っ
ている。
■共通メモリ20のセマフォ変数Aが0″のときは共有
資源3が未使用、′1”のときが使用中を示していると
したと、共有資源3の使用要求を行うプロセッサは、セ
マフォ変数Aを読んで共有資源3が使用中か否かを判定
する。
■その結果、未使用(A=O)であるなら、A=1にセ
ットして他のプロセッサの使用を禁止し、当該共有資源
3の使用権を確保する。
■当該共有資源3の使用が終了したときには、A=0と
して使用中を解除し、他のプロセッサに対して使用権を
開放する。
〔発明が解決しようとした課題〕
このような従来例の場合には、共有資源の使用権を確保
したプロセッサがソフトウェア・バグ等の障害により誤
動作した場合には、その共有資源3は他のプロセッサが
永久に使用できなくなってしまうデッド・ロック状態を
呈し、1つのプロセッサの障害がマルチプロセッサシス
テム全体の障害を引き起こす危険性がある。
しかしながら、このような障害状態が発生しても、他の
プロセッサにとっては障害状態か否か、またどのプロセ
ッサに障害が発生しているのか不明であり、障害に対処
できないという問題点があった。
従って、本発明は、共通メモリに記憶するセマフォ変数
を用いて共有資源の排他制御を行うマルチプロセッサシ
ステムにおいて、上記のようなデッド・ロック状態を検
出して障害発生のプロセッサを識別できるようにするこ
とを目的とした。
〔課題を解決するための手段及び作用〕第1図は、上記
の課題を解決するための本発明に係るマルチプロセッサ
システムの構成を原理的に示したもので、本発明では、
セマフォ変数Aに加えて各プロセッサ1゜〜1ゎを総称
して示すマルチプロセッサ1の各々の順序番号Bと識別
番号Cとを記憶するセマフォ領域4を共通メモリ2に設
けている。
そして、各プロセッサ1は、第2図のフローチャートに
示すように、共有資源3の使用要求時にセマフォ変数A
を読み(第2図のステップS1)、共有資源3が使用中
か否かを判定しく同S2)、使用中でなければ使用中と
し、セマフォ領域4に該プロセッサ1の順序番号Bと識
別番号Cとを書き込んで(同S3)処理を行い(同S4
)、処理後はセマフォ変数Aを解除(同S5)して順序
番号Bを更新する(同S6)。
一方、セマフォ変数Aを続んで該共有責a3が使用中で
あるときには順序番号B及び識別番号Cを読み、両番号
が一定期間中同じであれば(同S7)、識別番号Cのプ
ロセッサが障害状態にあると判定して所定の障害処理を
行う(同S8)ようにしている。
このようにして、本発明では、共有資源3を使用してい
るプロセッサが長い間両しものであるときには、そのプ
ロセッサに何らかの障害が発生しているものと判定する
ことができ、所定の障害処理を行うことができることに
なる。
また、本発明では、プロセッサlの内、保守用プロセッ
サのみが、共有資源3の使用要求時に該セマフォ変数A
を読んで共有資源3が使用中であれば所定の障害処理を
行うようにしてもよい。
更に、本発明では、プロセッサ1の内、保守用プロセッ
サ以外のプロセッサにおいては、共有資源3の使用要求
時にセマフォ変数Aを読んで共有資源3が使用中であれ
ば所定の障害処理を行わずに共有資源3が使用中でな(
なるまで待機するようにしてもよい。
〔実 施 例〕
第3図は、第1図に示した本発明に係るマルチプロセッ
サシステムにおける各プロセッサのプログラム動作の実
施例を示したフローチャート図であり、第2図と同じ符
号のステップ31〜S6は同し処理工程を示している。
そして、この実施例では、ステップSlでセマフォ変数
Aを共通メモリ2のセマフォ領域4から読み出す前に、
ステップSOにおいて共有資源3の使用要求が成るプロ
セッサ1から発生されたとき、そのプロセッサ1におい
て制御変数CNTを1に初期化する。これは、例えばカ
ウンタ(リトライカウンタ)を°゛l″にすることによ
って行われる。
そして、セマフォ変数Aが0”で別のプロセッサが共有
資源3を使用していなかったことがステップS2で判明
したときには、第2図の場合と同様にしてステップ33
〜S6が実行されるが、セマフォ変数Aが゛】”で別の
プロセッサが共有資#3を使用していることがステップ
S2で判明したときには、第2図のステップS7に対応
する以下のステップS71〜S75が実行される。
即ち、まず、順序番号Bと識別番号Cとをセマフォ領域
4からプロセッサが読み込み、前回に読み込んだB、C
の値と比較する(同571)。
この結果、一致したときには、前回のアクセス時と同し
プロセッサが共有資源3を使用しているので、上記の制
御変数CNTを例えば“1”だけインクリメントする(
同572)、そして、このインクリメントした結果の制
御変数CNTO値が一定時間(この場合は一定回数)を
示すリトライアウト時間Rと比較する(同373)。
その結果、CNTSRと判明したときには、タイマセッ
トを行い(同575)、ステップs1に戻る。
また、順序番号Bと識別番号Cとをセマフォ領域4から
プロセッサが読み込み、前回に読み込んだB、Cの値と
比較して(同571)一致しなかったときには、前回の
アクセス時とは別のプロセッサ、若しくは前回アクセス
時と同一のプロセッサーが別の処理において共有資源3
を使用しているので、単に自局のアクセス・タイミング
が悪かったとして制御変数CNTを1”に初期化してタ
イマセットしステップS1に進む。
このようなルーチンを何回か繰り返したときにステップ
S71と372を常に経由してステップ373に到り、
しかもリトライアウト時間R<CNTとなったときには
、成るプロセッサがこのリトライアウト時間Rの間ずっ
と共有資源3を占有していたことになるので、そのプロ
セッサは障害が発生していると判断し、ステップS9で
障害処理を実行する。尚、全ての処理において、共有資
源をアクセスする際、その占有時間を一定以下にする必
要がある。また、この障害処理例としては、該当共有資
源を強制的に開放し、該当プロセッサを閉塞させる等が
挙げられる。
第4図は、第3図に示した各プロセッサに共通の処理の
内、障害状態を発見して対処させるのを容易にするため
、成る特定のプロセッサを保守用に予め決めておき、そ
のプロセッサのみが実行するプログラムを示したもので
、それぞれのステップは第3図に示したものと同じであ
るが、第3図と異なるのは、共有vt#非使用中の判定
(ステップS2)後は制御変数CNTを初期化する(同
574)ことである。
第5図は、第3図に示した各プロセッサに共通の処理の
内、第4図の保守用プロセッサ以外のプロセッサが実行
するプログラムを示したもので、それぞれのステップは
第3図に示したものと同しであるが、第3図と異なるの
は、共有tfi使用中の判定(ステップS2)後は一定
時間待m<同510)してからステップS1に戻る点で
ある。
〔発明の効果〕
以上のように本発明に係るマルチプロセッサシステムに
よれば、セマフォ変数に加えて各プロセッサの順序番号
と識別番号とを別途共通メモリに記憶させ、各プロセッ
サが、共有資源の使用要求時に共有資源が同しプロセッ
サの同し処理によって成る期間中占有されている場合ζ
こはその識別番号のプロセッサが障害状態にあると判定
して所定の障害処理を行うように構成したので、個々の
プロセッサの誤動作に基づくデンドロツタ状態を発見し
て対処することができ、システム全体の信幀性が大きく
向上することとなる。
【図面の簡単な説明】
第1図は、本発明に係るマルチプロセッサシステムの原
理構成ブロック図、 第2図は、本発明に係るマルチプロセ・7サシステムの
動作を原理的に説明するためのフローチャート図、 第3図は、本発明に係るマルチプロセッサシステムにお
ける各プロセッサの動作実施例を示したフローチャート
図、 第4図は、本発明に係るマルチプロセッサシステムにお
ける保守用プロセッサの動作実施例を示したフローチャ
ート図、 第5図は、本発明に係るマルチプロセッサシステムにお
ける非保守用プロセッサの動作実施例を示したフローチ
ャート図、 第6図は、従来例を示す図、である。 第1図において、 1 (1゜〜1、)・・・プロセッサ、2・・・共通メ
モリ、 3(3゜〜31)・・・共有資源、 4・・・セマフォ領域、 A・・・セマフォ変数、 B・・・順序番号、 C・・・識別番号。 図中、同一符号は同−又は相当部分を示す。

Claims (3)

    【特許請求の範囲】
  1. (1)共通メモリ(2)に記憶するセマフォ変数(A)
    を用いて共有資源(3)の排他制御を行うマルチプロセ
    ッサシステムにおいて、 該セマフォ変数に加えて各プロセッサ(1)の順序番号
    (B)と識別番号(C)とを記憶するセマフォ領域(4
    )を該共通メモリ(2)に設け、 各プロセッサ(1)が、該共有資源(3)の使用要求時
    に該セマフォ変数(A)を読んで該共有資源(3)が使
    用中でなければ使用中とし該セマフォ領域(4)に該プ
    ロセッサ(1)の順序番号(B)と識別番号(C)とを
    書き込んで処理を行い、処理後は該セマフォ変数(A)
    を解除して該順序番号(B)を更新すると共に、該セマ
    フォ変数(A)を読んで該共有資源(3)が使用中であ
    るときには該順序番号(B)及び該識別番号(C)を読
    み、両番号が一定期間中同じであれば該識別番号(C)
    のプロセッサが障害状態にあると判定して所定の障害処
    理を行うことを特徴としたマルチプロセッサシステム。
  2. (2)該プロセッサ(1)の内、保守用プロセッサのみ
    が、該共有資源(3)の使用要求時に該セマフォ変数(
    A)を読んで該共有資源(3)が使用中であれば該所定
    の障害処理を行うことを特徴とした請求項1に記載のマ
    ルチプロセッサシステム。
  3. (3)該プロセッサ(1)の内、保守用プロセッサ以外
    のプロセッサにおいては、該共有資源(3)の使用要求
    時に該セマフォ変数(A)を読んで該共有資源(3)が
    使用中であれば該所定の障害処理を行わずに該共有資源
    (3)が使用中でなくなるまで待機することを特徴とし
    た請求項1又は2に記載のマルチプロセッサシステム。
JP24848090A 1990-09-18 1990-09-18 マルチプロセッサシステム Pending JPH04127261A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24848090A JPH04127261A (ja) 1990-09-18 1990-09-18 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24848090A JPH04127261A (ja) 1990-09-18 1990-09-18 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JPH04127261A true JPH04127261A (ja) 1992-04-28

Family

ID=17178783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24848090A Pending JPH04127261A (ja) 1990-09-18 1990-09-18 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JPH04127261A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301658A (ja) * 1993-04-14 1994-10-28 Nec Corp 疎結合電子計算機システムのリカバリ方式
WO2000042510A1 (fr) * 1999-01-13 2000-07-20 Fujitsu Limited Procede et appareil de commande exclusive d'informations electroniques et supports d'enregistrement de programme de commande exclusive
US7921250B2 (en) * 2004-07-29 2011-04-05 International Business Machines Corporation Method to switch the lock-bits combination used to lock a page table entry upon receiving system reset exceptions
US9253046B2 (en) 1998-09-10 2016-02-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
WO2016098142A1 (ja) * 2014-12-18 2016-06-23 三菱電機株式会社 産業コントローラおよび産業コントローラシステム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301658A (ja) * 1993-04-14 1994-10-28 Nec Corp 疎結合電子計算機システムのリカバリ方式
US9253046B2 (en) 1998-09-10 2016-02-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US9565013B2 (en) 1998-09-10 2017-02-07 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US9860315B2 (en) 1998-09-10 2018-01-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
WO2000042510A1 (fr) * 1999-01-13 2000-07-20 Fujitsu Limited Procede et appareil de commande exclusive d'informations electroniques et supports d'enregistrement de programme de commande exclusive
US7117492B2 (en) 1999-01-13 2006-10-03 Fujitsu Limited Exclusive access controlling apparatus, exclusive access controlling method and recording medium recorded with exclusive access controlling program, for electronic information
US10491675B2 (en) 2001-10-01 2019-11-26 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US7921250B2 (en) * 2004-07-29 2011-04-05 International Business Machines Corporation Method to switch the lock-bits combination used to lock a page table entry upon receiving system reset exceptions
WO2016098142A1 (ja) * 2014-12-18 2016-06-23 三菱電機株式会社 産業コントローラおよび産業コントローラシステム

Similar Documents

Publication Publication Date Title
US5895494A (en) Method of executing perform locked operation instructions for supporting recovery of data consistency if lost due to processor failure, and a method of recovering the data consistency after processor failure
US5136714A (en) Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system
EP0365728B1 (en) Resource access for a multiprocessing computer system
KR102254159B1 (ko) 운영체제 커널 메모리의 실시간 오류 검출 방법
US7124224B2 (en) Method and apparatus for shared resource management in a multiprocessing system
US7216252B1 (en) Method and apparatus for machine check abort handling in a multiprocessing system
JPH04127261A (ja) マルチプロセッサシステム
JPH04361340A (ja) メモリ排他制御方式
US6823498B2 (en) Masterless building block binding to partitions
JP2587468B2 (ja) ロツクデータ設定装置
JP3130798B2 (ja) バス転送装置
JP2547329B2 (ja) ロツクデータ設定装置
JPS63101948A (ja) デ−タ処理装置
JPH01279346A (ja) オンラインメモリチェック方式
JP2825589B2 (ja) バス制御方式
JPH03116261A (ja) マルチプロセッサ制御方式
JPH03232051A (ja) セマフォアクセス制御方法
CN118174980A (zh) 一种报文处理方法、装置、电子设备、存储介质及车辆
JPH0610795B2 (ja) 共有メモリの診断方式
JPH044441A (ja) メモリ排他制御方式
JPH0460848A (ja) データ処理装置
JPS6143739B2 (ja)
JP2006244285A (ja) 共有ディスクアレイ装置
JPH0467226B2 (ja)
JPH0424863A (ja) 情報処理システム