JPH07105152A - マルチプロセッサシステムのデッドロック自動解除方法 - Google Patents

マルチプロセッサシステムのデッドロック自動解除方法

Info

Publication number
JPH07105152A
JPH07105152A JP27767593A JP27767593A JPH07105152A JP H07105152 A JPH07105152 A JP H07105152A JP 27767593 A JP27767593 A JP 27767593A JP 27767593 A JP27767593 A JP 27767593A JP H07105152 A JPH07105152 A JP H07105152A
Authority
JP
Japan
Prior art keywords
common resource
task
exclusive control
cpu
common
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.)
Withdrawn
Application number
JP27767593A
Other languages
English (en)
Inventor
Takao Numakura
▲隆▼郎 沼倉
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
Fujitsu Communication Systems Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Communication Systems 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, Fujitsu Communication Systems Ltd filed Critical Fujitsu Ltd
Priority to JP27767593A priority Critical patent/JPH07105152A/ja
Publication of JPH07105152A publication Critical patent/JPH07105152A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】マルチプロセッサシステムにおいて共通資源排
他制御時のデッドロックの発生を防止するデッドロック
自動解除方法に関するものであり、デッドロック状態の
発生を未然に防止することを目的とする。 【構成】 マルチプロセッサシステムにおいて、各共通
資源毎に現在排他制御中のタスク名及び現在獲得待ち状
態のタスク名を格納する排他制御管理テーブルと、各タ
スク毎に各タスクが現在排他制御中の共通資源名を格納
する排他制御共通資源情報テーブルを設け、あるタスク
が共通資源獲得要求のシステムコールを発行時には上記
排他制御管理テーブル及び排他制御共通資源情報テーブ
ルの内容を参照して当該共通資源獲得要求に基づいてデ
ッドロック状態が発生するか否かを事前に判定し、共通
資源をそのまま獲得要求するとデッドロック状態になる
と判定した場合にはその時点では当該共通資源獲得要求
を行わないようにした。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマルチプロセッサシステ
ムにおいて共通資源排他制御時のデッドロックの発生を
防止するデッドロック自動解除方法に関するものであ
る。
【0002】
【従来の技術】マルチプロセッサシステムにおいては、
全てのCPU(中央処理装置:以降、プロセッサと同意
に用いる)内の全てのタスクが共通に使用できる共通資
源を、ある一のCPU内のあるタスクが使用する場合、
そのタスクがその共通資源を使用中に、その共通資源を
自CPU内または他CPU内の他のタスクに使用されな
いようにするために、セマフォという共通資源管理情報
により共通資源の排他制御を行っている。
【0003】セマフォの論理的実体は、内部的に管理さ
れるカウント数(使用可能な共通資源の個数)と、その
カウント数の獲得を待つタスクの待ち行列である。ある
タスクが共通資源を使用したい場合、そのタスクは共通
資源獲得要求のシステムコールを発行してこのカウント
を獲得する要求を出す。要求したカウント数をタスクが
獲得することができれば、タスクはそのまま処理を続行
する。一方、要求したカウントを獲得できない場合に
は、図16に示すようにタスクは待ち状態に移行し、待
ち行列につながれる。図16では、タスクAが共通資源
獲得要求システムコールを発行したが、その要求に対し
セマフォのカウント数が足りなかったため、タスクAが
待ち行列中の最後尾のタスクBにつながれて待ち状態に
移行した状態を示している。
【0004】また共通資源の使用を終了した場合、共通
資源返却システムコールで共通資源を返却することによ
りこのカウント数を増やすことができる。これによりタ
スクが要求したカウントを獲得できるようになれば、図
17に示すようにタスクの待ち状態は解除される。図1
7では、タスクCが共通資源返却システムコールでカウ
ント数を返却したことによりセマフォのタウント数が増
加し、それにより待ち状態にあったタスクDが共通資源
を獲得できるようになって待ち状態が解除された状態を
示している。
【0005】このような機能をもったセマフォを計数型
セマフォと言う。このセマフォカウント数に資源の数を
対応させることにより共通資源の管理に利用することが
できる。したがって、セマフォを獲得/返却することが
共通資源を獲得/返却することになるので、以降、共通
資源獲得/返却とセマフォ獲得/返却とを同じ意味にて
記述する。
【0006】セマフォの処理を定義すると次のようにな
る。 〔共通資源獲得要求システムコール〕Xをセマフォのカ
ウント数(これが“0”の場合、システムコールを発行
したタスクは必ず待ち状態になる)、Aをタスクが要求
するカウント数(最低値は“1”であり、“0”は不
可)とする。(X−A)<0 ならば、タスクを待ち状
態にする。(X−A)≧0 ならば、セマフォのカウン
ト数Xからタスクが要求するカウント数Aを引いて新た
なカウント数(X=X−A)とし、タスクは実行を続け
る。
【0007】〔共通資源返却システムコール〕Xをセマ
フォのカウント数、Bをタスクが返却するカウント数、
Aをセマフォ待ち状態のタスクが要求しているカウント
数(セマフォ待ち状態のタスクが存在する場合)とす
る。システムコールを発行した場合、セマフォのカウン
ト数Xに、返却するカウント数Bを足して、新たなカウ
ント値(X=X+B)とする。セマフォ待ちのタスクが
ある場合、共通資源獲得要求システムコールで行った時
と同様の判定をこの新しいカウント値で行う。すなわ
ち、(X−A)<0 ならば、タスクは待ち状態を続け
る。(X−A)≧0 ならば、セマフォのカウント数X
からタスクが要求するカウント数Aを引いて新たなカウ
ント値(X=X−A)とし、タスクを実行可能状態にす
る。
【0008】なお、セマフォに対しては、複数のタスク
が待ち状態になることが可能である。
【0009】マルチプロセッサシステムにての共通資源
獲得要求/共通資源返却のシステムコールを発行するタ
スクとCPU、及びそのセマフォの存在するCPUの位
置づけを図18及び図19に示す。
【0010】原則として、共通資源獲得要求システムコ
ールを発行したタスクの存在するCPUが共通資源返却
システムコールを発行することになっており、また全て
のCPU内の全てのタスクが全ての共通資源を利用可能
である。
【0011】マルチプロセッサシステムにおいては、全
ての共通資源は、必ず何れかのCPUのOSによって管
理されており、ある一のCPUのタスクが他CPUのO
Sが管理している共通資源を使用する場合は、図18及
び図19に示すように共通資源獲得要求のシステムコー
ルを発行し、その発行元のCPUのOSは共通メモリを
介して他CPUに対してCPU間通信要求を行うことに
より、その共通資源を獲得する。
【0012】図18は共通資源獲得要求のシステムコー
ル発行によりセマフォを獲得して共通資源を排他的に使
用可能にした後、共通資源返却のシステムコール発行に
よりそのセマフォを返却する場合のCPU間通信の仕組
みを示すものである。図18において、CPU−1にタ
スクAが存在し、CPU−2にタスクBが存在するもの
とし、CPU−2が目的とする共通資源を管理してい
る。この図18の場合は、その共通資源はシステム内の
どのタスクも未使用であるので、CPU−1のタスクA
は共通資源獲得要求システムコールを発行してその共通
資源を獲得し、排他的に利用する。そして、タスクAが
その共通資源を利用を終えた後に共通資源返却のシステ
ムコールを発行すると、CPU−1のOSは共通メモリ
を介して他CPU−2に対してCPU間通信要求を行う
ことにより、その共通資源を返却する。
【0013】また図19は、一のタスクが共通資源獲得
要求のシステムコールの発行を、他タスクがその共通資
源を使用中に行ったため、そのタスクがセマフォ待ち状
態になった後、他タスクが共通資源返却のシステムコー
ル発行によりそのタスクがセマフォ待ち状態から解放さ
れる場合のCPU間通信の仕組みを示すものである。こ
の図19の場合、CPU−2の管理する共通資源を、C
PU−3のタスクCが共通資源獲得要求システムコール
を発行して獲得しようとしたが、その共通資源は既にシ
ステム内の他のタスクEが排他的に利用しているため、
すぐには獲得できず、タクスCはその共通資源の待ち状
態になる。その後、排他制御中のタスクEが利用を終
え、その共通資源を返却するシステムコールを発行する
と、その共通資源を管理しているCPU−2のOSはそ
の共通資源の待ち行列から待ち状態のタスクCの仮想T
CBをデキューして起床要求することにより、以降、タ
スクCはその共通資源を獲得することが可能になる。な
お、CPU−3では、現にタスクDを実行中の場合は、
タクスDとタクスCの優先度に従って優先度の高いタス
クが実行される。
【0014】その後、図18に示すように、CPU−3
のタスクCはその共通資源を獲得すると、共通資源を排
他的に使用した後、共通資源返却システムコールを発行
したその共通資源を返却することにより、セマフォカウ
ント数=1となり、その共通資源は他タスクによって使
用可能な状態になる。
【0015】なお、図19において、共通資源を排他制
御中のタスクがその共通資源を返却するシステムコール
を発行する前(図19の※a〜※b)に、そのタスクの
存在するCPUがダウンした場合、そのセマフォを返却
することができなくなり、以降、ダウンした以外の全て
の正常なCPUはその共通資源を使用できず、またその
共通資源の獲得待ちの全てのタスクは待ち状態から解放
されないため、以下に述べる方法にて共通資源の自動返
却を行っている。
【0016】すなわち、ローカルメモリ上に、各CPU
毎に、そのCPUが管理している全ての共通資源につい
て、ID(識別番号、以下同じ)、現在使用可能な資源
数、共通資源を現在排他制御しているCPU−ID、及
び排他制御している資源数の情報を格納する共通資源管
理テーブルの領域を設ける。
【0017】各CPUのOSは、自CPUの共通資源管
理テーブルを監視して、特定の共通資源が所定時間以上
排他制御されていることを認識すると、その共通資源を
排他制御中のCPUに障害が発生したと判断してこの排
他制御を強制解除するとともに、他CPUにも障害CP
U−IDを通知してその障害CPUに係わる排他制御を
強制解除するよう促すことにより、障害CPUが排他制
御している共通資源の自動返却を行っていた。
【0018】
【発明が解決しようとする課題】従来の技術では以下の
ような問題点がある。図2に示すようなマルチプロセッ
サシステムにおけるシステム構成を考える。このマルチ
プロセッサシステムにおいて、CPU−3は共通資源C
を、CPU−4は共通資源Dを管理しており、CPU−
1はタスクAをCPU−2はタクスBを生成するものと
する。
【0019】まずCPU−1のタスクAがCPU−3の
OSの管理している共通資源C(使用可能資源数=1)
を獲得要求(要求資源数=1)するためのシステムコー
ル(図中の)を発行すると、タクスAは共通資源Cを
獲得することができ、以降、共通資源Cの排他制御を行
う。
【0020】次にCPU−2のタスクBがCPU−4の
OSの管理している共通資源D(使用可能資源数=1)
を獲得要求(要求資源数=1)するためのシステムコー
ル(図中の)を発行すると、タスクBは共通資源Dを
獲得することができ、以降、共通資源Dの排他制御を行
う。
【0021】次にCPU−1のタスクAがCPU−4の
OSの管理している共通資源Dを獲得要求(要求資源数
=1)するためのシステムコール(図5の)を発行す
ると、この共通資源DはCPU−2のタスクBが既に排
他制御中のため使用可能資源数=0であるので、タスク
Aは共通資源Dを獲得することができず、共通資源Dの
待ち行列にCPU−1のタスクAの仮想TCBがキュー
イングされ、タスクAは共通資源Dの待ち状態になる。
【0022】この状態で更に、CPU−2のタスクBが
CPU−3のOSの管理している共通資源Cを獲得要求
(要求資源数=1)するためのシステムコール(図5
)を発行すると、この共通資源CはCPU−1のタス
クAが既に排他制御中のため使用可能資源数=0である
ので、タスクBは共通資源Cを獲得することができず、
共通資源Cの待ち行列にCPU−2のタスクBの仮想T
CBがキューイングされ、CPU−2のタスクBは共通
資源Cの待ち状態になる。
【0023】ここにおいて、CPU−2のタスクBの待
ち状態はCPU−1のタスクAが共通資源Cを返却する
システムコールを発行しないと解除されないし、またC
PU−1のタスクAの待ち状態はCPU−2のタスクB
が共通資源Dを返却するシステムコールを発行しないと
解除されないため、いわゆるデッドロック状態に陥るこ
とになり、以降、CPU−1のタスクA及びCPU−2
のタスクBは何時までも待ち状態から解放されないとい
う問題点がある。
【0024】このようなデッドロック状態は、並行して
処理されるタスクの個数(マルチプロセッサシステムの
場合はCPUの数)が多ければ多いほど発生し易くな
る。
【0025】このようなデッドロック状態を自動解除す
るために、前述したように、共通資源が所定時間以上に
わたり排他制御されている場合にその排他制御を強制的
に解除する方法があるが、この方法を用いると、特定の
共通資源を排他制御中のCPUに実際には障害が発生し
ていないときであっても、その共通資源がそのCPUに
より所定時間以上排他制御されていると、その共通資源
を管理するCPU(CPU−3、4)のOSはそれを認
識してその共通資源を排他制御中のCPU(CPU−
1、2)に障害が発生したと判断し、この排他制御を強
制的に解除するとともに、他CPUにもその障害と見な
したCPUのIDを障害CPU−IDとして通知し、排
他制御を強制解除するよう促してしまうという問題点が
あった。
【0026】したがって本発明の目的は、デッドロック
状態の発生を未然に防止することにある。
【0027】
【課題を解決するための手段】図1は本発明に係る原理
説明図である。上述の課題を解決するために、本発明に
おいては、一つの形態として、マルチプロセッサシステ
ムにおいて、各共通資源毎に現在排他制御中のタスク名
及び現在獲得待ち状態のタスク名を格納する排他制御管
理テーブルと、各タスク毎に各タスクが現在排他制御中
の共通資源名を格納する排他制御共通資源情報テーブル
を設け、あるタスクが共通資源獲得要求のシステムコー
ルを発行時には上記排他制御管理テーブル及び排他制御
共通資源情報テーブルの内容を参照して当該共通資源獲
得要求に基づいてデッドロック状態が発生するか否かを
事前に判定し、共通資源をそのまま獲得要求するとデッ
ドロック状態になると判定した場合にはその時点では当
該共通資源獲得要求を行わないようにしたデッドロック
自動解除方法が提供される。
【0028】また本発明においては、上述のデッドロッ
ク自動解除方法において、上記共通資源をそのまま獲得
要求するとデッドロック状態になると判定した時には、
発行元タスクに対して現在排他制御中のデッドロック原
因の共通資源名を通知し、通知を受けたタスクは、
(1)復帰値にて指定された現在排他制御中の共通資源
を返却するシステムコールを発行し、その後再度当該共
通資源獲得要求のシステムコールを発行する、(2)一
定時間経過後再度当該共通資源を獲得要求するシステム
コールを発行する、(3)復帰値にて指定された現在排
他制御中の共通資源を返却するシステムコールを発行
し、一定時間経過後、復帰値にて指定された共通資源及
びデッドロック状態に陥るために獲得できなかった共通
資源を獲得要求するシステムコールを再度発行する、の
何れかを行うようにしたことを特徴とするデッドロック
自動解除方法が提供される。
【0029】また本発明においては、共通メモリ上にシ
ステム内の全タスクについて現在排他制御中の共通資源
名を格納する領域を設けてもよい。
【0030】また上述の排他制御共通資源情報テーブル
は各タスク毎に複数の種別の現在排他制御中の全ての共
通資源の情報を格納できるようにしてもよい。
【0031】また上述の排他制御管理テーブルは各共通
資源毎に複数の現在排他制御中の全てのタスクの情報を
格納できるようにしてもよい。
【0032】また上述の排他制御管理テーブルは各共通
資源毎に複数の現在獲得待ち状態の全てのタスクの情報
を格納できるようにしてもよい。
【0033】
【作用】あるプロセッサ内のあるタスクが共通資源獲得
要求のシステムコールを発行し、そのプロセッサのOS
がその共通資源の存在するプロセッサに対してプロセッ
サ間通信要求を行った結果、その共通資源は他タスクに
よって排他制御中のため直ちには使用できない場合、従
来技術ではそのタスクはその共通資源の獲得待ち状態に
なっていた。
【0034】一方、本発明では、あるプロセッサ内のあ
るタスクが共通資源獲得要求のシステムコールを発行す
ると、そのプロセッサのOSはそのシステムコール発行
元のタスクが現在排他制御中の共通資源名を排他制御共
通資源情報テーブルから読み取り、また排他制御管理テ
ーブルからその読み取った共通資源についてそれを獲得
待ち状態にあるタスク名を読み取る。またシステムコー
ル発行元のタスクが獲得要求している共通資源を現在排
他制御中のタスク名を排他制御管理テーブルから読み取
る。上記読み取った両者のタスク名が一致するなどの場
合には、そのまま共通資源獲得要求を行うと、以降、デ
ッドロック状態に陥るので、共通資源獲得のためのプロ
セッサ間通信要求を行わずに、発行元タスクに対して現
在排他制御中のデッドロック対象の共通資源を返却する
などしてから、次に使用する共通資源の獲得要求を行う
ように通知する。これにより、デッドロックの発生を未
然に防止できる。
【0035】また、デッドロック状態に陥ると判定した
時には、一定時間経過後再度当該共通資源を獲得要求す
るシステムコールを発行してもよいし、復帰値にて指定
された現在排他制御中の共通資源を返却するシステムコ
ールを発行し、一定時間経過後、復帰値にて指定された
共通資源及びデッドロック状態に陥るために獲得できな
かった共通資源を獲得要求するシステムコールを再度発
行するようにしてもよく、それにより発行元タスクは現
在排他制御中の共通資源と獲得要求している共通資源を
同時に獲得することが可能になる。
【0036】また一般には、上記排他制御管理テーブル
は共通メモリ上に設定し、上記排他制御共通資源情報テ
ーブルは各プロセッサのローカルメモリ上に設けるが、
3つ以上のタスクがそれぞれ複数の種類の共通資源を獲
得要求するシステムコールを発行した場合にもデッドロ
ック状態に陥ることを検出できるように、共通メモリ上
にもシステム内の全タスクについて現在排他制御中の共
通資源の情報を格納する領域を設けてもよい。
【0037】また、一つのタスクが同時に複数の共通資
源を排他制御する場合があるので、排他制御共通資源情
報テーブルには各タスク毎に複数の種別の現在排他制御
中の全ての共通資源の情報を格納できるようにしてもよ
い。
【0038】また、複数のタスクが同時に同一の共通資
源を排他制御する場合があるので、排他制御管理テーブ
ルには各共通資源毎に複数の現在排他制御中の全てのタ
スクの情報を格納できるようにしてもよい。
【0039】また複数のタスクが同時に同一の共通資源
の獲得待ち状態になる場合があるので、排他制御管理テ
ーブルには各共通資源毎に複数の現在獲得待ち状態の全
てのタスクの情報を格納できるようにしてもよい。
【0040】
【実施例】以下、図面を参照して本発明の実施例を説明
する。本実施例では、 共通メモリ上に、システム内に
存在する全ての共通資源毎に、図3に示すような排他制
御管理テーブルの領域を新たに設ける。この排他制御管
理テーブルには、各共通資源毎に、現在獲得可能な資源
数、現在排他制御中のCPU−IDとタスクID、排他
制御中の資源数、また現在獲得待ち状態になっているC
PU−IDとタスクID、及び獲得要求資源数の情報が
格納されている。
【0041】また全てのCPU内のローカルメモリ上に
図4に示すような各タスク毎の排他制御共通資源情報テ
ーブルの領域を新たに設ける。1つのタスクは複数の種
別の共通資源を同時に排他制御可能なため(不可能の場
合は図2に示すようなデッドロック状態は通常発生しな
い)、1つのタスクに複数の共通資源排他制御情報を格
納できるように、この排他制御共通資源情報テーブルに
は図4に示すように、各タスクとも、現在排他制御中の
共通資源種別数の情報及び排他制御共通資源情報ブロッ
クのキューイング情報(共通資源情報ブロックの順リン
クアドレス及び逆リンクアドレス)の領域があり、また
現在排他制御中の共通資源がある場合はその全ての共通
資源情報ブロックがそのタスクの排他制御共通資源情報
ブロックキューイング情報(以下、排他制御共通資源キ
ューイング情報と略する)にキューイングされている
(例えば図4のタスクaを参照)。
【0042】なお各タスクの排他制御共通資源キューイ
ング情報は、そのタスクが現在共通資源を排他制御して
いなければ順リンクアドレス、逆リンクアドレスとも
(FFFF)であり、排他制御していれば順リンクアドレス
には先頭の共通資源情報ブロックのアドレスが、また逆
リンクアドレスには最後尾の共通資源情報ブロックのア
ドレスが格納される(図4参照)。
【0043】また共通資源情報ブロックには順リンクア
ドレス情報、逆リンクアドレス情報、現在排他制御中の
共通資源IDとその共通資源を管理しているCPU−I
D、及び排他制御中の共通資源数(カウント数)の情報
が格納されている(図4参照)。
【0044】次に、図5と図6に共通資源獲得のシステ
ムコール発行元CPUのOSが行う処理手順のフローチ
ャートを、図7に本発明における共通資源返却のシステ
ムコール発行元CPUのOSが行う処理手順のフローチ
ャートを、図8と図9に本発明における共通資源獲得に
おける通信先CPUのOSが行う処理手順のフローチャ
ートを、図10と図11に本発明における共通資源獲得
における通信先CPUのOSが行う処理手順のフローチ
ャートを示す。
【0045】いずれのフローチャートもCPU−1のタ
スクAがCPU−2のOSが管理している共通資源を獲
得/返却するシステムコールを発行したものとしてその
場合のの処理手順を示してある。なお、いずれのフロー
チャートも本発明にて新たに加わった処理は通常のブロ
ックで囲んであり、従来も行っていた処理にはブロック
の左肩に*印を付してある。なお、本フローチャートは
本発明にて新たに加わった処理を中心にかかれているた
め、従来から行っていた処理は部分的にのみ記してあ
る。
【0046】まず図5と図6のフローチャートにそって
本発明における共通資源獲得のシステムコール発行元C
PUのOSが行う処理手順について説明する。
【0047】CPU−1内のあるタスクAが共通資源獲
得要求のシステムコールを発行すると(ステップS−1
1)、そのCPU−1のOSは、まずその共通資源の獲
得可能資源数を共通メモリ上の排他制御管理テーブル
(図4参照)から読み取り(ステップS−12)、この
獲得可能資源数をシステムコールにて指定された獲得要
求資源数と比較する(ステップS−13)。その結果、
獲得可能資源数≧獲得要求資源数であって共通資源を獲
得できる場合は、自タスクAは待ち状態にならずデッド
ロックが生じないから、従来と同様の方法(図18参
照)にてCPU間通信要求(ステップS−21)以降の
処理を行う。この処理については後に詳しく述べる。
【0048】一方、ステップS−13にて、共通資源を
獲得できない場合は、OSはシステムコール発行元のタ
スクAが現在排他制御中の共通資源種別数をローカルメ
モリ上の排他制御共通資源情報テーブル(図4参照)か
ら読み取り(ステップS−14)、これが“0”か否か
を判定する(ステップS−15)。“0”の場合、つま
り自タスクが他に排他制御中の共通資源が無い場合に
は、デッドロックは生じ得ないから、従来と同様の方法
(図18参照)にてCPU間通信要求(ステップS−2
1)以降の処理を行う。
【0049】一方、この現在排他制御中の共通資源種別
数が“0”でない場合、つまり自タスクが排他制御中の
共通資源が有る場合は、その共通資源に基づいてデッド
ロックが生じる可能性があるので、その場合には、OS
はその共通資源を現在排他制御中のCPU−IDとタス
クID、及び排他制御資源数の情報を共通メモリ上の排
他制御管理テーブル(図3参照)から読み取り(ステッ
プS−16)、次いで、OSは、ローカルメモリ上の排
他制御共通資源情報テーブル(図4参照)内のシステム
コール発行元タスクAの共通資源キューイング情報にキ
ューイングされている全ての共通資源情報ブロック(共
通資源ID、共通資源管理CPU−ID、排他制御資源
数)から、システムコール発行元タスクAが現在排他制
御中の1つ1つの共通資源の情報を読み取る(ステップ
S−17)。
【0050】OSはシステムコール発行元タスクが現在
排他制御中の全ての共通資源(ステップS−17にて読
み取ったもの)について、共通メモリ上の排他制御管理
テーブル(図3参照)から、獲得待ち状態にあるCPU
−ID、タスクID、排他制御資源数の情報を読み取る
(ステップS−18)。そして、タスクAが獲得要求し
ている共通資源を排他制御中のタスクID(ステップS
−16にて読み取ったもの)とタスクAが排他制御中の
共通資源を獲得待ち状態のタクスID(ステップS−1
7にて読み取ったもの)とを比較する(ステップS−1
9)。
【0051】この比較の結果、ステップS−17にて読
み取ったタスクIDのうちに、ステップS−16にて読
み取ったタスクIDと一致するタスクIDがあると、タ
スクAがその共通資源の獲得待ち状態になるとタスクA
とそのタスクAが現在排他制御中の共通資源を獲得待ち
状態のタクスとは以降、デッドロック状態に陥ることに
なる。したがって、一致した場合には、CPU1のOS
は共通資源獲得のためのCPU間通信要求を行わずに、
発行元タスクAに対して現在排他制御中のデッドロック
原因の共通資源を返却してから、再度、共通資源の獲得
要求を行うように通知する(ステップS−20)。
【0052】前記のステップS−13にて共通資源を獲
得できる場合は、ステップS−21〜ステップS−22
のCPU間通信要求及びその後の共通メモリ上のCPU
間通信領域の終了情報のチェックを従来と同じ方法にて
行い、当該共通資源を正常に獲得できなかった場合(ス
テップS−23)は、従来と同様にOSはタスクAにエ
ラーコード等の各種パラメータの情報を通知する(ステ
ップS−26)。
【0053】すなわち、OSはその共通資源を管理して
いるCPU−2に対して、CPU間通信要求を行い(ス
テップS−21)、その後、OSは定期的に共通メモリ
上のCPU間通信領域の終了情報をチェックする(ステ
ップS−22)。その共通資源を正常に獲得できたか否
かを判定し(ステップS−23)、できなかった場合
(ステップS−23)は、従来と同様に、OSはエラー
コード等の各種パラメータの情報をタスクAに通知する
(ステップS−26)。
【0054】その共通資源を正常に獲得できた場合(ス
テップS−23)は、OSはローカルメモリ上の排他制
御共通資源情報テーブルのタスクAの排他制御共通資源
種別数を(+1)し(ステップS−24)、未使用の共
通資源情報ブロックにその共通資源のID、その共通資
源を管理しているCPU−ID及び排他制御数を格納
し、タスクAの排他制御共通資源情報ブロックキューの
最後尾にキューイングし(ステップS−25)、その
後、従来と同様にタスクAに正常にその共通資源を獲得
できた情報(各種パラメータ)を通知する(ステップS
−26)。
【0055】次に図7のフローチャートにそって本発明
における共通資源返却のシステムコール発行元CPUの
OSが行う処理手順について説明する。
【0056】まずCPU−1のタスクAが共通資源返却
のシステムコールを発行すると(ステップS−31)、
OSはその共通資源を管理しているCPU−2に対して
従来と同様の方法にてCPU間通信要求を行う(ステッ
プS−32)。
【0057】その後、OSは従来と同じ方法にて定期的
に共通メモリ上のCPU間通信領域の終了情報のチェッ
クを行い(ステップS−33)、その共通資源が正常に
返却できたか否かを判定する(ステップS−34)。返
却できなかった場合には、従来と同様に、OSはタスク
Aに異常復帰の各種パラメータの情報(エラーコード
等)を通知する(ステップS−40)。
【0058】ステップS−33の終了情報のチェックに
てその共通資源が正常に返却できた場合には、OSはロ
ーカルメモリ上の排他制御共通資源情報テーブル内のタ
スクAのキューにキューイングされている共通資源情報
ブロックの中から、通信先CPUが管理するその共通資
源IDの情報ブロックを見つけ出し(ステップS−3
5)、その情報ブロック内の排他制御資源数からシステ
ムコールにて指定された返却資源数の値を引き(ステッ
プS−36)、その結果得た排他制御資源数が“0”か
否かをチェックする(ステップS−37)。“0”でな
ければ、OSは正常復帰した各種パラメータの情報(エ
ラーコード等)をタスクAに通知する(ステップS−4
0)。
【0059】ステップS−37にて“0”であれば、O
Sはその共通資源情報ブロックをタスクAのキューから
デキューし(ステップS−38)、タスクAの排他制御
共通資源種別数を(−1)し(ステップS−39)、そ
の後、従来と同様に正常復帰した内容の各種パラメータ
情報をタスクAに通知する(ステップS−40)。
【0060】次に図8と図9のフローチャートにそって
本発明における共通資源獲得における通信先CPUのO
Sが行う処理手順について説明する。
【0061】まず、CPU−2のOSは、CPU−1か
らのCPU間通信要求があったことをCPU間割込み通
知レジスタによって確認すると(ステップS−51)、
従来と同様に、共通メモリ上のCPU−1→CPU−2
のCPU間通信領域の情報(その共通資源獲得要求のパ
ラメータ)を読み取り(ステップS−52)、パラメー
タ情報に異常があるか否かを判定する(ステップS−5
3)。異常がある場合には、CPU−2のOSは、従来
と同様に、共通メモリ上のCPU−1→CPU−2のC
PU間通信領域にパラメータエラーの情報を書き込む
(ステップS−54)。
【0062】ステップS−53でパラメータ情報が正常
な場合には、CPU−2のOSは、従来と同様に、その
共通資源の現在獲得可能な資源数とパラメータにて指定
されたその共通資源の獲得要求数とを比較することで、
その共通資源が獲得可能か否かを判定する(ステップS
−55)。その共通資源を獲得できない場合は、従来と
同様に、OSはその共通資源の待ちキューにタスクAの
仮想TCBをキューイングし(ステップS−56)、共
通メモリ上の排他制御管理テーブルのその共通資源の獲
得待ちCPU−ID、獲得待ちタスクID、獲得要求資
源数に、読み取ったパラメータの値を格納し(ステップ
S−57)、従来と同様に共通メモリ上のCPU−1→
CPU−2のCPU間通信領域に待ち状態になった情報
を書き込む(ステップS−58)。
【0063】なお、上述の仮想TCBは、マルチプロセ
ッサシステムにおいて、任意のCPUが他のCPUの生
成したタスクから獲得を要求された自己の管理する共通
資源が塞がっていた場合に、該任意のCPUが要求元の
タスクに関する情報を格納して生成するもので、この仮
想TCBを該共通資源の獲得のための待ちキューにキュ
ーイングさせることで、システム内の全タスクに共通資
源獲得のための均等な機会を与えるためのものである。
【0064】ステップS−55にてその共通資源を現在
獲得できると判定した場合には、CPU−2のOSは従
来と同様にタスクAがその共通資源を獲得するための処
理を行い(ステップS−59)、その後、共通メモリ上
の排他制御管理テーブルのその共通資源の獲得可能資源
数からパラメータにて指定された獲得要求資源数を引き
(ステップS−60)、その共通メモリ上の排他制御管
理テーブルの排他制御CPU−ID、タスクID、排他
制御資源数に、パラメータにて指定された値を書き込む
(ステップS−61)。その後、従来と同様に、共通メ
モリ上のCPU−1→CPU−2のCPU間通信領域に
正常に復帰した情報を書き込む(ステップS−62)。
【0065】最後に図10と図11のフローチャートに
そって本発明における共通資源返却における通信先CP
UのOSが行う処理手順について説明する。
【0066】まずCPU−2のOSは、CPU−1から
のCPU間通信要求があったことをCPU間割込み通知
レジスタによって確認すると(ステップS−71)、従
来と同様に共通メモリ上のCPU−1→CPU−2のC
PU間通信領域の情報(その共通資源返却のパラメー
タ)を読み取り(ステップS−72)、パラメータ情報
に異常があるか否かをチェックする(ステップS−7
3)。異常がある場合には、従来と同様に、OSは共通
メモリ上のCPU−1→CPU−2のCPU間通信領域
にパラメータエラーの情報を書き込む(ステップS−7
4)。
【0067】ステップS−73のチェックにてパラメー
タ情報が正常な場合には、従来と同様に、CPU−2の
OSはCPU−1のタスクAがその共通資源を返却する
ための処理を行う(ステップS−75)。
【0068】その後、OSは共通メモリ上の排他制御管
理テーブルのその共通資源の排他制御CPU−ID、排
他制御タスクIDが返却システムコール発行元CPU及
びタスク(CPU−1のタスクA)であることを確認し
(ステップS−76)、その共通資源の排他可能資源数
にパラメータにて読み取った返却資源数を加算し(ステ
ップS−77)、その共通資源の排他制御資源数からパ
ラメータにて読み取った返却資源数を引き(ステップS
−78)、その結果得られた排他制御資源数が“0”か
否かをチェックする(ステップS−79)。“0”でな
い場合には、従来と同様に、OSは共通メモリ上のCP
U−1→CPU−2のCPU間通信領域に正常に復帰し
た情報を書き込む(ステップS−83)。
【0069】ステップS−79のチェックにて排他制御
資源数が“0”の場合には、共通メモリ上の排他制御管
理テーブルのその共通資源の排他制御CPU−ID及び
排他制御タスクIDをクリアし(ステップS−80)、
その共通資源に獲得待ち状態のタスクがあるか否かチェ
ックする(ステップS−81)。獲得待ち状態のタスク
があれば、共通メモリ上の排他制御管理テーブルのその
共通資源の獲得待ちCPU−ID、獲得待ちタスクI
D、獲得要求資源数を排他制御CPU−ID、排他制御
タスクID、排他制御資源数にコピーした後、獲得待ち
CPU−ID、獲得待ちタスクID、獲得要求資源数を
クリアし(ステップS−82)、その後、従来と同様
に、共通メモリ上のCPU−1→CPU−2のCPU間
通信領域に正常に復帰した情報を書き込む(ステップS
−83)。
【0070】以上に説明した構成のマルチプロセッサシ
ステムにおけるデッドロック自動解除の動作の例を以下
に説明する。
【0071】〔例1〕図2に示すように、まずCPU−
1のタスクAがCPU−3のOSが管理している共通資
源C(使用可能資源数=1)を獲得要求(要求資源数=
1)するためのシステムコール(図2の)を発行する
と、その共通資源Cを獲得することができ、以降、その
共通資源Cの排他制御を行う。
【0072】次にCPU−2のタスクBがCPU−4の
OSが管理している共通資源D(使用可能資源数=1)
を獲得要求(要求資源数=1)するためのシステムコー
ル(図2の)を発行すると、その共通資源Dを獲得す
ることができ、以降、その共通資源Dの排他制御を行
う。
【0073】次にCPU−1のタスクAがCPU−4の
OSが管理している共通資源D(CPU−2のタスクB
が既に排他制御中のため使用可能資源数=0)を獲得要
求(要求資源数=1)するためのシステムコール(図2
の)を発行すると、共通資源Dの使用可能資源数は0
であるから、CPU−1のタスクAはその共通資源Dを
獲得することはできず、共通資源Dの待ち状態になる。
【0074】この状態でCPU−2のタスクBがCPU
−3のOSが管理している共通資源C(CPU−1のタ
スクAが既に排他制御中のため使用可能資源数=0)を
獲得要求(要求資源数=1)するためのシステムコール
(図2の)を発行すると、CPU−2のOSがCPU
間通信要求をその後行った場合は、CPU−1のタスク
A及びCPU−2のタスクBはデッドロック状態に陥
り、以降、共通資源待ち状態から解除されなくなる。
【0075】図12と図13はこのデッドロック状態時
の排他制御管理テーブルと排他制御共通資源情報テーブ
ルのデータ変化の様子を示す。ここで、図12はCPU
−1のローカルメモリ上のタスクAの排他制御共通資源
情報テーブル、及びCPU−2のローカルメモリ上のタ
スクBの排他制御共通資源情報テーブル内のデータの変
化を示し、図13は共通メモリ上のCPU−3の共通資
源Cの排他制御管理テーブル、及びCPU−4の共通資
源Dの排他制御管理テーブルのデータの変化を示す。
【0076】この図12と図13から分かるように、図
2の以降において、CPU−2のタスクBがCPU−
4の共通資源Dを排他制御中であり、CPU−1のタス
クAがCPU−4の共通資源Dを獲得待ち状態にあり、
またCPU−3の共通資源CをCPU−1のタスクAが
排他制御中のため、タスクAとタスクBは共に相手が排
他制御中の共通資源の解放を待って待ち状態になってし
まうためデッドロック状態となる。したがって、この排
他制御管理テーブルと排他制御共通資源情報テーブルの
内容を参照すれば、デッドロック状態の発生を事前に認
識することができる。そこで、デッドロック状態の発生
が認識された時には、タスクBにCPU−4のOSが管
理している共通資源Dを返却してから再度共通資源Cを
獲得要求するように通知する。
【0077】〔例2〕例1では共通資源C及びDとも使
用可能資源数の初期値は“1”であるので、あるタスク
(例1ではCPU−1のタスクAまたはCPU−2のタ
スクB)が共通資源を獲得要求するシステムコールを発
行して獲得した後それを返却するまでの間に、他のタス
クがその共通資源を獲得要求するシステムコールを発行
した場合には、その他タスクはその共通資源の獲得待ち
状態になっていた。
【0078】しかし、共通資源の使用可能資源数の初期
値は“1”に限られるものではなく、“2”以上の場合
もある。この場合、それらの共通資源を同時に複数のタ
スクが排他制御することが可能である。共通資源の使用
可能資源数を複数とした場合には、前述の図3に示す共
通メモリ上の排他制御管理テーブルでは、同時に1つの
タスクしか情報を格納できないため、この排他制御管理
テーブルを図14に示すように同時に複数のタスク(最
大でその共通資源の初期使用可能資源数)が現在排他制
御中である情報を格納できるようテーブル構成を変更す
る必要がある。すなわち、図14では、共通資源を現在
排他制御中の各タスク毎に排他制御タスクブロックを生
成し、この排他制御タスクブロックを排他制御タクスブ
ロックキューイング情報を用いてキューイングさせるよ
うにしている。
【0079】また図3に示す共通メモリ上の排他制御管
理テーブルでは同時に1つのタスクしか共通資源の獲得
待ちの情報を格納できないが、実際は複数のタスクが同
時に1つの共通資源の獲得待ち状態になる可能性があ
り、またCPUの数が多くなればなるほどその可能性が
高くなる。よって図14に示すように同時に複数のタス
クが現在同一共通資源を獲得待ち状態である情報を格納
できるようテーブル構成を変更する必要がある。すなわ
ち図14では、獲得待ちのタスク毎に獲得待ちタスクブ
ロックを生成して、この獲得待ちタスクブロックを獲得
待ちタスクブロックキューイング情報を用いてキューイ
ングさせるようにしている。
【0080】排他制御タスクブロックのキューと獲得待
ちタスクブロックのキューはシステム内の全ての共通資
源について存在するが、図14ではCPU−1の共通資
源1及びCPUnの共通資源rだけ示してある。また排
他制御タスクブロック及び獲得待ちタスクブロックのキ
ューにキューイングされる排他制御タスクブロック及び
獲得待ちタスクブロックは、1つの共通資源に対して同
時に複数キューイングされることがあるが、図14では
CPU−1の共通資源1には共に1つだけキューイング
した場合を示してある。
【0081】〔例3〕図2ではCPU−1のタスクAと
CPU−2のタスクBとが同じ2種類の共通資源CとD
を獲得要求したためデッドロック状態に陥ったが、3つ
以上のタスクがそれぞれ複数の種類の共通資源を獲得要
求する際にデッドロック状態に陥る場合も勿論ある。図
15にはこの例が示されており、CPU−1のタスクA
とCPU−2のタスクBとCPU−3のタスクCが存在
し、CPU−1のタスクAが共通資源DとE、CPU−
2のタスクBが共通資源EとF、CPU−3のタスクC
が共通資源FとDというように、それぞれ複数の種類の
共通資源を獲得要求し,その際にデッドロック状態に陥
る様子が示されている。
【0082】この場合、共通資源獲得要求システムコー
ル発行元タスク(図15ではCPU−3のタスクC)の
OSは図5と図6の処理フローに示す方法ではデッドロ
ックを検出できない。つまりステップS−19にてCP
U−3のタスクCは共通資源Dを獲得要求しており、共
通資源DはCPU−1のタスクAが排他制御中であり、
CPU−3のタスクCが排他制御中の共通資源Fを獲得
待ち状態のタスクはCPU−2のタスクBであるからで
ある。このため、図4に示すような各CPUのローカル
メモリ上に存在する各タスク毎の排他制御共通資源情報
テーブルと同じ内容のテーブルを、システム内の全タス
クについて新たに共通メモリ上にも設ける。
【0083】そして図5のステップS−19にて発行元
タスクが獲得要求している共通資源を排他制御中のタス
クIDと発行元タスクが排他制御中の共通資源を獲得待
ち状態のタスクIDとが異なっていても、共通メモリ上
に新たに設けたテーブルから発行元タスク(CPU−3
のタスクC)が現在排他制御中の共通資源Fを獲得待ち
状態のタスク(CPU−2のタスクB)が現在排他制御
中の共通資源(E)の情報をステップS−17と同じ方
法にて読み取り、その共通資源が無ければCPU間通信
要求を行い、有ればその共通資源を獲得待ち状態のタス
クID(CPU−1のタスクA)をステップS−18と
同じ方法にて読み取り、再度ステップS−19と同じ方
法にてタスクIDをチェックする。そしてタスクIDが
一致すればデッドロック状態に陥るとの判断ができる。
【0084】〔例4〕以上説明したように、あるタスク
が共通資源獲得要求のシステムコールを発行し、OSが
CPU間通信要求を行うとデッドロック状態に陥ると判
断した場合は、CPU間通信要求を行わずに発行元タス
クに現在排他制御中のデッドロック対象の共通資源ID
を通知するわけだが、通常の場合、発行元タスクは上述
したようにいったんデッドロック対象の共通資源を返却
し、その後再度その共通資源獲得要求システムコールを
発行している。
【0085】しかし、共通資源の種類によってはあるタ
スクが同時に複数の種類の共通資源を獲得要求し、排他
制御状態にしないと実際に処理を行えないものもある。
この場合、発行元タスクは デッドロック対象の共通資源を返却せずに、自タス
クを一定時間ウェイト後、再度その共通資源獲得要求の
システムコールを発行する. デッドロック対象の共通資源をいったん返却後、自
タスクを一定時間ウェイトし、その後、デッドロック原
因の共通資源及びその共通資源獲得要求のシステムコー
ルを再度発行する. などの方法をとるとよい。
【0086】
【発明の効果】以上に説明したように、本発明によれ
ば、デッドロック状態の発生を未然に防止することがで
きる。これにより障害がないCPUが障害CPUと見な
されたりする誤りを防止できる。
【図面の簡単な説明】
【図1】本発明に係る原理説明図である。
【図2】マルチプロセッサシステムにおけるデッドロッ
ク状態発生までの過程を示すシステム構成図である。
【図3】共通メモリ上の排他制御管理テーブル(使用可
能資源数=1の場合)を示す図である。
【図4】各CPUのローカルメモリ上に存在する各タス
ク毎の排他制御共通資源情報テーブルを示す図である。
【図5】共通資源獲得のシステムコール発行元CPUの
OSが行う処理手順のフローチャート(1/2)であ
る。
【図6】共通資源獲得のシステムコール発行元CPUの
OSが行う処理手順のフローチャート(2/2)であ
る。
【図7】共通資源返却のシステムコール発行元CPUの
OSが行う処理手順のフローチャートである。
【図8】共通資源獲得における通信先CPUのOSが行
う処理手順のフローチャート(1/2)である。
【図9】共通資源獲得における通信先CPUのOSが行
う処理手順のフローチャート(2/2)である。
【図10】共通資源返却における通信先CPUのOSが
行う処理手順のフローチャート(1/2)である。
【図11】共通資源返却における通信先CPUのOSが
行う処理手順のフローチャート(2/2)である。
【図12】例1におけるローカルメモリ上の排他制御共
通資源情報テーブル内のデータの変化を示す図である。
【図13】例1における共通メモリ上の排他制御管理テ
ーブル内のデータの変化を示す図である。
【図14】共通メモリ上の排他制御管理テーブル(使用
可能資源数=複数の場合)を示す図である。
【図15】3つ以上のタスクがそれぞれ複数の共通資源
を獲得要求する際に発生するデッドロック状態の一例を
示す図である。
【図16】共通資源獲得要求システムコールを発行時、
要求したカウントを獲得できない場合を示す図である。
【図17】共通資源返却システムコールを発行時、要求
したカウントを獲得できた場合を示す図である。
【図18】共通資源を直ちに獲得し返却できた場合のC
PU間通信の仕組みを示す図である。
【図19】共通資源を獲得待ちし他タスクの返却により
獲得した場合のCPU間通信の仕組みを示す図である。
【符号の説明】
1〜4 CPU

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 マルチプロセッサシステムにおいて、各
    共通資源毎に現在排他制御中のタスク名及び現在獲得待
    ち状態のタスク名を格納する排他制御管理テーブルと、
    各タスク毎に各タスクが現在排他制御中の共通資源名を
    格納する排他制御共通資源情報テーブルを設け、あるタ
    スクが共通資源獲得要求のシステムコールを発行時には
    上記排他制御管理テーブル及び排他制御共通資源情報テ
    ーブルの内容を参照して当該共通資源獲得要求に基づい
    てデッドロック状態が発生するか否かを事前に判定し、
    共通資源をそのまま獲得要求するとデッドロック状態に
    なると判定した場合にはその時点では当該共通資源獲得
    要求を行わないようにしたデッドロック自動解除方法。
  2. 【請求項2】 上記共通資源をそのまま獲得要求すると
    デッドロック状態になると判定した時には、発行元タス
    クに対して現在排他制御中のデッドロック原因の共通資
    源名を通知し、通知を受けたタスクは、(1)復帰値に
    て指定された現在排他制御中の共通資源を返却するシス
    テムコールを発行し、その後再度当該共通資源獲得要求
    のシステムコールを発行する、(2)一定時間経過後再
    度当該共通資源を獲得要求するシステムコールを発行す
    る、(3)復帰値にて指定された現在排他制御中の共通
    資源を返却するシステムコールを発行し、一定時間経過
    後、復帰値にて指定された共通資源及びデッドロック状
    態に陥るために獲得できなかった共通資源を獲得要求す
    るシステムコールを再度発行する、の何れかを行うよう
    にしたことを特徴とする請求項1記載の共通資源排他制
    御時のデッドロック自動解除方法。
  3. 【請求項3】 共通メモリ上にシステム内の全タスクに
    ついて現在排他制御中の共通資源名を格納する領域を設
    けたことを特徴とした請求項1または2記載のデッドロ
    ック自動解除方法。
  4. 【請求項4】 排他制御共通資源情報テーブルに各タス
    ク毎に複数の種別の現在排他制御中の全ての共通資源の
    情報を格納できるようにしたことを特徴とする請求項1
    または2記載のデッドロック自動解除方法。
  5. 【請求項5】 排他制御管理テーブルに各共通資源毎に
    複数の現在排他制御中の全てのタスクの情報を格納でき
    るようにしたことを特徴とする請求項1または2記載の
    デッドロック自動解除方法。
  6. 【請求項6】 排他制御管理テーブルに各共通資源毎に
    複数の現在獲得待ち状態の全てのタスクの情報を格納で
    きるようにしたことを特徴とした共通資源排他制御時の
    デッドロック自動解除方法。
