JP3456551B2 - リモートメモリロードにおけるデッドロック回避方式 - Google Patents
リモートメモリロードにおけるデッドロック回避方式Info
- Publication number
- JP3456551B2 JP3456551B2 JP16790494A JP16790494A JP3456551B2 JP 3456551 B2 JP3456551 B2 JP 3456551B2 JP 16790494 A JP16790494 A JP 16790494A JP 16790494 A JP16790494 A JP 16790494A JP 3456551 B2 JP3456551 B2 JP 3456551B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- remote load
- message
- request
- remote
- 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
Links
Landscapes
- Multi Processors (AREA)
Description
テムに係り、特に他プロセッサエレメントのメモリを自
プロセッサのリモートload命令によって読み出す際のデ
ッドロックの発生を回避するデッドロック回避方式に関
する。
リをload命令によって読み出すリモートloadは、一般的
には、その読み出し結果がプロセッサに通知されるまで
の間プロセッサは動作できずに停止している。よって、
リモートloadの宛先PEは、いかなる状況においても返
送メッセージを送出できなければならない。さもなけれ
ば、送信元PEのプロセッサは動作が先に進めずデッド
ロックの状態になる。
ても返送メッセージを送出することができるように構成
するのは非常に困難である。例えば、宛先PEのメッセ
ージコントローラが返送メッセージを送出する場合に、
プロセッサに割り込み処理が必要であったとする。この
場合に、リモートloadの要求が複数のプロセッサで循環
していると、リモートloadの返送を待っている間プロセ
ッサは割り込み処理を行うことができない状態が前述の
複数のプロセッサ間で生じると、システムがデッドロッ
クする。
する。プロセシングエレメントPE0のプロセッサ1が
リモートload要求をメッセージ送信装置2から他プロセ
シングエレメントPE1に送信し、他プロセシングエレ
メントPE1ではそのプロセシングエレメントPE0か
らのリモートload要求をメッセージ受信装置14で受信
する前に、プロセシングエレメントPE1ではプロセッ
サ11に対して割り込み要求手段13からの割り込み要
求が生じており、プロセシングエレメントPE1のメッ
セージ受信装置14はプロセシングエレメントPE0か
らのリモートload要求を受信しても、割り込み要求が処
理されるまで、プロセシングエレメントPE0に対して
データを返送できない。
がリモートload要求を出した時と近接して、プロセシン
グエレメントPE1もメッセージ送信装置12を介して
プロセシングエレメントPE0にリモートload要求を行
っているとすると、プロセシングエレメントPE1の割
り込み要求はプロセシングエレメントPE0からリモー
トload要求に対する返信が返ってくるまで実行できな
い。プロセシングエレメントPE0ではそのプロセシン
グエレメントPE1からのリモートload要求を受信する
前に、プロセシングエレメントPE0ではプロセッサ1
に対して割り込み要求手段3からの割り込み要求が生じ
ており、プロセシングエレメントPE0はプロセシング
エレメントPE1からのリモートload要求をメッセージ
受信装置4で受信しても、割り込み要求が処理されるま
で、プロセシングエレメントPE1に対してデータを返
送できない。プロセシングエレメントPE0はプロセシ
ングエレメントPE1に対してすでにリモートload要求
を出しているので、その返信が来るまで割り込み要求手
段3の割り込み要求を受け付けることができない。すな
わち、プロセシングエレメントPE0の割り込み要求は
プロセシングエレメントPE0のリモートload要求の返
送が来るまで受け付けられないのにプロセシングエレメ
ントPE1の割り込み要求は逆にプロセシングエレメン
トPE1のリモートload要求の返送が来るまで受け付け
られない。
0,PE1ともお互いのリモートload要求に対する返送
を待ち続けデッドロックが生じる。なお、デッドロック
が生じるシステムにおいては、PEからのリモートload
要求に対しては、自PE0のメッセージコントローラは
自プロセッサがリモートload要求を他PE1に対して送
出してその返信が到着しない前であっても、自メモリに
対してアクセスして、返信ができるが、割り込み処理に
ついては、自プロセッサがリモートload要求を送出した
場合は、その返信が返って来るまでは、自プロセッサや
自メモリに対して実行できないことを前提としている。
クは、リモートload要求がプロセシングエレメントPE
0からプロセシングエレメントPE1へ発信され、その
後プロセシングエレメントPE1の割り込み要求が発生
し、その後リモートload要求がプロセシングエレメント
PE1に到達したことと、逆にリモートload要求がプロ
セシングエレメントPE1がプロセシングエレメントP
E0に発信され、その後プロセシングエレメントPE0
の割り込み要求が発生し,その後リモートload要求がプ
ロセシングエレメントPE0に到達したこととがほぼ並
行して起こった場合に生じる。
て、タイムアウトによる方法がある。これは、リモート
loadの結果を待つ時間をタイマを用いて制限し、ある一
定時間が経過しても結果が返ってこないならばエラーを
通知する手段を用いるものである。
全に停止してしまい、高速な応答が要求される割り込み
処理ですら処理を開始できない。
ートloadの返送メッセージが常に間に合わなくなり、リ
モートloadが実行できない。また、長すぎると、何らか
の理由で宛先PEからの返送メッセージが遅れた場合、
その間プロセッサが全く動作できず、システム全体に重
大な影響をもたらす。このように、タイムアウトの適切
な時間を決定するのが困難である。 という問題点があった。
デッドロック状態を予め発生させないようにすることを
目的とする。本発明はさらに分散メモリ型並列計算機に
おいて割り込み要求に対しては迅速に対応できるように
することを目的とする。
説明する原理説明図である。プロセッサ21とメモリ2
2とからなるプロセシングエレメントPEが相互結合網
23で多数結合された分散メモリ型並列計算機におい
て、プロセシングエレメントPEはデッドロック制御回
路24を有する。このデッドロック制御回路24は割り
込み制御装置25から割り込み要因が生じて割り込みが
発生したか否かを監視し、この割り込みが発生した場合
には、フラグ部26のフラグを1に設定する。プロセッ
サ21がリモートload要求27を発生した場合、デッド
ロック制御回路24により割り込み要因が発生したかを
監視し、割り込み要因が発生してない場合には、メッセ
ージコントローラ28を介して相互結合網23に送り出
されたリモートload要求に対する返事が転送されてきた
ことを示す完了通知29をプロセッサ21に通知する。
を発生したことを検出した場合には、リモートload要求
のエラー通知30をプロセッサ21に通知する。尚、メ
モリ22は他のPEからのリモートload要求に答えるた
めにメッセージコントローラ28に接続されている。
ッサ21から、リモートload要求27が発行される。リ
モートload要求27が発行されると、デッドロック制御
回路24は、プロセッサ21への割り込み要求の信号線
を監視し、割り込み要因が発生していなかどうか常にチ
ェックする。割り込み要因が発生せずに、宛先PEから
返送メッセージが到着したら、その結果を正常としてプ
ロセッサにリモートloadの完了を通知29して、動作を
終了する。宛先PEから返送メッセージが到着する前に
何らかの割り込み要因が発生したら、すぐにプロセッサ
21にリモートload要求のアクセスがエラーとなったこ
とを通知30する。割り込み要因が発生したらリモート
load要求のエラーの通知をプロセッサに行い、直ちに割
り込み処理に入るのは、割り込み要因に迅速に対応する
ためである。一般的なプロセッサ21は、load命令のア
クセスがエラーとなると、例外処理として登録されてい
た手続きの実行を開始する。この手続きの中で、割り込
みを発生させている要因を解決するための処理を呼び出
す。全ての割り込み処理要因に応答した後、例外処理手
続きを終了し、エラーとなったリモートload要求27を
再実行する。
ック制御回路24は、その状態を記憶するためにフラグ
部26にフラグをセットしておく。上記の例外処理を終
了して、リモートload要求27が再実行されるが、今度
は、デッドロック制御回路24は、フラグがセットされ
ている時にはメッセージコントローラ28からリモート
loadのメッセージを送出することを禁止し、そのアクセ
スを即座にエラーとする。
ジが一度送出されているので、同じ処理を意味するメッ
セージが2つ発生してしまって処理手順が混乱してしま
うのを防ぐためである。
loadが再実行されるが、このようにフラグがセットされ
ている間はエラーとなり、再実行を繰り返している。こ
の間の割り込み処理要求に対しても、プロセッサは例外
処理手続き内で処理することができる。
adに対する返送メッセージが到着してくる。このとき、
そのメッセージの内容は破棄するとともに、セットして
おいたフラグをクリアする。メッセージを破棄するの
は、このリモートload要求は、割り込み処理に応答する
ために、プロセッサ21に対し先にエラーとして通知し
たからである。フラグをクリアするのは、これで、処理
途中のメッセージ、すなわちリモートload要求をしてま
だ返事が到達していないメッセージがシステムからなく
なったからである。
リアされた後に繰り返して再実行されたリモートload要
求は、今度はまたメッセージとして送信されていくこと
になる。
4を動作させれば良い。また、例外処理手続きは、割り
込み要因を解決する手続きを呼び出して、再びリモート
loadを実行するようになっていれば良い。
機の構成図である。各プロセシングエレメントPEはプ
ロセッサ21とメモリ22とからなり、多数のプロセシ
ングエレメントPEが相互結合網23を介して接続され
ている。各プロセシングエレメントPEのメモリ22は
各プロセシングエレメントPEが固有に使用するローカ
ル部と他のPEエレメントが共同して使用する共有部に
分かれている。たとえば、ある特定のアドレスについて
は、特定のプロセシングエレメントの共用メモリのアド
レスとして存在するので、各共有メモリ部は各プロセッ
サに分散しているが、あたかも1つの共有メモリである
ように使用可能である。
説明する図である。プロセシングエレメントPE0のプ
ロセッサ21がメッセージコントローラ28を介してlo
ad命令のアドレス部を発生し、このアドレス部よりload
対象のデータが存在するPE番号とその中でのアドレス
を決定してメッセージコントローラ28がルートa)に
示すようにリモートload要求のメッセージを例えばプロ
セシングエレメントPE1のメッセージコントローラ2
8に転送する。
ングエレメントPE1のメッセージコントローラ28
は、ルートb)に示すように、指定されたアドレスのメ
モリ内容を読み出し、結果を送信メッセージとして送信
元のプロセシングエレメントPE0に返送する。
の返送メッセージを受け取ると、ルートc)に示すよう
に、その結果をプロセッサ21のload命令の読み出しの
結果としてプロセッサ21に通知する。
第6図に従って説明したように、デッドロックが生ずる
可能性がある。本発明はかかるデッドロックを事前に回
避するのである。
セッサ21からリモートload要求がデッドロック制御回
路24のフラグ判定部241に加わると、フラグ部26
のフラグが0ならばリモートload要求をメッセージコン
トローラ28内のリモートloadメッセージ発生装置28
1及びメッセージ送信制御装置282を介して相互結合
網23に転送する。フラグ判定部241がフラグ部26
のフラグを1として検出した場合には、リモートload要
求はエラーである旨を通知する。デッドロック制御回路
24内のフラグ部26のフラグは、たとえばI/O装置
からの割り込み要求に応じた出力が割り込み制御装置2
5から生じた場合に、割り込み制御装置25により1に
セットされる。メッセージコントローラ28内のメッセ
ージ受信制御装置283がリモートloadの結果のメッセ
ージを受け取った場合に、フラグ判定部242において
フラグ部26のフラグが0と判定したならばリモートlo
adの結果をプロセッサ21に転送し、フラグ部26のフ
ラグが1と判定したならばその受信したメッセージを破
棄してフラグを0に設定する。フラグが1ということ
は、リモートload要求後に割り込み要因が生じ、そのリ
モートload要求はエラーである旨既にプロセッサ21に
通知してあるので、リモートloadの結果のメッセージは
本来要求していないメッセージであるから破棄される。
そして、フラグをいったん0にセットし、再度リモート
load要求を行い、このとき割り込み制御装置25から再
び割り込み要求に応答してフラグが1に変更されている
ならば、このリトライしたリモートload要求は再びエラ
ーの旨の通知をプロセッサ21に行う。
御回路24の動作を図5のフローチャートを用いてさら
に詳細に説明する。PE0がリモートload要求をする
と、フラグが0か否かを判定し(ステップS1)フラグ
が0の時はリモートloadメッセージを送出し(ステップ
S2)、返送メッセージが到着したか否かを判断する
(ステップS3)。
着しているならば、また最初に戻って次のリモートload
要求を送出すればよい。ステップS3において返送メッ
セージが到着していないならば、割り込み要因が存在す
るか否かを判断し(ステップS4)、割り込み要因が存
在していなければステップS3に戻ってメッセージの到
着を待ち続ける。
していればフラグを1にし(ステップS5)、エラー通
知をプロセッサ21に行い、例外ハンドラを起動する。
そして、割り込み要因が存在している時には(ステップ
S6)、割り込み要因の解決の処理(ステップS7)を
行う。割り込み要因が存在していないか、あるいは割り
込み要因が存在していても割り込み要因解決の処理か行
われれば、再び最初に戻ってリモートload要求から再開
される。この例外ハンドラはステップS1においてフラ
グが0でない時にも起動されて割り込み要因の存在の有
無を判定する。
た時フラグが0であるならば(ステップS8)割り込み
要求が生じていないので、返送メッセージは結果として
プロセッサへ通知されて次のリモートload要求が行われ
る。しかし、返送メッセージが到着してフラグが0でな
い時にはフラグを0に戻して(ステップS9)返送メッ
セージを破棄する。これは前述したようにフラグが1の
時はプロセッサにエラー通知が行われリモートload要求
はいったんキャンセルされているから、このキャンセル
されたリモートload要求に対する返送メッセージを破棄
するものである。
生じたときは、直ちにフラグを1として、プロセッサに
リモートloadがエラーであることを通知したのは、割り
込み要因に対して高速に対応して割り込み処理を行うた
めである。
がリモートload要求を行って、その後に割り込み要因が
生じた場合に、他PEからのリモートload要求が到着し
ているかを判別し、まだ他PEからのリモートload要求
が到着していないときのみデッドロックが生じるので、
フラグを1に設定し、自PEからのリモートload要求に
対してエラー通知を自PEのプロセッサ宛に行ってもよ
い。
ドロックを回避することができる。 2.リモートloadの返送を待っている間に発生した割り
込み処理要求に対して、すぐに応答することができる。 3.時間設定の困難なタイムアウトの機構を必要としな
い。 といった効果がある。
る。
の構成図である。
フローチャートである。
の説明図である。
Claims (5)
- 【請求項1】プロセッサとメモリからなるプロセシング
エレメントが結合網で結合された並列計算機システムに
おいて、 前記プロセシングエレメントは、 他のプロセシングエレメントに対してリモートload要求
を送出するメッセージ送信手段と、 前記プロセッサに対して割り込み要求を行う割り込み要
求手段と、 前記プロセッサがメッセージ送信手段を介してリモート
load要求を他プロセッシングエレメントに送出し、前記
他プロセッシングエレメントからデータが返送されてく
る前に前記割り込み要求手段が前記プロセッサに対して
割り込み要求を行った場合には、他プロセッシングエレ
メントに対するリモートload要求をエラーとして前記プ
ロセッサに通知し、前記割り込み要求手段による割り込
み動作を前記プロセッサが優先して受け付けるように制
御するデッドロック制御手段と、 前記リモートload要求がエラーとなったことを通知した
とき、内部でそのエラーを発生させたことを記憶するフ
ラグをセットし、そのあとで、リモートload要求を送信
した先の他のプロセッシングエレメントから返送メッセ
ージが到着してきたら、フラグをリセットするフラグ手
段と、を具備することを特徴とするデッドロック回避方
式。 - 【請求項2】プロセッサとメモリからなるプロセシング
エレメント(PE)が相互結合網で接続された並列計算
機システムにおいて、 送信元PEのプロセッサが発行したload命令のアドレス
部からload対象のデータが存在するPE番号とそのなか
でのアドレスを決定し、リモートload要求の発行とし
て、リモートloadコマンドのメッセージを送出し、その
メッセージを受け取ったPEの指定されたアドレスのメ
モリの内容を含む結果を返送メッセージとして受信し、
返送メッセージを受け取ると、その結果をプロセッサの
load命令の読み出し結果としてプロセッサに通知するリ
モートloadを行う手段と、 リモートload要求が発生して、リモートloadメッセージ
を受け取ったPEからの返送メッセージを待っている間
に、プロセッサへの割り込み要求信号が生じたかを監視
し、もし返送メッセージが到着するまで割り込み要求が
発生しなかったら、到達した返送メッセージの結果を正
常終了としてプロセッサにリモートloadが完了したこと
を通知し、リモートload要求が発生して、リモートload
メッセージを受け取ったPEからの返送メッセージを待
っている間に、プロセッサへの割り込み要求信号を監視
し、もしそのあいだに割り込み要求が発生したら、プロ
セッサにリモートload要求がエラーとなったことを通知
するデッドロック制御手段と、 前記プロセッサにそのアクセスがエラーとなったことを
通知したとき、内部でそのエラーを発生させたことを記
憶するフラグをセットし、そのあとでリモートloadメッ
セージを受け取ったPEから返送メッセージが到着して
きたら、フラグをリセットするフラグ手段と、を備える
ことを特徴とするリモートloadデッドロック回避方式。 - 【請求項3】前記フラグがセットされている間に再びリ
モートload要求を行った場合、その要求に対してエラー
通知を行う手段を備えることを特徴とする請求項2記載
のリモートloadデッドロック回避方式。 - 【請求項4】前記デッドロック制御手段は、前記リモー
トloadを行う手段がリモートload要求をした後リモート
load要求に対してデータが自プロセッサに返送されてく
る前であって、他プロセッサからのリモートload要求を
自プロセッサのメッセージ受信手段が受信する前に割り
込み要求が行われた場合には、前記自プロセッサからの
リモートload要求をエラーし、前記割り込み要求を優先
して処理することを特徴とする請求項2記載のデッドロ
ック回避方式。 - 【請求項5】前記プロセッシングエレメントは多数相互
結合されて、分散メモリ型並列計算機システムを構成す
ることを特徴とする請求項2記載のデッドロック回避方
式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16790494A JP3456551B2 (ja) | 1994-07-20 | 1994-07-20 | リモートメモリロードにおけるデッドロック回避方式 |
US08/503,916 US5742843A (en) | 1994-07-20 | 1995-07-19 | Control system for access between processing elements in a parallel computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16790494A JP3456551B2 (ja) | 1994-07-20 | 1994-07-20 | リモートメモリロードにおけるデッドロック回避方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0830563A JPH0830563A (ja) | 1996-02-02 |
JP3456551B2 true JP3456551B2 (ja) | 2003-10-14 |
Family
ID=15858212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16790494A Expired - Fee Related JP3456551B2 (ja) | 1994-07-20 | 1994-07-20 | リモートメモリロードにおけるデッドロック回避方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3456551B2 (ja) |
-
1994
- 1994-07-20 JP JP16790494A patent/JP3456551B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0830563A (ja) | 1996-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5386512A (en) | System for deriving and testing mutual capability set after receiving updated capability from other processors and before requesting service information | |
JP3308026B2 (ja) | 二重プロセス表示サーバシステム | |
CN107688502B (zh) | 进程间通信方法及装置 | |
CA2279382A1 (en) | Web request broker controlling multiple processes | |
US20010011296A1 (en) | Method and apparatus for providing multiple commands to a server | |
JPH02144727A (ja) | データ通信方法 | |
JP3490473B2 (ja) | プロセッサ間通信システム | |
JP3456551B2 (ja) | リモートメモリロードにおけるデッドロック回避方式 | |
JP2006172218A (ja) | コンピュータシステム及びシステム監視プログラム | |
JP2972491B2 (ja) | バス制御機構及び計算機システム | |
JPH0628322A (ja) | 情報処理装置 | |
JP2004334840A (ja) | システムバスの制御方法及び関連装置 | |
JP3091791B2 (ja) | メッセージ型データ処理システム | |
JP2677175B2 (ja) | コンピュータシステムの外部イベント検出方式 | |
JPH09269936A (ja) | リモートリード処理方法およびその装置 | |
JPS624027B2 (ja) | ||
JP2961542B2 (ja) | データ処理システム | |
US5790135A (en) | Process control implementing and visualizing method | |
JP3421492B2 (ja) | バスのスタック監視方式 | |
JP2001256171A (ja) | データ転送方法及びモジュール | |
JPH0877024A (ja) | メッセージ転送方式 | |
JP2712389B2 (ja) | 通信制御処理装置 | |
JP3110124B2 (ja) | マルチコンピュータシステムにおける障害検出方式 | |
JPH07141215A (ja) | 障害発生防止方法 | |
JPH0626368B2 (ja) | 通信制御方式および通信アダプタ |
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: 20030715 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080801 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090801 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090801 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100801 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110801 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120801 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |