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

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

Info

Publication number
JP3255759B2
JP3255759B2 JP14040493A JP14040493A JP3255759B2 JP 3255759 B2 JP3255759 B2 JP 3255759B2 JP 14040493 A JP14040493 A JP 14040493A JP 14040493 A JP14040493 A JP 14040493A JP 3255759 B2 JP3255759 B2 JP 3255759B2
Authority
JP
Japan
Prior art keywords
exclusive
exclusion
waiting
information area
control information
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
JP14040493A
Other languages
English (en)
Other versions
JPH06348661A (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.)
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; CALCULATING OR 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)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマルチプロセッサシステ
ムに関し、特に、実行単位(プロセッサを含む)間の排
他制御を行う複数のプロセッサを有するマルチプロセッ
サシステムに関する。近年、コンピュータシステムは、
処理性能の高速化の要求に伴って、単一のプロセッサで
構成する代わりに、複数のプロセッサで構成して処理性
能を向上させる手法が採られている。このようなマルチ
プロセッサシステムでは、プロセッサを跨がる処理実行
単位で資源を共用して処理したり、或いは、実行される
処理手続きを他の処理実行単位と排他的に実行するため
の排他制御を必要としており、この排他制御を高速に実
行する排他制御機構が要望されている。さらに、近年の
コンピュータシステムの高信頼化の要求(故障耐性の要
求)から、たとえ、特定のプロセッサが故障した場合で
も、他プロセッサでの処理の継続を可能とする排他制御
機構が要望されている。
【0002】
【従来の技術】従来、処理性能を高速化することのでき
るコンピュータシステムとして、マルチプロセッサシス
テムが知られている。このような、マルチプロセッサシ
ステムにおける処理の実行単位間の排他処理は、すなわ
ち、複数のプロセッサと,各プロセッサに固有なメモリ
および各プロセッサで共用されるメモリ,または,各プ
ロセッサで共用されるメモリのみで構成されたマルチプ
ロセッサシステムにおける処理の実行単位間の排他処理
は、例えば、コンピュータシステム内の排他要求を集中
的に管理して処理するサーバプロセスを用いて制御する
ようになっている。
【0003】そして、処理実行単位から発せられる排他
要求を一元的に管理する排他制御サーバや、スピンロッ
クの手法による単純な排他制御機構が提供されている
が、排他制御サーバによるマルチプロセッサ間排他制御
方式は、排他要求を発する処理実行単位とサーバ間の通
信オーバヘッドが定常的に発生するため、或いは、排他
要求情報をサーバが蓄積して一元的に管理するため、排
他要求元の処理実行単位の終了に伴って該処理実行単位
の排他要求情報を回収したり、サーバ自身の異常終了に
備えて多量の排他要求情報を不揮発化または二重化する
必要がある。
【0004】また、従来、他の方法としてスピンロック
の手法が用いられており、この手法では、各プロセッサ
からアクセス可能な共用メモリ上にロックワードを設
け、各々の処理実行単位が排他を獲得する場合は、該ロ
ックワードに排他獲得中の標識を設定し、排他を解放す
る場合は該標識を解除する一連の手順の取決めによって
処理実行単位間の排他制御を実現している。尚、通常こ
のロックワードの更新には、後述するロックワードの内
容と指定する値との比較および他に指定する値での更新
を不可分に実行する命令が用いられる。
【0005】
【発明が解決しようとしている課題】上述した排他制御
サーバプロセスは、システム内の排他要求を一元的に管
理するため、排他要求元である処理実行単位と排他制御
サーバプロセスがプロセッサを跨がって通信を行う必要
性を生じ、これに伴う通信オーバヘッドにより性能の低
下を来すことになる。また、排他要求情報を該サーバプ
ロセスが蓄積して管理しているため、排他要求元の処理
実行単位の終了や排他要求元の処理実行単位が存在する
プロセッサの故障に伴う排他要求の回収機構を必要と
し、さらに、サーバプロセス自身の異常、サーバプロセ
スが存在するプロセッサの故障に備えて、多量の排他要
求情報を不揮発化、或いは、二重化した上で待機サーバ
プロセスで処理を継続するように構成する必要がある。
【0006】また、従来、スピンロックの手法による排
他制御も知られているが、該スピンロックの手法による
排他制御は、要求の競合が多く発生する場合において、
処理装置の処理性能を著しく低下させることになる。す
なわち、スピンロックの手法による排他制御方式では、
ロックワードに対してある処理実行単位が排他獲得中の
標識を設定している間、他の処理実行単位は、自身で排
他獲得中の標識の設定に成功するまで、繰り返しロック
ワードの更新処理を試みる。この間、プロセッサモジュ
ールのCPU資源が無駄に消費され、これにより処理性
能の低下を引き起こす問題点、さらに、プロセッサと共
用メモリがバスで結合されたシステムにおいては、該ロ
ックワードの更新に用いられる前述の命令の実行がバス
を排他的に占有して他のプロセッサによるバスの使用を
妨げる等のバスの使用効率の低下を招くという解決すべ
き課題があった。
【0007】本発明は、上述した従来のマルチプロセッ
サ間排他制御方式が有する課題に鑑み、マルチプロセッ
サ間での排他制御情報の競合を最低限に低減して、排他
制御を高速に実施することを可能とし、同時にプロセッ
サ故障時のリカバリ処理を容易とすることができるマル
チプロセッサ間排他制御方式の提供を主たる目的とす
る。さらに、本発明の他の目的は、プロセッサの故障に
際しても、他プロセッサでの処理の継続を可能とし、コ
ンピュータシステムの実行性能および高信頼化を向上さ
せることのできるマルチプロセッサ間排他制御方式の提
供にある。
【0008】
【課題を解決するための手段】本発明によれば、各々が
プロセッサと固有メモリからなる複数のプロセッサモジ
ュールPMと、該各PMに接続された共用メモリで構成
されるマルチプロセッサシステムであって、前記共用メ
モリは、該共用メモリ上で排他権限獲得中のPMの情報
と獲得待ちPMの情報を記憶する共通排他制御情報域を
有し、前記複数のPMのそれぞれは、該各PM内のプロ
セスが発する排他要求を受付けると、排他要求の獲得待
ちをしている他プロセスの情報を管理する局所排他制御
情報域を参照し、待ちプロセスが存在する場合は、該排
他要求を中断し該排他要求を発したプロセスを前記局所
排他制御情報域に登録し、また、待ちプロセスが存在し
ない場合は、該排他要求を排他権限獲得手段へ送出し、
該排他権限獲得手段からの返信情報を受けると、該返信
情報が排他権限獲得情報の場合は、排他要求を発したプ
ロセスに復帰し、また、該返信情報が獲得待ち情報の場
合は、該排他要求を中断し該排他要求を発したプロセス
を前記局所排他制御情報域に登録する待ち管理手段と、
局所制御部から送出された排他要求を受付けると、前記
共用メモリ上の前記共通排他制御情報域を参照し、獲得
中のPMが存在しない場合は、該共通排他制御情報域に
自PMを獲得中PMとして登録すると共に前記待ち管理
手段へ排他権限獲得情報を返信し、また、獲得中のPM
が存在する場合は、該共通排他制御情報域に自PMを獲
得待ちPMとして登録し前記待ち管理手段へ獲得待ち情
報を返信する前記排他権限獲得手段とを有することを特
徴とするマルチプロセッサシステムが提供される。
【0009】
【作用】本発明のマルチプロセッサシステムは、各々が
プロセッサと固有メモリからなる複数のプロセッサモジ
ュールPMと、各PMに接続された共用メモリで構成さ
れる。共用メモリは、その共用メモリ上で排他権限獲得
中のPMの情報と獲得待ちPMの情報を記憶する共通排
他制御情報域2を有する。複数のPMのそれぞれは、待
ち管理手段、および、排他権限獲得手段を有する。待ち
管理手段は、各PM内のプロセスが発する排他要求を受
付けると、排他要求の獲得待ちをしている他プロセスの
情報を管理する局所排他制御情報域1を参照し、待ちプ
ロセスが存在する場合は、排他要求を中断し排他要求を
発したプロセスを局所排他制御情報域1に登録し、ま
た、待ちプロセスが存在しない場合は、排他要求を排他
権限獲得手段へ送出し、排他権限獲得手段からの返信情
報を受けると、返信情報が排他権限獲得情報の場合は、
排他要求を発したプロセスに復帰し、また、返信情報が
獲得待ち情報の場合は、排他要求を中断し排他要求を発
したプロセスを局所排他制御情報域1に登録する。排他
権限獲得手段は、局所制御部から送出された排他要求を
受付けると、共用メモリ上の共通排他制御情報域2を参
照し、獲得中のPMが存在しない場合は、共通排他制御
情報域2に自PMを獲得中PMとして登録すると共に待
ち管理手段へ排他権限獲得情報を返信し、また、獲得中
のPMが存在する場合は、共通排他制御情報域2に自P
Mを獲得待ちPMとして登録し待ち管理手段へ獲得待ち
情報を返信する。
【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)

    (57)【特許請求の範囲】
  1. 【請求項1】 各々がプロセッサと固有メモリからなる
    複数のプロセッサモジュールPMと、該各PMに接続さ
    れた共用メモリで構成されるマルチプロセッサシステム
    であって、 前記共用メモリは、該共用メモリ上で排他権限獲得中の
    PMの情報と獲得待ちPMの情報を記憶する共通排他制
    御情報域を有し、 前記複数のPMのそれぞれは、該各PM内のプロセスが
    発する排他要求を受付けると、排他要求の獲得待ちをし
    ている他プロセスの情報を管理する局所排他制御情報域
    を参照し、待ちプロセスが存在する場合は、該排他要求
    を中断し該排他要求を発したプロセスを前記局所排他制
    御情報域に登録し、また、待ちプロセスが存在しない場
    合は、該排他要求を排他権限獲得手段へ送出し、該排他
    権限獲得手段からの返信情報を受けると、該返信情報が
    排他権限獲得情報の場合は、排他要求を発したプロセス
    に復帰し、また、該返信情報が獲得待ち情報の場合は、
    該排他要求を中断し該排他要求を発したプロセスを前記
    局所排他制御情報域に登録する待ち管理手段と、 局所制御部から送出された排他要求を受付けると、前記
    共用メモリ上の前記共通排他制御情報域を参照し、獲得
    中のPMが存在しない場合は、該共通排他制御情報域に
    自PMを獲得中PMとして登録すると共に前記待ち管理
    手段へ排他権限獲得情報を返信し、また、獲得中のPM
    が存在する場合は、該共通排他制御情報域に自PMを獲
    得待ちPMとして登録し前記待ち管理手段へ獲得待ち情
    報を返信する前記排他権限獲得手段とを有することを特
    徴とするマルチプロセッサシステム。
  2. 【請求項2】 請求項1に記載のマルチプロセッサシス
    テムにおいて、前記局所排他制御情報域は、ツリーに階
    層的に体系化されており、前記待ち管理手段は、最下位
    レベルの局所排他制御情報域から参照し、該レベルに待
    ちプロセスが存在しない場合は、順次上位レベルの局所
    排他制御情報域を参照していくことを特徴とするマルチ
    プロセッサシステム。
  3. 【請求項3】 請求項1に記載のマルチプロセッサシス
    テムにおいて、さらに、前記PMの故障を知らせる故障
    通知を受信すると、前記共通排他制御情報域 を参照し、
    該故障PMが登録されている場合は、当該故障PMの情
    報を該共通排他制御情報域より消去することでその他の
    PMの処理を継続するダウンリカバリ手段を有すること
    を特徴とするマルチプロセッサシステム。
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 JPH06348661A (ja) 1994-12-22
JP3255759B2 true 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)

Families Citing this family (8)

* 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
ATE555437T1 (de) * 2004-11-26 2012-05-15 Ibm Multiprozessorsystem und verfahren zu dessen exklusiver kontrolle
JP4559958B2 (ja) * 2005-11-22 2010-10-13 株式会社日立国際電気 マルチコアプロセッサにおけるマルチコア制御方法
US7752367B2 (en) * 2005-12-22 2010-07-06 International Business Machines Corporation File-based access control for shared hardware devices
JP5146954B2 (ja) * 2007-09-12 2013-02-20 独立行政法人産業技術総合研究所 マルチタスク処理装置、及びマルチタスク処理方法、並びに、プログラム

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 複数ホストコンピユ−タ間の資源共有/排他制御方式
JP2685530B2 (ja) * 1988-09-14 1997-12-03 株式会社日立製作所 共用データの管理方法
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
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

Also Published As

Publication number Publication date
US5630134A (en) 1997-05-13
JPH06348661A (ja) 1994-12-22

Similar Documents

Publication Publication Date Title
US6502136B1 (en) Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage
US5652885A (en) Interprocess communications system and method utilizing shared memory for message transfer and datagram sockets for message control
US5003464A (en) Methods and apparatus for efficient resource allocation
US6823511B1 (en) Reader-writer lock for multiprocessor systems
US7810098B2 (en) Allocating resources across multiple nodes in a hierarchical data processing system according to a decentralized policy
EP0357768B1 (en) Record lock processor for multiprocessing data system
KR100292660B1 (ko) 프로세서가통합된인터럽트제어기를갖춘멀티프로세서프로그래머블인터럽트제어기시스템
EP0682312A2 (en) Hardware implemented locking mechanism for parallel/distributed computer system
US8185710B2 (en) Hardware memory locks
US20060150195A1 (en) System and method for interprocess communication
JPH0844681A (ja) 複数の処理装置により共用される資源の集中管理
US6697901B1 (en) Using secondary resource masters in conjunction with a primary resource master for managing resources that are accessible to a plurality of entities
US20030065704A1 (en) Flexible acceleration of java thread synchronization on multiprocessor computers
JP2009525536A (ja) 適応型の領域ロック処理
US20060161637A1 (en) Cluster arrangement
CN112052068A (zh) 一种Kubernetes容器平台CPU绑核的方法与装置
US8458396B2 (en) Sharing resources within a robotic media library amongst a plurality of connected servers
JP3255759B2 (ja) マルチプロセッサシステム
EP4184324A1 (en) Efficient accelerator offload in multi-accelerator framework
US5029169A (en) Methods and apparatus for fault detection
JP2006040286A (ja) パーティショニングされたデバイス間の通信
CN115686346A (zh) 一种数据存储方法、设备及计算机可读存储介质
CN114911632B (zh) 一种进程间通信的控制方法和系统
JPH06348512A (ja) 資源管理コンピュータ・システム
EP3629171A1 (en) Lock manager for multi-core architectures

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