JP27767593A 1993-10-08 1993-10-08 マルチプロセッサシステムのデッドロック自動解除方法 Withdrawn JPH07105152A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27767593A JPH07105152A (ja) 1993-10-08 1993-10-08 マルチプロセッサシステムのデッドロック自動解除方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27767593A JPH07105152A (ja) 1993-10-08 1993-10-08 マルチプロセッサシステムのデッドロック自動解除方法

Publications (1)

Publication Number Publication Date
JPH07105152A true JPH07105152A (ja) 1995-04-21

Family

ID=17586743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27767593A Withdrawn JPH07105152A (ja) 1993-10-08 1993-10-08 マルチプロセッサシステムのデッドロック自動解除方法

Country Status (1)

Country Link
JP (1) JPH07105152A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100327113B1 (ko) * 1999-12-24 2002-03-06 오길록 분산 시스템에서의 공유자원에 대한 상호 배제적인사용오류 검사방법
WO2012098821A1 (en) 2011-01-18 2012-07-26 Toyota Jidosha Kabushiki Kaisha Multiprocessor system
US20150378791A1 (en) * 2014-06-27 2015-12-31 International Business Machines Corporation Detecting deadlocks involving inter-processor interrupts

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100327113B1 (ko) * 1999-12-24 2002-03-06 오길록 분산 시스템에서의 공유자원에 대한 상호 배제적인사용오류 검사방법
WO2012098821A1 (en) 2011-01-18 2012-07-26 Toyota Jidosha Kabushiki Kaisha Multiprocessor system
US9164799B2 (en) 2011-01-18 2015-10-20 Toyota Jidosha Kabushiki Kaisha Multiprocessor system
US20150378791A1 (en) * 2014-06-27 2015-12-31 International Business Machines Corporation Detecting deadlocks involving inter-processor interrupts
US9875148B2 (en) * 2014-06-27 2018-01-23 International Business Machines Corporation Detecting deadlocks involving inter-processor interrupts
US10579441B2 (en) 2014-06-27 2020-03-03 International Business Machines Corporation Detecting deadlocks involving inter-processor interrupts

Similar Documents

Publication Publication Date Title
US7539991B2 (en) Method and apparatus for decomposing I/O tasks in a raid system
US7254813B2 (en) Method and apparatus for resource allocation in a raid system
CN112650576B (zh) 资源调度方法、装置、设备、存储介质及计算机程序产品
US9658879B2 (en) System and method for supporting buffer allocation in a shared memory queue
US8266126B2 (en) System with multiple conditional commit databases
US9319281B2 (en) Resource management method, resource management device, and program product
US7437727B2 (en) Method and apparatus for runtime resource deadlock avoidance in a raid system
US7925805B2 (en) Critical resource management
JP2833633B2 (ja) データ処理システム及び待ち行列管理方法
US7458076B2 (en) Method, apparatus, and computer program product for dynamically tuning a data processing system by identifying and boosting holders of contentious locks
US20060092834A1 (en) Application flow control apparatus
US6968359B1 (en) Merge protocol for clustered computer system
CN109995842B (zh) 一种用于分布式服务器集群的分组方法及装置
JPH07105152A (ja) マルチプロセッサシステムのデッドロック自動解除方法
US6487580B1 (en) Method and system for managing concurrently executable computer processes
CN102904946B (zh) 集群内节点管理方法和装置
US20080250421A1 (en) Data Processing System And Method
CN111831408A (zh) 异步任务处理方法、装置、电子设备及介质
CN114237910A (zh) 客户端负载均衡实现方法及装置
US10063567B2 (en) System for cross-host, multi-thread session alignment
US6988122B2 (en) Ferris-wheel queue
WO2019165991A1 (zh) 基于灵活以太网的业务保护方法、服务器及存储介质
JPH07160645A (ja) マルチプロセッサシステムにおける共通資源排他制御方法
CN113126968B (zh) 任务执行方法、装置、电子设备和存储介质
US10897390B2 (en) Takeover method of process, cluster construction program and cluster construction apparatus

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20001226