JPH06348661A - マルチプロセッサ間排他制御方式 - Google Patents

マルチプロセッサ間排他制御方式

Info

Publication number
JPH06348661A
JPH06348661A JP5140404A JP14040493A JPH06348661A JP H06348661 A JPH06348661 A JP H06348661A JP 5140404 A JP5140404 A JP 5140404A JP 14040493 A JP14040493 A JP 14040493A JP H06348661 A JPH06348661 A JP H06348661A
Authority
JP
Japan
Prior art keywords
exclusive
execution unit
exclusive control
processing execution
processing
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
JP5140404A
Other languages
English (en)
Other versions
JP3255759B2 (ja
Inventor
Yutaka Haga
豊 芳賀
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 JP14040493A priority Critical patent/JP3255759B2/ja
Priority to US08/214,308 priority patent/US5630134A/en
Publication of JPH06348661A publication Critical patent/JPH06348661A/ja
Application granted granted Critical
Publication of JP3255759B2 publication Critical patent/JP3255759B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 複数のプロセッサを有するマルチプロセッサ
システムにおける処理の実行単位間の排他制御方式に関
し、マルチプロセッサ間での排他制御情報の競合を最低
限に低減して、排他制御を高速に実施することを可能と
し、同時にプロセッサ故障時のリカバリ処理を容易とす
ることを目的とする。 【構成】 マルチプロセッサシステム内の処理実行単位
群を複数の任意グループに分割して管理し、処理実行単
位によって発せられる排他要求を該各処理実行単位グル
ープについて、該処理実行単位グループでのみアクセス
される前記固有または共用のメモリに対して個々の排他
要求を管理する局所排他制御情報域と、該各処理実行単
位グループ間で共用されるメモリに対して処理実行グル
ープ単位に排他要求を管理する共通排他制御情報域2と
を具備し、前記局所排他制御情報域および前記共通排他
制御情報域2に分割して管理するように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマルチプロセッサ間排他
制御方式に関し、特に、複数のプロセッサを有するマル
チプロセッサシステムにおける処理の実行単位(プロセ
ッサを含む)間の排他制御方式に関する。近年、コンピ
ュータシステムは、処理性能の高速化の要求に伴って、
単一のプロセッサで構成する代わりに、複数のプロセッ
サで構成して処理性能を向上させる手法が採られてい
る。このようなマルチプロセッサシステムでは、プロセ
ッサを跨がる処理実行単位で資源を共用して処理した
り、或いは、実行される処理手続きを他の処理実行単位
と排他的に実行するための排他制御を必要としており、
この排他制御を高速に実行する排他制御機構が要望され
ている。さらに、近年のコンピュータシステムの高信頼
化の要求(故障耐性の要求)から、たとえ、特定のプロ
セッサが故障した場合でも、他プロセッサでの処理の継
続を可能とする排他制御機構が要望されている。
【0002】
【従来の技術】従来、処理性能を高速化することのでき
るコンピュータシステムとして、マルチプロセッサシス
テムが知られている。このような、マルチプロセッサシ
ステムにおける処理の実行単位間の排他処理は、すなわ
ち、複数のプロセッサと,各プロセッサに固有なメモリ
および各プロセッサで共用されるメモリ,または,各プ
ロセッサで共用されるメモリのみで構成されたマルチプ
ロセッサシステムにおける処理の実行単位間の排他処理
は、例えば、コンピュータシステム内の排他要求を集中
的に管理して処理するサーバプロセスを用いて制御する
ようになっている。
【0003】そして、処理実行単位から発せられる排他
要求を一元的に管理する排他制御サーバや、スピンロッ
クの手法による単純な排他制御機構が提供されている
が、排他制御サーバによるマルチプロセッサ間排他制御
方式は、排他要求を発する処理実行単位とサーバ間の通
信オーバヘッドが定常的に発生するため、或いは、排他
要求情報をサーバが蓄積して一元的に管理するため、排
他要求元の処理実行単位の終了に伴って該処理実行単位
の排他要求情報を回収したり、サーバ自身の異常終了に
備えて多量の排他要求情報を不揮発化または二重化する
必要がある。
【0004】また、従来、他の方法としてスピンロック
の手法が用いられており、この手法では、各プロセッサ
からアクセス可能な共用メモリ上にロックワードを設
け、各々の処理実行単位が排他を獲得する場合は、該ロ
ックワードに排他獲得中の標識を設定し、排他を解放す
る場合は該標識を解除する一連の手順の取決めによって
処理実行単位間の排他制御を実現している。尚、通常こ
のロックワードの更新には、後述するロックワードの内
容と指定する値との比較および他に指定する値での更新
を不可分に実行する命令が用いられる。
【0005】
【発明が解決しようとしている課題】上述した排他制御
サーバプロセスは、システム内の排他要求を一元的に管
理するため、排他要求元である処理実行単位と排他制御
サーバプロセスがプロセッサを跨がって通信を行う必要
性を生じ、これに伴う通信オーバヘッドにより性能の低
下を来すことになる。また、排他要求情報を該サーバプ
ロセスが蓄積して管理しているため、排他要求元の処理
実行単位の終了や排他要求元の処理実行単位が存在する
プロセッサの故障に伴う排他要求の回収機構を必要と
し、さらに、サーバプロセス自身の異常、サーバプロセ
スが存在するプロセッサの故障に備えて、多量の排他要
求情報を不揮発化、或いは、二重化した上で待機サーバ
プロセスで処理を継続するように構成する必要がある。
【0006】また、従来、スピンロックの手法による排
他制御も知られているが、該スピンロックの手法による
排他制御は、要求の競合が多く発生する場合において、
処理装置の処理性能を著しく低下させることになる。す
なわち、スピンロックの手法による排他制御方式では、
ロックワードに対してある処理実行単位が排他獲得中の
標識を設定している間、他の処理実行単位は、自身で排
他獲得中の標識の設定に成功するまで、繰り返しロック
ワードの更新処理を試みる。この間、プロセッサモジュ
ールのCPU資源が無駄に消費され、これにより処理性
能の低下を引き起こす問題点、さらに、プロセッサと共
用メモリがバスで結合されたシステムにおいては、該ロ
ックワードの更新に用いられる前述の命令の実行がバス
を排他的に占有して他のプロセッサによるバスの使用を
妨げる等のバスの使用効率の低下を招くという解決すべ
き課題があった。
【0007】本発明は、上述した従来のマルチプロセッ
サ間排他制御方式が有する課題に鑑み、マルチプロセッ
サ間での排他制御情報の競合を最低限に低減して、排他
制御を高速に実施することを可能とし、同時にプロセッ
サ故障時のリカバリ処理を容易とすることができるマル
チプロセッサ間排他制御方式の提供を主たる目的とす
る。さらに、本発明の他の目的は、プロセッサの故障に
際しても、他プロセッサでの処理の継続を可能とし、コ
ンピュータシステムの実行性能および高信頼化を向上さ
せることのできるマルチプロセッサ間排他制御方式の提
供にある。
【0008】
【課題を解決するための手段】本発明によれば、複数の
プロセッサPMと、該各プロセッサPMに固有なメモリ
および該各プロセッサで共用されるメモリ, または, 該
各プロセッサで共用されるメモリとを備えたマルチプロ
セッサシステムにおいて、前記各プロセッサPMによっ
て実行される処理実行単位により処理される資源または
命令手続きを前記マルチプロセッサシステムのプロセッ
サ群PMで実行される他の処理実行単位群の処理と排他
的に処理するマルチプロセッサ間排他制御方式であっ
て、前記マルチプロセッサシステム内の処理実行単位群
を複数の任意グループに分割して管理し、処理実行単位
によって発せられる排他要求を該各処理実行単位グルー
プについて、該処理実行単位グループでのみアクセスさ
れる前記固有または共用のメモリに対して個々の排他要
求を管理する局所排他制御情報域1と、該各処理実行単
位グループ間で共用されるメモリに対して前記処理実行
グループ単位に排他要求を管理する共通排他制御情報域
2とを具備し、前記局所排他制御情報域1および前記共
通排他制御情報域2に分割して管理することにより、該
共通排他制御情報域2のアクセスを前記処理実行単位グ
ループ単位の排他要求に低減して排他処理を高速に実行
するようにしたことを特徴とするマルチプロセッサ間排
他制御方式が提供される。
【0009】
【作用】本発明のマルチプロセッサ間排他制御方式にお
いては、各プロセッサPMによって実行される処理実行
単位により処理される資源または命令手続きは、マルチ
プロセッサシステムのプロセッサ群PMで実行される他
の処理実行単位群の処理と排他的に処理される。また、
局所排他制御情報域1により、マルチプロセッサシステ
ム内の処理実行単位群は、複数の任意グループに分割し
て管理され、さらに、処理実行単位によって発せられる
排他要求は、各処理実行単位グループについて、処理実
行単位グループでのみアクセスされる固有または共用の
メモリに対して個々の排他要求が管理される。さらに、
共通排他制御情報域2により、各処理実行単位グループ
間で共用されるメモリに対して処理実行グループ単位に
排他要求が管理される。
【0010】そして、本発明のマルチプロセッサ間排他
制御方式は、局所排他制御情報域1および共通排他制御
情報域2を分割して管理することにより、共通排他制御
情報域2のアクセスを処理実行単位グループ単位の排他
要求に低減して排他処理を高速に実行するようになって
いる。
【0011】
【実施例】以下、図面を参照して本発明に係るマルチプ
ロセッサ間排他制御方式を説明する。図1および図2は
本発明に係るマルチプロセッサ間排他制御方式の原理を
説明するための図である。図1および図2において、参
照符号100,200,300,400,500は処理実行単位群をグルー
プ化して管理する第1グループ、111 は処理実行単位群
をグループ化して管理する第1グループの1番目のグル
ープに属する処理実行単位群の排他要求を管理する排他
制御情報域、112 は第1グループの2番目のグループに
属する処理実行単位群の排他要求を管理する排他制御情
報域であり、それぞれ各グループ内でのみアクセスされ
る固有メモリもしくは共用メモリ上に配置する。
【0012】また、図1および図2において、参照符号
121 は第1グループを更にグループ化して管理する第2
グループの1番目のグループ1000に属する第1グループ
単位の排他要求を管理する排他制御情報域、122 は第2
のグループの2番目のグループ2000に属する第1グルー
プ単位に排他要求を管理する排他制御情報域であり、そ
れぞれ各グループ内でのみアクセスされる固有メモリも
しくは共用メモリ上に配置する。103 は第2グループ単
位に排他要求を管理する排他制御情報域である。本説明
図では、処理実行単位をグループ化して管理する第1の
グループと第1のグループ群を更にグループ化して管理
する第2のグループを設定して処理を行う場合について
図示しているが、第2グループ以上のグループの設定は
任意である。
【0013】各排他制御情報域は、該排他制御情報域で
管理する処理実行単位もしくは下位グループのいずれが
排他を獲得しているかを示す排他獲得中標識および排他
要求を送出している排他要求単位を示す待ち管理情報を
有している。具体的に、図1に示されるように、排他制
御情報域111 における排他獲得中標識には排他獲得中の
処理実行単位が設定され、また、待ち管理情報には排
他要求中の処理実行単位およびが設定されている。
さらに、排他制御情報域112 における待ち管理情報には
排他要求中の処理実行単位, およびが設定されて
いる。
【0014】各グループでの排他要求単位の管理には、
要求順番に従って排他権限を割り当てるか、或いは、ラ
ンダムに選出して排他権限を割り当てる等にすることに
よって、任意のスケジュール論理を使用することができ
る。また、待ち管理情報の構成をキュー構造やビットマ
ップ管理表等で構成することもできる。図1および図2
に示されるように、本発明のマルチプロセッサ間排他制
御方式の原理は、処理実行単位をツリー状の階層的管理
体系に体系化して管理すると共に、処理実行単位より発
せられる排他要求を前記管理体系に従って関連付けられ
る各排他要求制御情報域を用いて、ツリー状に管理する
ようになっている。そして、処理実行単位より排他要求
が発せられると最下位レベルの排他制御情報域から順に
辿り、待ち管理情報が該レベルの排他制御情報域で一つ
も管理されていない場合にのみ、次の上位レベルの排他
制御情報域にアクセスするようにして、最終的に最上位
レベルの排他制御情報域をアクセスして排他権限の獲得
を行うようになっている。また、排他権限を解放して他
の処理実行単位に権限を割り当てる場合は、最上位レベ
ルの排他制御情報域から順に辿って、排他制御情報域に
管理される排他制御情報によって排他権限を割り当てる
下位グループを選出し、最終的に排他権限を割り当てる
処理実行単位を選出するようになっている。
【0015】図3および図4は本発明が適用されるマル
チプロセッサシステムの一例の構成を示すブロック図で
ある。同図において、プロセッサモジュールPMは、2
つだけ描かれているが、実際には2つに限定されず複数
個設けられている。ここで、図3および図4に示すマル
チプロセッサシステムは、各々がプロセッサと固有メモ
リで構成される複数のプロセッサモジュール(PM)
と、各PMからアクセス可能で、且つ、各PM間で共用
されるメモリを持つように構成されている。また、BS
1は第1のバスを示し、BS2は第2のバスを示してい
る。
【0016】図3および図4において、参照符号1は各
PMの固有メモリ上に構成される局所排他制御情報域、
11は該PMが排他を獲得しているか否かおよびいずれの
プロセス(処理実行単位)が排他を獲得しているかを示
す排他獲得中標識、12は排他権限が獲得できないために
待ち状態にあるプロセス群を管理するための待ちプロセ
ス管理キューポインタ、13は個々の待ちプロセスを管理
するための待ちプロセス管理制御表を示している。ま
た、参照符号2は共用メモリ上に構成される共通排他制
御情報域、21は排他権限を獲得しているPMを特定する
標識、22は排他権限が委譲される委譲先PMを特定する
標識、23は排他獲得要求を行っている待ちPMを特定す
る標識を示している。さらに、参照符号3は待ち管理機
構、4は排他権限獲得機構、5は排他権限解放機構、6
は待ち解除機構、7はダウンリカバリ機構である。
【0017】次に、図3および図4に示すマルチプロセ
ッサシステムにおける各構成部の処理を説明する。図5
は図3および図4のマルチプロセッサシステムにおける
局所排他制御情報域1の構成例を示す図であり、図6は
図3および図4のマルチプロセッサシステムにおける共
通排他制御情報域2の構成例を示す図である。
【0018】本構成例は、図6に示されるように、共通
排他制御情報域は、1ワード(4バイト)で構成され、
最大16個のPM間での排他制御が可能となっている。
また、共通排他制御情報域の更新には、1ワードの領域
の内容をその内容と指定した値とで比較し、一致した場
合に、他の指定した値で更新する一連の処理を不可分に
実施できるコンペアスワップ命令(CS命令)を使用し
て少ない命令ステップで処理を実現するようになってい
る。
【0019】図7は図3および図4のマルチプロセッサ
システムに適用される排他権限獲得処理に関する待ち管
理機構3の構成例を示す図であり、図8は図3および図
4のマルチプロセッサシステムにおける排他権限獲得機
構4の構成例を示す図である。ここで、図8におけるス
テップ82,85 はCS命令(コンペアスワップ命令)によ
る処理を示している。
【0020】図7に示されるように、各プロセスからの
排他獲得要求は待ち管理機構3が受け取り、局所排他制
御情報域1の待ちプロセス管理キュー12を検査する。ま
ず、排他権限獲得処理の待ち管理機構3において、ステ
ップ71で排他獲得中プロセス制御表↑=0、且つ、待ち
プロセス数=0かどうかが判別され、排他獲得中プロセ
ス制御表↑=0で待ちプロセスが一つも存在しない(ス
テップ71でyesの場合)ならば、ステップ73に進ん
で、排他権限獲得機構4に排他権限獲得の要求を送出す
る。そして、他の場合(ステップ71でnoの場合) に
は、ステップ72に進んで、要求元プロセスの実行を中断
させ、該プロセスを管理する待ちプロセス管理制御表13
を作成して待ちプロセス管理キューにエンキューする。
このステップ72を実行し終わると、他のプロセスのサー
ビスを開始することになる。
【0021】さらに、ステップ73の処理を終えると、ス
テップ74に進んで、排他権限が獲得できたかどうかが判
別される。ステップ74で排他権限が獲得できたと判別さ
れると、ステップ75に進んで排他獲得中プロセス制御表
↑を設定し、要求元プロセスに復帰する。また、ステッ
プ74で排他権限が獲得できないと判別されるとステップ
72に進んで、上述した処理を実行する。
【0022】次に、図8に示す排他権限獲得機構4にお
いて、ステップ81で獲得中PM=0かどうかが判別さ
れ、排他権限獲得機構4が共通排他制御情報域2をアク
セスして獲得中PM標識21が0である場合(ステップ81
でyesの場合)は、ステップ82に進んで当該PMを識
別するPM番号(0以外)を設定し、さらに、ステップ
83に進む。一方、獲得中PM標識21が0でない場合(ス
テップ81でnoの場合)は、ステップ85に進んで当該P
Mを識別する待ちPM標識23を設定し、さらに、ステッ
プ86に進む。ステップ83では、獲得中PMの設定に成功
したかどうかが判別され、成功したと判別されるとステ
ップ84に進んで、排他権限獲得を待ち管理機構3へ返答
する。また、ステップ83で、獲得中PMの設定に成功し
ていないと判別されるとステップ81に戻ることになる。
一方、ステップ86では、待ち管理ビットの設定に成功し
たかどうかが判別され、成功したと判別されるとステッ
プ87に進んで、待ち状態への遷移を待ち管理機構3へ返
答する。
【0023】上述したように、排他権限獲得機構4は、
処理結果を待ち管理機構3に通知し、待ち管理機構3
は、排他権限が獲得できた場合、局所排他制御情報域1
の排他獲得中標識11を設定して要求元プロセスに制御を
戻すようになっている。また、排他権限獲得に失敗した
場合は、前述のとおり、要求元プロセスの実行を中断さ
せ、該プロセスを管理する待ちプロセス管理制御表13を
作成して待ちプロセス管理キューにエンキューするよう
になっている。
【0024】図9は図3および図4のマルチプロセッサ
システムに適用される排他権限解放処理に関する待ち管
理機構の構成例を示す図であり、また、図10は図3お
よび図4のマルチプロセッサシステムにおける排他権限
解放機構の構成例を示す図である。ここで、図10にお
けるステップ105,107,110 はCS命令による処理を示し
ている。
【0025】図9に示されるように、各プロセスからの
排他解放要求は待ち管理機構3が受け取り、局所排他制
御情報域1の排他獲得中標識11を検査する。まず、排他
権限解放処理の待ち管理機構3において、ステップ91で
排他獲得中プロセス制御表↑=要求元プロセス制御表↑
かどうかが判別され、排他獲得中のプロセスからの正し
い要求であると判別された場合(yesの場合)には、
ステップ92に進んで排他権限解放機構5に排他権限解放
要求を送出し、ステップ93に進む。また、ステップ91で
排他獲得中のプロセスからの正しい要求ではないと判別
された場合(noの場合)には、ステップ96に進んで要
求元プロセスにエラー復帰する。
【0026】次に、ステップ93では、排他権限を解放ま
たは他PMに排他権限を委譲するかが判別され、ステッ
プ93で排他権限を解放または他PMに排他権限を委譲す
ると判別されると、ステップ97に進んで、排他獲得中プ
ロセス制御表↑をクリアして要求元プロセスに復帰す
る。一方、ステップ93で排他権限を解放または他PMに
排他権限を委譲しないと判別されると、ステップ94に進
んで、次待ちプロセスへの割り当てかどうかが判別され
る。
【0027】ステップ94において、次待ちプロセスへは
割り当てないと判別されると、ステップ98に進んで、排
他獲得中プロセス制御表↑をクリアして要求元プロセス
に復帰する。一方、ステップ94において、次待ちプロセ
スへ割り当てると判別されると、ステップ95に進んで、
待ちプロセス数の減算,待ちプロセス管理制御表のデキ
ュー,待ちプロセス管理制御表の解放,排他獲得中プロ
セス制御表↑の変更,待ちプロセスの実行の再開,およ
び,要求元プロセスへの復帰を行うことになる。
【0028】図10は図3および図4のマルチプロセッ
サシステムにおける排他権限解放機構の構成例を示す図
である。図10に示されるように、排他権限解放機構5
は、まず、ステップ101 において、自PM番号の次より
順に検査して待ちにあるPMを選出して、ステップ102
に進む。ステップ102 では、待ちPMがあるかどうかが
判別され、待ちPMがあると判別されると、ステップ10
3 に進んで、自PMを選出するかどうかが判別される。
ステップ103 で自PMを選出すると判別されると、ステ
ップ104 に進んで、自待ちプロセス数=1かどうかが判
別される。ステップ104 で、自待ちプロセス数=1であ
ると判別されると、ステップ105 に進んで、自待ちPM
管理ビットを解除して、ステップ106 に進む。そして、
ステップ106 で、次待ちプロセスへの割り当てを待ち管
理機構3へ返答する。
【0029】一方、ステップ102 で、待ちPMがないと
判別されると、ステップ107 に進んで、獲得中PMに0
を設定してステップ108 に進む。ステップ108 では、獲
得中PMの解除に成功したかどうかが判別され、獲得中
PMの解除に成功したと判別されると、ステップ109 で
排他権限の解放を待ち管理機構3へ返答し、また、ステ
ップ108 で獲得中PMの解除に成功しなかったと判別さ
れると、ステップ101に戻ることになる。次に、ステッ
プ103 において、自PMを選出しないと判別されると、
ステップ110 に進んで、委譲先PMに選出PM番号を設
定してステップ111 に進む。
【0030】ステップ111 では、委譲先PMの設定に成
功したかどうかが判別され、委譲先PMの設定に成功し
たと判別されると、ステップ112 に進んで選出PMに委
譲通知を送信し、さらに、ステップ113 に進んで排他権
限の委譲を待ち管理機構3へ返答する。また、ステップ
111 で、委譲先PMの設定に成功しなかったと判別され
ると、ステップ101 に戻ることになる。
【0031】すなわち、排他権限解放機構5は、共通排
他制御情報域2の待ちPM標識23を検査し、他PMが待
ち状態にある場合には、いずれかのPMを選出し、排他
権限委譲先PM標識22に該当PMを識別するPM番号を
設定し、該当PMの待ち解除機構6に排他権限の委譲を
通知する。選出PMが自PMである場合は、自PM内に
待ちプロセスが一つしかない場合において、自PMの待
ちPM標識22を解除する。待ちPMが存在しない場合
は、排他獲得中標識21を解除する。排他権限解放機構5
は、以上の処理結果を待ち管理機構3に返答する。待ち
管理機構3は、排他権限を他PMに委譲した場合および
排他権限を解放した場合には、局所排他制御情報域1の
排他獲得中標識11を解除し、要求元プロセスに制御を戻
す。その他の場合は、待ちプロセス管理キューより適切
なプロセスを選出し、排他権限を割り当てた上で該プロ
セスの実行を再開させ、待ちプロセス管理制御表13を解
放して要求元プロセスに制御を戻すことになる。
【0032】図11は図3および図4のマルチプロセッ
サシステムにおける待ち解除機構の構成例を示す図であ
る。ここで、図11において、ステップ122,125,129,13
2 はCS命令による処理を示している。図11に示され
るように、排他権限委譲通知は待ち解除機構6が受け取
り、該解除機構6において、まず、ステップ121 で委譲
元PMが獲得中PMに等しいかどうかが判別される。ス
テップ121 で委譲元PMが獲得中PMに等しくないと判
別されると、ステップ126 に進んで委譲通知を廃棄し、
また、委譲元PMが獲得中PMに等しいと判別される
と、ステップ122 に進んで獲得中PMに自PM番号を設
定すると共に、委譲先PMに0を設定して、ステップ12
3 に進む。ステップ123 では、自待ちプロセス数=0か
どうかが判別され、自待ちプロセス数≠0と判別される
と、ステップ124 に進んで自待ちプロセス数=1かどう
かが判別される。ステップ124 で自待ちプロセス数=1
と判別されると、ステップ125 に進んで自待ちPM管理
ビットを解除した後、また、自待ちプロセス数≠1と判
別されると、ステップ125 を飛ばして直接、待ち管理機
構3に適切なプロセスの再開を依頼する。
【0033】一方、ステップ123 において、自待ちプロ
セス数=0と判別されると、ステップ127 に進んで、自
PM番号の次より順に検査して、待ちにあるPMを選出
して、ステップ128 に進む。ステップ128 では、待ちP
Mがあるかどうかが判別され、待ちPMがあると判別さ
れると、ステップ129 に進んで委譲先PMに選出PM番
号を設定してステップ130 に進む。ステップ130 では、
委譲先PMの設定に成功したかどうかが判別され、委譲
先PMの設定に成功したと判別されると、ステップ131
に進んで選出PMに委譲通知を送信する。
【0034】そして、ステップ128 で、待ちPMがない
と判別されると、ステップ132 に進んで獲得中PMに0
を設定して、ステップ132 に進む。ステップ132 では、
獲得中PMの解除に成功したかどうかが判別され、獲得
中PMの解除に成功しなかったと判別されると、ステッ
プ127 に戻り、また、獲得中PMの解除に成功したと判
別されると、終了することになる。
【0035】すなわち、待ち解除機構6は、排他権限委
譲通知を受け取ると共通排他制御情報域2の委譲先PM
標識22を解除し、獲得中PM標識21に自PM番号を設定
することで、排他権限を獲得する。次に、自PM内に待
ちプロセスが一つしかない場合において、自PMの待ち
PM標識23を解除し、待ち管理機構3に、適切なプロセ
スの再開を依頼するようになっている。
【0036】図12は図3および図4のマルチプロセッ
サシステムに適用される待ち解除処理およびダウンリカ
バリ処理に関する待ち管理機構の構成例を示す図であ
る。同図に示されるように、図11の待ち解除機構6か
らの処理を受けて、待ち管理機構3では、待ちプロセス
数の減算,待ちプロセス管理制御表のデキュー,待ちプ
ロセス管理制御表の解放,排他獲得中のプロセス制御表
↑の変更,および,待ちプロセスの実行の再開を行うよ
うになっている。
【0037】図13および図14は図3および図4のマ
ルチプロセッサシステムにおけるダウンリカバリ機構の
構成例を示す図である。ここで、図13および14にお
いて、ステップ152,155,157,164,166,168 はCS命令に
よる処理を示している。図13および図14に示される
ように、PM故障通知はダウンリカバリ機構7が受け取
り、該ダウンリカバリ機構7において、まず、ステップ
151 で故障PM=獲得PMかどうかが判別される。ステ
ップ151 で、故障PM=獲得PMと判別されると、ステ
ップ152 に進んで、獲得中PMをリカバリ処理PMに変
更して故障PMの待ちPM管理ビットを消去して、ステ
ップ153 に進む。ステップ153 では、委譲先PM=0か
どうかが判別され、委譲先PM≠0と判別されると、ス
テップ156 に進んで委譲先PMに委譲通知を再送信す
る。また、ステップ153 では、委譲先PM=0かどうか
が判別され、委譲先PM=0と判別されると、ステップ
160 に進む。
【0038】一方、ステップ151 で、故障PM≠獲得P
Mと判別されると、ステップ154 に進んで、故障PM=
委譲先PMかどうかが判別される。ステップ154 におい
て、故障PM=委譲先PMと判別されると、ステップ15
5 に進んで、獲得中PMをリカバリ処理PMに変更し、
故障PMの待ちPM管理ビットを消去し、さらに、委譲
先PMに0を設定して、ステップ160 に進む。一方、ス
テップ154 で、故障PM≠委譲先PMと判別されると、
ステップ157 に進んで、故障PMの待ちPM管理ビット
を消去して、ステップ158 に進む。
【0039】ステップ158 では、委譲先PM=故障PM
かどうかが判別され、委譲先PM=故障PMと判別され
ると、ステップ155 に進み、また、委譲先PM≠故障P
Mと判別されると、ステップ159 に進む。ステップ159
では、CS命令に成功したかどうかが判別され、成功し
たと判別されると処理を終了し、成功しなかったと判別
されると、ステップ157 に戻ることになる。
【0040】ステップ160 では、故障PMの次から順に
検査して待ちにあるPMを選出し、ステップ161 に進ん
で、待ちPMがあるかどうかが判別される。ステップ16
1 で、待ちPMがあると判別されると、ステップ162 に
進んで、選出PM=リカバリ処理中PMかどうかが判別
される。ステップ162 で、選出PM=リカバリ処理中P
Mと判別されると、ステップ163 に進んで、自待ちプロ
セス数=1かどうかが判別される。ステップ163 で、自
待ちプロセス数=1と判別されると、ステップ164 で自
PMの待ちPM管理ビットを解除して、ステップ162 に
進む。また、ステップ163 で、自待ちプロセス数≠1と
判別されると、直接にステップ165 に進む。そして、ス
テップ165 において、待ちプロセスへの割当てを通知し
て、処理を待ち管理機構に戻す。
【0041】一方、ステップ161 において、待ちPMが
ないと判別されると、ステップ166に進み、獲得中PM
に0を設定して、ステップ167 に進む。ステップ167 で
は、獲得中PMの解除に成功したかどうかが判別され、
獲得中PMの解除に成功したと判別されると処理を終了
し、獲得中PMの解除に成功しなかったと判別されると
ステップ160 に戻ることになる。
【0042】また、ステップ162 において、選出PM≠
リカバリ処理中PMと判別されると、ステップ168 に進
んで、委譲先PMに選出PM番号を設定して、ステップ
169に進む。ステップ169 では、委譲先PMの設定に成
功したかどうかが判別され、委譲先PMの設定に成功し
たと判別されると、選出PMに対して委譲通知を送信す
る。そして、ステップ169 において、委譲先PMの設定
に成功しなかったと判別されると、ステップ160 に戻る
ことになる。
【0043】すなわち、故障した際には、そのPMの故
障を検出したPMにおいて、故障の通知を受け取り、共
通排他制御情報域2により故障したPMが排他権限獲得
中もしくは排他権限委譲先PMであることを検出した場
合には、他の待ちPMを選出して、該選出したPMに対
して再度排他権限の委譲処理を行う。また、故障したP
Mについて待ちPM標識23が設定されている場合には、
該標識を解除するようになっている。
【0044】上述したように、本実施例のマルチプロセ
ッサ間排他制御方式は、処理実行単位をグループ化し、
該処理実行単位グループに排他要求を管理する排他制御
情報と処理実行単位グループ単位に排他要求を管理する
排他制御情報とに分割し、それぞれ処理実行単位グルー
プでのみアクセスされる固有メモリもしくは共用メモリ
および処理実行単位グループ間で共用される共用される
メモリに分散して記憶する。これによって、プロセッサ
間の排他処理に要する共用メモリのアクセスを最小限に
止めて排他処理の実行性能を向上させることができ、ま
た、排他制御情報の分散化によって、プロセッサの故障
等におけるリカバリ処理と処理継続を容易とすることが
できる。
【0045】
【発明の効果】以上、詳述したように、本発明のマルチ
プロセッサ間排他制御方式によれば、マルチプロセッサ
間での排他制御情報の競合を最低限に低減して、排他制
御を高速に実施することを可能とし、同時にプロセッサ
故障時のリカバリ処理を容易とすることができる。さら
に、本発明のマルチプロセッサ間排他制御方式によれ
ば、プロセッサの故障に際しても、他プロセッサでの処
理の継続を可能とし、コンピュータシステムの実行性能
および高信頼化を向上させることができる。
【図面の簡単な説明】
【図1】本発明に係るマルチプロセッサ間排他制御方式
の原理を説明するための図(その1)である。
【図2】本発明に係るマルチプロセッサ間排他制御方式
の原理を説明するための図(その2)である。
【図3】本発明が適用されるマルチプロセッサシステム
の一例の構成を示すブロック図(その1)である。
【図4】本発明が適用されるマルチプロセッサシステム
の一例の構成を示すブロック図(その2)である。
【図5】図3および図4のマルチプロセッサシステムに
おける局所排他制御情報域の構成例を示す図である。
【図6】図3および図4のマルチプロセッサシステムに
おける共通排他制御情報域の構成例を示す図である。
【図7】図3および図4のマルチプロセッサシステムに
適用される排他権限獲得処理に関する待ち管理機構の構
成例を示す図である。
【図8】図3および図4のマルチプロセッサシステムに
おける排他権限獲得機構の構成例を示す図である。
【図9】図3および図4のマルチプロセッサシステムに
適用される排他権限解放処理に関する待ち管理機構の構
成例を示す図である。
【図10】図3および図4のマルチプロセッサシステム
における排他権限解放機構の構成例を示す図である。
【図11】図3および図4のマルチプロセッサシステム
における待ち解除機構の構成例を示す図である。
【図12】図3および図4のマルチプロセッサシステム
に適用される待ち解除処理およびダウンリカバリ処理に
関する待ち管理機構の構成例を示す図である。
【図13】図3および図4のマルチプロセッサシステム
におけるダウンリカバリ機構の構成例を示す図(その
1)である。
【図14】図3および図4のマルチプロセッサシステム
におけるダウンリカバリ機構の構成例を示す図(その
2)である。
【符号の説明】
1…局所排他制御情報域 11…待ちプロセス管理キュー 12…排他獲得中標識 13…待ちプロセス管理制御表 2…共通排他制御情報 21…獲得中PM標識 22…委譲先PM標識 23…待ちPM標識 3…待ち管理機構 4…排他権限獲得機構 5…排他権限解放機構 6…待ち解除機構 7…ダウンリカバリ機構 BS1…第1のバス BS2…第2のバス PM…プロセッサモジュール

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサ(PM)と、該各プロ
    セッサ(PM)に固有なメモリおよび該各プロセッサで
    共用されるメモリ, または, 該各プロセッサで共用され
    るメモリとを備えたマルチプロセッサシステムにおい
    て、前記各プロセッサ(PM)によって実行される処理
    実行単位により処理される資源または命令手続きを前記
    マルチプロセッサシステムのプロセッサ群(PM)で実
    行される他の処理実行単位群の処理と排他的に処理する
    マルチプロセッサ間排他制御方式であって、 前記マルチプロセッサシステム内の処理実行単位群を複
    数の任意グループに分割して管理し、処理実行単位によ
    って発せられる排他要求を該各処理実行単位グループに
    ついて、該処理実行単位グループでのみアクセスされる
    前記固有または共用のメモリに対して個々の排他要求を
    管理する局所排他制御情報域(1)と、 該各処理実行単位グループ間で共用されるメモリに対し
    て前記処理実行グループ単位に排他要求を管理する共通
    排他制御情報域(2)とを具備し、 前記局所排他制御情報域(1)および前記共通排他制御
    情報域(2)に分割して管理することにより、該共通排
    他制御情報域(2)のアクセスを前記処理実行単位グル
    ープ単位の排他要求に低減して排他処理を高速に実行す
    るようにしたことを特徴とするマルチプロセッサ間排他
    制御方式。
  2. 【請求項2】 前記処理単位グループをさらにグループ
    化してツリー状に管理し、該管理グループ(100,200,30
    0,400,500) 毎に当該管理単位でのみアクセスされる固
    有または共用メモリに対して排他要求を該管理単位毎に
    管理する排他制御情報域(111,112, …) を設け、上位管
    理グループへの排他要求の送出を階層的に行うようにし
    た請求項1のマルチプロセッサ間排他制御方式。
  3. 【請求項3】 前記複数のプロセッサ(PM)の任意の
    プロセッサの故障により異常終了させられる処理実行単
    位群毎に処理実行単位グループを設け、 該プロセッサの故障により揮発もしくは使用不能となる
    固有メモリ上に該処理実行単位グループ内の排他要求を
    管理する局所排他制御情報域(1)を配置し、 前記複数のプロセッサ(PM)における一部のプロセッ
    サの故障に依存することなく継続的に使用可能な共通メ
    モリ上に前記処理実行単位グループ単位の排他要求を管
    理する共通排他制御情報域(2)を配置し、 前記プロセッサの故障を検出して故障したプロセッサに
    対応する処理実行単位グループが排他権限を獲得中もし
    くは排他要求を送出していた場合に、前記共通排他制御
    情報域(2)のみをアクセスして該処理実行単位グルー
    プの排他権限を他処理実行単位グループ委譲もしくは排
    他要求の無効化を行い、 前記一部のプロセッサの故障に際しても、前記複数のプ
    ロセッサ(PM)における残りのプロセッサにより処理
    を継続し、且つ、該故障プロセッサについての管理資源
    の回収を不要にするようにしたことを特徴とする請求項
    1のマルチプロセッサ間排他制御方式。
JP14040493A 1993-06-11 1993-06-11 マルチプロセッサシステム Expired - Fee Related JP3255759B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP14040493A JP3255759B2 (ja) 1993-06-11 1993-06-11 マルチプロセッサシステム
US08/214,308 US5630134A (en) 1993-06-11 1994-03-17 Inter-processor exclusive control apparatus for enabling one of a plurality of processors execute an executable unit process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14040493A JP3255759B2 (ja) 1993-06-11 1993-06-11 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JPH06348661A true JPH06348661A (ja) 1994-12-22
JP3255759B2 JP3255759B2 (ja) 2002-02-12

Family

ID=15267982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14040493A Expired - Fee Related JP3255759B2 (ja) 1993-06-11 1993-06-11 マルチプロセッサシステム

Country Status (2)

Country Link
US (1) US5630134A (ja)
JP (1) JP3255759B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007141155A (ja) * 2005-11-22 2007-06-07 Hitachi Kokusai Electric Inc マルチコアプロセッサにおけるマルチコア制御方法
JPWO2006057208A1 (ja) * 2004-11-26 2008-08-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation マルチプロセッサシステム及びそれにおける排他制御方法
JP2009070014A (ja) * 2007-09-12 2009-04-02 National Institute Of Advanced Industrial & Technology マルチタスク処理装置、及びマルチタスク処理方法、並びに、プログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978933A (en) * 1996-01-11 1999-11-02 Hewlett-Packard Company Generic fault tolerant platform
US7065765B2 (en) * 2001-12-05 2006-06-20 International Business Machines Corporation Serializing event handling in a threaded system with no wait states
US7124410B2 (en) * 2002-01-09 2006-10-17 International Business Machines Corporation Distributed allocation of system hardware resources for multiprocessor systems
US6843013B2 (en) 2002-04-22 2005-01-18 Jorge Enrique Cutini Trigger safety lock for pistols and trigger assembly
US7752367B2 (en) * 2005-12-22 2010-07-06 International Business Machines Corporation File-based access control for shared hardware devices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS556666A (en) * 1978-06-30 1980-01-18 Fujitsu Ltd Control system for common-use resources
JPS62282359A (ja) * 1986-05-30 1987-12-08 Nec Corp 複数ホストコンピユ−タ間の資源共有/排他制御方式
US5251318A (en) * 1988-09-02 1993-10-05 Hitachi, Ltd. Multiprocessing system comparing information copied from extended storage before and after processing for serializing access to shared resource
JP2685530B2 (ja) * 1988-09-14 1997-12-03 株式会社日立製作所 共用データの管理方法
US5408652A (en) * 1990-08-31 1995-04-18 Fujitsu Limited Method and apparatus for heterogenous database access by generating different access procedures for different database data structures

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2006057208A1 (ja) * 2004-11-26 2008-08-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation マルチプロセッサシステム及びそれにおける排他制御方法
JP4852427B2 (ja) * 2004-11-26 2012-01-11 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサシステム及びそれにおける排他制御方法
JP2007141155A (ja) * 2005-11-22 2007-06-07 Hitachi Kokusai Electric Inc マルチコアプロセッサにおけるマルチコア制御方法
JP2009070014A (ja) * 2007-09-12 2009-04-02 National Institute Of Advanced Industrial & Technology マルチタスク処理装置、及びマルチタスク処理方法、並びに、プログラム

Also Published As

Publication number Publication date
US5630134A (en) 1997-05-13
JP3255759B2 (ja) 2002-02-12

Similar Documents

Publication Publication Date Title
Craig Queuing spin lock algorithms to support timing predictability
US7810098B2 (en) Allocating resources across multiple nodes in a hierarchical data processing system according to a decentralized policy
US8560524B2 (en) Allocating priorities to prevent deadlocks in a storage system
CN112052068A (zh) 一种Kubernetes容器平台CPU绑核的方法与装置
US6463532B1 (en) System and method for effectuating distributed consensus among members of a processor set in a multiprocessor computing system through the use of shared storage resources
EP0682312A2 (en) Hardware implemented locking mechanism for parallel/distributed computer system
US20160364158A1 (en) Recovery in data centers
JPH0551942B2 (ja)
US20110126208A1 (en) Processing Architecture Having Passive Threads and Active Semaphores
JPS60128537A (ja) 多重プログラミング・システム
JPH0844681A (ja) 複数の処理装置により共用される資源の集中管理
JPH05204675A (ja) スケジューリング方式
CN103729480A (zh) 一种多核实时操作系统多个就绪任务快速查找及调度方法
JPH06348661A (ja) マルチプロセッサ間排他制御方式
US6477597B1 (en) Lock architecture for large scale system
US10635336B1 (en) Cache-based partition allocation
CN119883556A (zh) 智能汽车操作系统的中断处理方法、装置及车辆终端
JP2804478B2 (ja) タスク制御方式及びオンライン・トランザクション・システム
WO2000033175A2 (en) Method for increasing efficiency of multiprocessing systems
JPH08180025A (ja) スケジューリング装置
JPS6321941B2 (ja)
JP7346649B2 (ja) 同期制御システムおよび同期制御方法
JPH0877026A (ja) 情報処理方法とその装置
CN121029323B (zh) 加速器设备及加速器设备的控制方法
CN117149472B (zh) 通信方法、装置、计算机可读存储介质以及电子设备

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011023

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

Free format text: PAYMENT UNTIL: 20081130

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees