JPH06266678A - 並列処理装置 - Google Patents

並列処理装置

Info

Publication number
JPH06266678A
JPH06266678A JP5052718A JP5271893A JPH06266678A JP H06266678 A JPH06266678 A JP H06266678A JP 5052718 A JP5052718 A JP 5052718A JP 5271893 A JP5271893 A JP 5271893A JP H06266678 A JPH06266678 A JP H06266678A
Authority
JP
Japan
Prior art keywords
synchronization
bus
message
memory
electronic circuit
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
JP5052718A
Other languages
English (en)
Inventor
Noboru Tanabe
昇 田邊
Maki Suzuki
真樹 鈴木
Shinichi Sugano
伸一 菅野
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP5052718A priority Critical patent/JPH06266678A/ja
Publication of JPH06266678A publication Critical patent/JPH06266678A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 本発明は、システムに故障した電子回路が存
在したり、電子回路数が多くなった場合においても1電
子回路で複数の種類の同期を高速に取ることのできる並
列処理装置を提供することを目的とする。 【構成】 それぞれが独立に動作し得る複数の電子回路
を構成要素とする並列処理装置であって、前記複数の電
子回路のそれぞれに接続され同期の種類を表す同期番号
を通知する同期番号放送バスと、前記複数の電子回路の
それぞれに接続され論理積機能を具備する同期判定バス
と、同期番号放送バスを介して通知する同期番号を制御
する同期コントローラと、この同期コントローラに同期
番号を与える同期番号設定手段と、この同期番号設定手
段で設定された同期番号に対応して、前記複数の電子回
路のそれぞれに接続される同期判定バスが全て同期完了
状態になったことを検知する検知手段とを備えて構成さ
れる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列処理装置に関し、
特に並列処理装置の同期方式、プロセッサエレメント間
の通信方式及びメモリアクセス方式に関するものであ
る。
【0002】
【従来の技術】近年、並列処理装置に関して種々提案さ
れている。例えば、従来の並列計算機においては、少数
のプロセッシングエレメント(以下、PEと略す)で同
期を取る場合、ワイヤード論理和で構成されている同期
バスを全てのPEに接続し、PEは同期点まで実行終了
したら同期バスに出力する信号をアクティブにすること
により、同期の完了を判定していた。
【0003】このワイヤード論理和で構成されている同
期バスは、接続されているPEの出力信号が全てアクテ
ィブにならないとアクティブにならないので、同期バス
の状態を見るだけで同期の完了が判定できる。
【0004】しかし、ワイヤード論理和で構成された同
期バスだけで同期を取る場合、1つのPEで複数の種類
の同期をとるには同期の種類だけの同期バスが必要とな
り、また、1つのPEが故障した場合、故障したPEが
同期バスの出力を常にネガティブにしてしまうことも考
えられるので、同期が全く取れなくなる恐れがある。ま
た、多数のPEで同期を取る場合、PE間を結合するデ
ータやプログラムを伝送するネットワークを使用して同
期を指示するメッセージを送り同期を取ることができ
る。同期を指示するメッセージをPEに伝送する方式に
より同期を取る方法では、1つのPEから同期を取らな
くてはならない全てのPEに1つずつ同期メッセージを
送っていたのでは時間がかかり過ぎてしまうので、常に
1つ隣のPEに対して同期メッセージを伝送していくバ
ケツリレー式に伝送する方法が多く採用されている。
【0005】この方法だと、PEから一つ隣のPEに同
期メッセージを送っていく時に、どうしてもハードウェ
アおよびソフトウェアの遅延が生じるので、特にPE数
が多い場合は高速な同期処理を行うことができない。ま
た仮に、同期メッセージを隣のPEに伝送する箇所に高
速なハードウェアを用いたとしても、PE数が多くなる
に従って遅延が累積されるので、高速な同期をとること
ができない。
【0006】また、ワームホールルーティングを行な
う、並列計算機システムでのプロセッサエレメント間通
信では、メッセージの転送に際して、他のPEに送るべ
きメッセージを受けとった中継PEは到着したメッセー
ジを即座に次の中継PEあるいは目的PEに送るという
動作を行なっていた。
【0007】このような計算機間結合網では、中継PE
の異常動作が起きた場合には、先に送信されたメッセー
ジを、後に送信されたメッセージが追い越すということ
が原理的に起こる可能性があり、シストリックアレイや
ウェーブフロントアレイのようにデータの到着順序の逆
転を許容しない並列処理方式実行時には計算結果が保証
できなくなる。
【0008】そのため従来は、疎粒度のメッセージ交換
を行なう計算機間結合網に対しては、長期間重なること
のないビット長の多いシーケンス番号の伝送を行なった
り、ソフトウェアによって対策が行なわれたりしていた
が、シストリックアレイのような細粒度並列処理を行な
うための計算機間結合網に対しては、通信の度にソフト
ウェアが動作したり、ヘッダー情報が多くなるような異
常動作対策は、処理速度が遅くなるため、特に対策はと
られていなかった。
【0009】以上のように、従来はシストリックアレイ
のような細粒度並列処理時の高いシステム性能と、メッ
セージ到着順序を両立させることは困難であった。
【0010】さらに、メモリを有する複数のPEにより
構成される並列計算機等の並列処理装置において多くの
PE数で分散共有メモリを実装する場合、PEの構成部
品の一つであるプロセッサのアドレスバスの大きさによ
って分散共有メモリの最大容量が決められる。従来の並
列計算機においてはPE数と各PEに実装されているメ
モリの容量の積(システム全体のメモリ容量もしくは分
散共有メモリで使用できる最大メモリ容量)がプロセッ
サのアドレスバスで充分表現可能な範囲であったため、
問題は生じなかったが分散共有メモリで使用できるメモ
リ容量がプロセッサのアドレスバスで表現できる範囲を
超越して大きくなる場合において従来の方法では対応す
ることができない。
【0011】また、並列計算機のアプリケーションの科
学技術計算向け等のような一部のものでは、同じアドレ
ス間に対してブロック状のデータを何度も転送する必要
がある。従来ではこの様なアプリケーションにおいてブ
ロック状のデータを転送する場合はDMA(Direc
t Memory Access)コントローラを用い
て転送を実行しなければならなかった。これらの方法で
はブロック状のデータを転送する時に必ずシステムプロ
グラムが起動してしまうので1回で数十μs〜数百μs
程度のソフトウェアオーバーヘッドがかかってしまい処
理の高速化が望めない。
【0012】
【発明が解決しようとする課題】上述したように、並列
計算機において、故障したPEがシステムに存在した場
合や、PE数が多くなった時、1PEあたり複数の同期
を取りたい時に高速な同期処理を実施することが困難で
あった。
【0013】本発明は、上記課題に鑑みてなされたもの
で、システムに故障したPEが存在したり、PE数が多
くなった場合においても1PEで複数の種類の同期を高
速に取ることのできる並列処理装置を提供することを目
的とする。
【0014】また、並列処理装置の細粒度処理時のPE
間通信において、簡単なハードウェアによって、システ
ム全体の性能を低下させることなく、計算機結合網の異
常動作を即座に検出することのできる並列処理装置を提
供することを目的とする。
【0015】また、分散共有メモリを有する大規模な並
列処理装置を構成する場合、プロセッサのアドレスバス
の大きさ以上の分散共有メモリを使用することが困難で
あった。また、複数のユーザで使用する時のプロテクシ
ョンやブロック状のデータ転送をシステムプログラムの
仲介なしに高速で行なうことが困難であった。
【0016】本発明は、上記課題に鑑みてなされたもの
で、分散共有メモリを用いた並列処理装置において汎用
マイクロプロセッサの改造をすること無くプロセッサの
アドレスバスの大きさ以上のメモリを使用し、ブロック
状のデータ転送をシステムプログラムの仲介なしで高速
に行なうことのできる並列処理装置を提供することを目
的とする。
【0017】
【課題を解決するための手段】上記目的を達成するため
本願第1の発明は、それぞれが独立に動作し得る複数の
電子回路を構成要素とする並列処理装置であって、前記
複数の電子回路のそれぞれに接続され同期の種類を表す
同期番号を通知する同期番号放送バスと、前記複数の電
子回路のそれぞれに接続され論理積機能を具備する同期
判定バスと、同期番号放送バスを介して通知する同期番
号を制御する同期コントローラと、この同期コントロー
ラに同期番号を与える同期番号設定手段と、この同期番
号設定手段で設定された同期番号に対応して、前記複数
の電子回路のそれぞれに接続される同期判定バスが全て
同期完了状態になったことを検知する検知手段とを有す
ることを要旨とする。
【0018】望ましくは、電子回路ブロック内に使用し
ない同期番号の応答義務をマスクする為の同期番号マス
ク手段を有すると良い。
【0019】また、望ましくは、電子回路ブロックが同
期の応答義務を遂行しなくても対応する同期判定バスで
同期がとれたことにすることを指示する無条件同期完了
信号を具備する同期コントローラを有すると良い。
【0020】さらに望ましくは、同期コントローラに接
続されている同期判定バスの状態を知る手段と、同期コ
ントローラ間の同期判定を行なう同期コントローラ間同
期判定手段および同期コントローラ間の同期が完了した
ことを電子回路ブロックへ通知する全体同期完了通知手
段を有すると良い。
【0021】また、本願第2の発明は、ネットワークを
介して接続される複数の電子回路を構成要素とする並列
処理装置であって、これら複数の電子回路間の通信に関
し、少なくとも送信側電子回路はメッセージ送信手段と
短ビット長の数値系列を発生する数値系列発生手段とを
具備し、受信側電子回路はメッセージ受信手段と前記数
値系列発生手段で発生された数値系列の順序を検査する
検査手段を具備し、送信側電子回路のメッセージ送信手
段にあっては、メッセージ送信の際には数値系列発生手
段で発生された数値系列を各メッセージのヘッダに付加
して送信し、受信側電子回路のメッセージ受信手段にあ
っては、受信したメッセージの数値系列の順序の検査を
検査手段で行なうことを要旨とする。
【0022】望ましくは、送信側電子回路としてのPE
が一定の数のメッセージを送信する毎に、あるいは一定
時間毎に、それまでに送信されたメッセージ列によって
生成された検査符号を伝送し、受信側電子回路としての
PEでそれまでに伝送されたメッセージの順序の正当性
を検査すると良い。
【0023】また、本願第3の発明は、メモリを有し、
それぞれが独立に動作し得る複数の電子回路を構成要素
とする並列処理装置であって、前記各電子回路はそれぞ
れのメモリを各電子回路で走行するプロセスのユーザ空
間にマッピングし、このマッピングに基づいて任意の電
子回路で発生したメモリアドレスが他の電子回路のメモ
リに対応することが判別されるときには当該他の電子回
路へのリモートアクセスメッセージを生成するリモート
アクセスメッセージ生成手段と、このリモートアクセス
メッセージ生成手段で生成されるリモートアクセスメッ
セージの受信に応じてこのリモートアクセスメッセージ
の内容に対応する応答を行なうリモートアクセスメッセ
ージ応答手段とを有することを要旨とする。
【0024】望ましくは、各電子回路としてのPEで走
行するプロセスのユーザ空間にマッピングされる他PE
の数と他PEの1つあたりのメモリ容量を可変させる手
段を具備すると良い。
【0025】また、望ましくは、システムに複数のユー
ザまたは複数のプロセスが実在するマルチプロセッサシ
ステムにおいて、各プロセスの生存中は他PEのメモリ
をプロセスのユーザ空間に固定的にマッピングし、ユー
ザまたはプロセスを識別する識別情報付加手段を具備す
るリモートアクセスメッセージ生成部と、リモートアク
セスメッセージ中の識別情報により他PEにおける自メ
モリのアクセス権限を判定し、リモートアクセスの内容
とアクセス権限の判定の結果に対応する応答を行なう手
段を具備するリモートアクセス応答部を具備すると良
い。
【0026】さらに、本願第4の発明は、メモリを有
し、それぞれが独立に動作し得る複数の電子回路を構成
要素とする並列処理装置であって、あらかじめブロック
状のデータ授受を要求するリモートアクセスメッセージ
に反映される通信制御語をユーザモードではアクセス不
可能なシステム領域に格納する格納手段と、この格納手
段でシステム領域に格納される通信制御語の起動を指示
するアドレスをユーザモードからアクセス可能なユーザ
空間にマッピングするマッピング手段とを有することを
要旨とする。
【0027】
【作用】上述の如く構成すれば、本願第1の発明の並列
処理装置は、同期コントローラは同期番号設定手段によ
り電子回路で使用される同期の種類を表す同期番号が設
定され、同期コントローラに接続されている同期番号放
送バスを用いて同期番号を電子回路に通知する。電子回
路にはn本の同期番号放送バスおよび論理積の機能を具
備する同期判定バスが接続されており、同期番号放送バ
スおよび同期判定バスはそれぞれ複数の電子回路が接続
されている。
【0028】電子回路は、電子回路に接続されているn
本の同期番号放送バスのうち、予め決められている優先
度の高い順に同期番号放送バスより通知されている同期
番号に対して同期点に到達しているかを調べ、同期点に
到達していて、かつ、優先度の一つ高い同期判定バスの
状態がアクティブ(同期がとれている状態)であれば、
同期番号放送バスに対応した同期判定バスに出力する信
号をアクティブにする。
【0029】同期判定バスは論理積機能を持つように構
成されているので同期判定バスに接続された全ての電子
回路が同期判定バスへの出力信号をアクティブにしない
と同期判定バスはアクティブとならないので、同期判定
バスがアクティブになると同期判定バスに接続されてい
る全ての電子回路の同期が完了したことになる。
【0030】また、1つでも同期点に到達していない電
子回路が存在すれば、同期点に到達していない電子回路
に接続されている同期判定バスがネガティブになったま
まであるから、電子回路がn本の同期番号放送バスのう
ち、優先度の高い順に同期判定を行ない、同期点に到達
し、かつ、優先度の一つ高い同期判定バスがアクティブ
の時に同期判定バスに出力する信号をアクティブにして
いけば、同期点に到達していない電子回路に接続された
同期判定バスはネガティブになったままであるので、そ
れ以降の優先度が低い同期判定バスは必ずネガティブに
なったままである。
【0031】以上より、同期完了のチェックは電子回路
の優先度の最も低い同期判定バスの状態をチェックする
だけでシステム全体の同期状態を知ることができる。優
先度の最も低い同期判定バスがアクティブなら同期が完
了したことを示し、ネガティブなら同期が完了していな
いことを示している。
【0032】また、電子回路にn本の同期番号放送バス
から通知される同期番号に対する同期の応答義務をマス
クする為の同期番号マスク手段を具備し、同期コントロ
ーラから同期番号放送バスを経由して電子回路に入力さ
れる同期番号のうち、電子回路では予め同期の応答義務
をマスクされた同期番号が入力されたとき、同期の応答
義務をマスクされた同期番号が入力された同期番号放送
バスに対する同期の結果は、たとえ同期状態レジスタで
同期点に到達したことを示す状態に設定されていない場
合でも同期点に到達していることにしてもよい。
【0033】これにより、電子回路で使用しない同期番
号がシステム内に存在する時、同期番号マスク手段によ
り同期番号放送バスから通知される同期番号に対応する
同期の応答義務をマスクすることができるので、電子回
路は使用しない同期番号に対して同期の処理をする必要
がなくなり、電子回路の負荷を低減させると共に関与し
ない同期番号に対する同期の応答をするために電子回路
にコンテクストスイッチさせて応答を待つ必要がなくな
るので同期を高速化できる。
【0034】また、電子回路が同期の応答義務を遂行し
なくても対応する同期判定バスで同期がとれたことにす
ることを指示する無条件同期完了信号を具備する同期コ
ントローラを具備し、システム内の任意の電子回路間で
同期をとることとしても良い。
【0035】これにより、同期コントローラは、同期を
とる必要のない電子回路ブロックに対して、同期コント
ローラから要求される同期の応答義務を遂行しなくても
同期コントローラに対応する同期判定バスで同期が取れ
たことを指示する無条件同期完了信号を同期コントロー
ラに接続し、電子回路では同期番号放送バスや同期判定
バスのようにn本の無条件同期完了信号を接続する手段
を具備することで、同期をとる必要のない電子回路が同
期の処理を行なう必要がなくなり、電子回路の負荷が低
減されると共に関与しない同期番号に対する同期の応答
をするために電子回路にコンテクストスイッチさせて応
答を待つ必要がなくなるので同期を高速化できる。
【0036】例えば、故障した電子回路がシステム中に
存在する場合、同期コントローラから故障した電子回路
に接続されている無条件同期完了信号をアクティブと
し、故障した電子回路に接続されているn本の無条件同
期完了信号により同期判定バスが無条件で同期が取れた
ことにすることにより、故障した電子回路によって故障
した電子回路に接続されているn本の同期判定バスが常
に同期を取れていない状態にされても、故障した電子回
路および故障した電子回路に接続されているn本の同期
判定バスと接続されている電子回路を除く電子回路間で
同期をとることができる。
【0037】また、同期コントローラは接続されている
同期判定バスの状態を知る手段と、同期コントローラ間
の同期判定を行なう同期コントローラ間同期判定手段お
よび同期コントローラ間の同期が完了したことを電子回
路へ通知する全体同期完了通知手段を具備し、システム
内の任意の電子回路間で同期をとることとしても良い。
【0038】この場合、まず全ての同期コントローラと
接続されている同期コントローラ間同期判定手段が同期
コントローラに接続されている全ての同期判定バスの同
期がとれていることを調べる。同期コントローラ間同期
判定手段により全ての同期判定バスの同期がとれている
ことが分かれば、同期判定バスに接続されている電子回
路ブロックも同期が取れていることになるので、システ
ム全体の電子回路ブロック間で同期が取れたことを知る
ことができる。
【0039】電子回路ブロックの同期がとれたことが分
かれば、同期の完了を全ての電子回路ブロックに通知す
る為に、全体同期完了通知手段を用いて全ての電子回路
ブロックに同期の完了が通知される。
【0040】なお、同期コントローラ間に同期判定バス
と同等の機能を具備することにより電子回路ブロックに
接続される同期判定バスの本数を低減させることができ
るので、電子回路ブロック間の同期判定バスに使用され
る配線量が少なくなり、同期判定バスの本数が低減した
分だけ電子回路ブロック内の同期処理に必要な手段が簡
略化できるが、同期コントローラ間の同期状態を調べる
同期コントローラ間同期判定手段および同期の完了を全
ての電子回路ブロックに通知するための全体同期完了通
知手段という特別な仕掛が必要となる。
【0041】また、本願第2の発明の並列処理装置は、
送信メッセージのヘッダに、短ビット長の数値系列発生
器によりハード的に規則的な数値系列を発生し挿入し、
受信側で同様の発生器からの数値系列と比較することに
より、少ないハード量と、少ないヘッダー中のビット使
用量で、リアルタイムにメッセージの順序の正当性を検
査することができる。
【0042】また、有限ビット長の数値系列では検出で
きないメッセージの追い越しの検出が可能な検査符号生
成器をメッセージ送信部とメッセージ受信部に具備し
て、一定のメッセージ数毎にチェックポイントを設け、
チェックポイント間の送信データから生成した検査符号
を伝送し、追い越し検出を行なうようにしても良い。
【0043】これにより、従来、検出できなかったメッ
セージの順序の狂いを、それまでに送信側電子回路とし
てのPEで送信したメッセージ列に対する検査符号を生
成してチェックポイント毎に伝送し、受信側電子回路と
してのPEでそれを検査することにより、検出すること
ができる。
【0044】本願第3の発明の並列処理装置は、メモリ
を有する複数の電子回路としてのPEから構成されるマ
ルチプロセッサシステムにおいて、PEで走行するプロ
セスが自PEを含む複数のPEに実装されている物理メ
モリをユーザ空間にマッピングし、PEで走行するプロ
セスがユーザ空間をアクセスした時、アクセスされたメ
モリアドレスが他PE上に実装されている物理メモリに
対応する場合、ユーザ空間のメモリアクセスはリモート
アクセスメッセージ生成部によりリモートアクセスメッ
セージに変換され、リモートアクセスメッセージはネッ
トワークを通って目的とするPEに伝達される。
【0045】ネットワークから入力されたリモートアク
セスメッセージはリモートアクセスメッセージ応答部で
受けられ、リモートアクセスメッセージに対応した処理
を行う。ここでリモートアクセスメッセージがリモート
メモリに対するライト動作を指示するリモートライトメ
ッセージであれば、リモートアクセスメッセージ応答部
はリモートアクセスメッセージで送られたメモリアドレ
スに対してデータを自PE内のメモリに書き込む。ま
た、リモートアクセスメッセージがリモートメモリに対
するリード動作を指示するリモートリードメッセージで
あれば、リモートアクセスメッセージ応答部は自PE内
のメモリからリモートアクセスメッセージに記載された
メモリアドレスのデータを読み込み、読み込まれたデー
タをリモートアクセスレスポンスメッセージという形の
リモートアクセスメッセージに変換し、再びネットワー
クを通してリモートリードメッセージを送信したPEに
伝送する。
【0046】ネットワークよりリモートアクセスレスポ
ンスメッセージを受信したPEは、リモートアクセスメ
ッセージ応答部によりリード結果をPEに含まれるプロ
セッサに返す。このようにPE上で走行するプロセスは
ユーザ空間に他PEの物理メモリをマッピングすること
ができるので、本発明により他PEとの間で分散した共
有メモリを持つことが可能となる。
【0047】また、各PEで走行するプロセスのユーザ
空間にマッピングされる他PEの数と他PEの一つあた
りのメモリ容量を可変させるようにしても良い。
【0048】これにより、PEで走行するプロセスが自
PEを含む複数のPEに実装されている物理メモリをユ
ーザ空間にマッピングする時に、プロセスにマッピング
される他PE数と、他PE一つあたりのマッピングされ
るメモリ容量を可変にする手段を具備することになる。
すなわち、マッピングされる他PE数が少ない時は自P
Eの近傍のPEのみ使用することで他PE一つあたりの
マッピングされるメモリ容量を大きくし、マッピングさ
れる他PE数が多い時は遠方までのPEを使用するかわ
りに他PE一つあたりのマッピングされるメモリ容量を
小さくする。これにより、物理的に制限のあるプロセッ
サのアドレスバスを用いても、プロセスは物理メモリを
ユーザ空間にマッピングする時にプロセスの特性によ
り、少しのPEでも、多くのPEでもメモリを最大限に
使用することができる。
【0049】また、システムに複数のユーザまたは複数
のプロセスが実在するマルチプロセッサシステムにおい
て、各プロセスの生存中は他PEのメモリをプロセスの
ユーザ空間に固定的にマッピングし、ユーザまたはプロ
セスを識別する識別情報付加手段を具備するリモートア
クセスメッセージ生成部と、リモートアクセスメッセー
ジ中の識別情報により他PEにおける自メモリのアクセ
ス権限を判定し、リモートアクセスの内容とアクセス権
限の判定の結果に対応する応答を行なう手段を具備して
もよい。
【0050】これにより、システム内に複数のユーザま
たは複数のプロセスが存在する場合、共有してメモリを
使用するプロセス単位で、各プロセスに他ユーザのプロ
セスと判別できるような識別情報を付加し、各プロセス
の生存中は他PEのメモリをプロセスのユーザ空間に固
定的にマッピングし、ユーザまたはプロセスを識別する
識別情報付加手段を具備するリモートアクセスメッセー
ジ生成部と、リモートアクセスメッセージ中の識別情報
により他PEにおける自メモリのアクセス権限を判定
し、リモートアクセスの内容とアクセス権限の判定の結
果に対応する応答を行なう手段を具備するリモートアク
セスメッセージ応答部を具備することになる。
【0051】例えば、PEは他PEで走行するプロセス
からメモリをマッピングされた時に、プロセスの識別情
報と、使用開始アドレスおよび使用されるメモリの大き
さを記憶しておく。プロセスが他PEにマッピングされ
たユーザ空間をアクセスした時、識別情報付加手段を具
備するリモートアクセスメッセージ生成部によりリモー
トアクセスメッセージにプロセスの識別情報が付加さ
れ、リモートアクセスメッセージを受信したPEは、リ
モートアクセスメッセージ応答部によりリモートアクセ
スメッセージに付加されている識別情報と、メモリアド
レスからメモリのアクセス権限を判断し、アクセス権限
があればリモートアクセスメッセージに示されている処
理を実施する。また、アクセス権限がなければリモート
アクセスメッセージに記述されていたことに誤りがある
と考えられるので、リモートアクセスメッセージを送信
したPEにプロテクションエラーであることを通知す
る。本発明により、システムをマルチユーザ、マルチタ
スクの環境で動作させた時に、不正なリモートアクセス
を防止することができ、誤って他ユーザのメモリ領域を
破壊することを防止できる。
【0052】本願第4の発明の並列処理装置は、電子回
路としてのPEで走行するプロセスがブロック状のデー
タ授受を行う前に、OS等のシステムプログラムに目的
とするブロック状のデータの授受を行う通信制御語をシ
ステム領域に用意してもらい、ユーザモードでアクセス
可能なユーザ空間に通信制御語の起動を指示するアドレ
スをマッピングしてもらう。実際にプロセスがブロック
状のデータを授受する時は、システムプログラムによっ
てマッピングされた通信制御語の起動を指示するアドレ
スをアクセスすればよい。通信制御語の起動を指示する
アドレスがアクセスされると、プロセッサからメモリア
ドレスが出され、リモートアクセスメッセージ生成部は
プロセッサから受け取ったメモリアドレスに対応する通
信制御語を読み取り、通信制御語に記述されたリモート
アクセスメッセージを順次生成し、ネットワークを経由
して、目的とするPEのリモートアクセスメッセージ応
答部に伝達する。リモートアクセスメッセージ応答部は
リモートアクセスメッセージに指示されている応答を行
い、必要があれば他PEにリモートアクセスメッセージ
に対する応答のリモートアクセスレスポンスメッセージ
を送信する。本発明により、ブロック状のデータを授受
する時はユーザ空間に割り当てられた通信制御語の起動
を指示するアドレスをアクセスするだけでOS等のシス
テムプログラムの仲介なしにブロックアクセスが可能と
なるので、高速にブロック状のデータの授受が可能とな
る。
【0053】
【実施例】以下、本発明に係る一実施例を図面を参照し
て説明する。図1は本発明に係る並列処理装置の構成を
示したブロック図である。
【0054】図1は第1の発明にかかる第1の実施例を
示した図であり、電子回路ブロック(若しくは、単に電
子回路或いはPE)として並列計算機におけるPEを4
つ(PE0、PE1、PE2およびPE3)使用し、1
つのPEには2本の同期番号放送バスB3 および同期判
定バスB5 を接続する。同期判定バスB5 は論理積機能
を実施する為にワイヤード論理和により構成されてい
る。
【0055】PE0には同期番号放送バスB3a、同期番
号放送バスB3c、同期判定バスB5aおよび同期判定バス
B5cが接続され、PE1、PE2およびPE3も同様に
同期番号放送バスB3 と同期判定バスB5 が接続され
る。同期番号設定手段10として同期コントローラ3に
同期番号を通知する同期番号初期化バスB1 および同期
番号初期化バスB1 に同期番号を出力する同期番号コン
トローラ1が用いられる。
【0056】図2は第1の実施例における電子回路ブロ
ック(PE)の構成図であり、同期を取る為の同期手段
57と、CPU51と、メモリ53および同期手段57
とCPU51を接続する為のCPUインタフェース55
を具備している。
【0057】同期手段57は、同期番号放送バスB3 と
同期判定バスB5 に接続されており、同期番号放送バス
B3 より入力された同期番号に対応するCPU51の同
期状態を格納する同期状態レジスタ573,577およ
び複数の同期番号放送バスB3 から入力される同期番号
に対する同期処理の協調制御を行なう行・列間協調制御
部575から構成されている。
【0058】図2の同期判定バスB50は、例えば図1に
おけるPE0およびPE2の同期判定バスB5aと対応
し、PE1およびPE3の同期判定バスB5bと対応す
る。図2の同期判定バスB51は図1におけるPE0およ
びPE1の同期判定バスB5cに対応し、PE2およびP
E3の同期判定バスB5dに対応する。図2の同期番号放
送バスB30は図1におけるPE0およびPE2の同期番
号放送バスB3aに対応し、PE1およびPE3の同期番
号放送バスB3bに対応する。図2の同期番号放送バスB
31は図1におけるPE0およびPE1の同期番号放送バ
スB3cに対応し、PE2およびPE3の同期番号放送バ
スB3dに対応する。
【0059】図1に示される実施例で同期をとるとき、
PEで使用される同期番号を予め同期番号コントローラ
1に設定し、同期番号コントローラ1は一定の時間毎に
設定されている同期番号を順次、同期番号初期化バスB
1 を用いて同期コントローラ3に通知する。同期コント
ローラ3は同期番号初期化バスB1 から通知された同期
番号を同期番号放送バスB3 を用いてPEに通知する。
【0060】PEでは同期番号放送バスB30により通知
された同期番号に対して同期点に到達しているかを同期
状態レジスタ573の値により調べ、同期点に到達して
いれば同期判定バスB50に出力する信号をアクティブと
し、同期点に到達していなければ同期判定バスB50に出
力する信号をネガティブにしたままとする。次にPEは
同期番号放送バスB31より通知された同期番号に対して
同期点に到達しているかを同期状態レジスタ577の値
により調べ、同期判定バスB50がアクティブであり、か
つ、同期点に到達しているのであれば同期判定バスB51
に出力する信号をアクティブとする。PE0が同期番号
放送バスB31より通知された同期番号に対して同期点に
到達していなかったり、同期判定バスB50がネガティブ
の状態であるのならば同期判定バスB51に出力する信号
はネガティブのままとなる。
【0061】同期判定バスB5 はワイヤード論理和で構
成されているので同期判定バスB5aをアクティブ(すな
わち同期が取れた状態)にするには、PE0とPE2の
2つが同期点に到達していなければならず、同期判定バ
スB5bをアクティブにするには、PE1とPE3の2つ
が同期点に到達していなければならない。同期判定バス
B5cをアクティブにする為にはPE0とPE1が同期点
に到達していて、かつ、PE0に接続されている同期判
定バスB5aとPE1に接続されている同期判定バスB5b
がアクティブでなければならない。
【0062】従って、同期判定バスB5cがアクティブに
なったということはPE0、PE1、PE2およびPE
3で同期が取れたことになる。同期判定バスB5dについ
ても同期判定バスB5cと同様で、PE0、PE1、PE
2およびPE3で同期が取れたときにアクティブとな
る。
【0063】このように同期の完了チェックはPE0と
PE1では同期判定バスB5cの状態を調べれば良く、P
E2とPE3では同期判定バスB5dの状態を調べるだけ
で良い。同期が完了したら、行・列間協調制御部575
はCPUインタフェース55を経由してCPU51に同
期の完了を通知する。
【0064】図3は第2の実施例を示した図であり、第
1の実施例における図1の電子回路ブロック構成図を示
している。図3の同期判定バスB50は図1におけるPE
0およびPE2の同期判定バスB5aに対応し、PE1お
よびPE3の同期判定バスB5bに対応する。図3の同期
判定バスB51は図1におけるPE0およびPE1の同期
判定バスB5cに対応し、PE2およびPE3の同期判定
バスB5dに対応する。図3の同期番号放送バスB30は図
1におけるPE0およびPE2の同期番号放送バスB3a
に対応し、PE1およびPE3の同期番号放送バスbに
対応する。図3の同期番号放送バスB31は図1における
PE0およびPE1の同期番号放送バスB3cに対応し、
PE2およびPE3の同期番号放送バスB3dに対応す
る。
【0065】電子回路ブロックは、2本の同期番号放送
バスB3 と同期判定バスB5 に接続されており、電子回
路ブロックで使用しない同期番号に対して自動的に同期
の応答処理を実施する同期番号マスク手段と、CPU
と、メモリおよびCPUと同期番号マスク手段を接続す
るCPUインタフェースより構成されている。同期番号
マスク手段は、電子回路ブロックが使用しない同期番号
に対する同期の応答義務をマスクすることを指示する同
期マスクレジスタ574,576と、CPU51から同
期の状態を格納する同期状態レジスタ573A,577
Aと、同期番号放送バスB30と同期番号放送バスB31か
ら入力される同期に対する協調制御を行なう行・列間協
調制御部575から構成される。
【0066】電子回路ブロックは予め使用しない同期番
号に対して同期番号マスクレジスタ574に同期の応答
義務をマスクすることを設定しておく。電子回路ブロッ
クは同期番号放送バスB30から入力された同期番号に対
する同期状態レジスタ573Aと同期番号マスクレジス
タ574の状態を調べ、同期番号放送バスB30により入
力された同期番号に対して同期点に到達しているか、ま
たは、同期番号マスクレジスタ574により入力された
同期番号がマスクされていることが判明すれば同期判定
バスB50に出力する信号をアクティブにする。
【0067】同期番号放送バスB31から入力された同期
番号に対しては、同期状態レジスタ577Aと同期番号
マスクレジスタ576の状態を調べ、同期番号放送バス
B31により入力された同期番号に対して同期点に到達し
ているか、または、同期番号マスクレジスタにより入力
された同期番号がマスクされていることが判明し、か
つ、同期判定バスB50が同期の取れたアクティブの状態
であれば同期判定バスB51に出力する信号をアクティブ
にする。
【0068】同期判定バスB5 はワイヤード論理和で構
成されているので同期判定バスB5に接続された全ての
電子回路ブロックが同期判定バスB5 に出力する信号を
アクティブ、すなわち同期がとれた状態にしなければ同
期判定バスB5 はアクティブにならない。同期の完了は
第1の実施例と同様に電子回路ブロックに接続されてい
る全ての同期判定バスB5 がアクティブになった状態で
表される。実際には優先度の最も低い同期判定バスB5
がアクティブになった状態である。
【0069】本実施例では、同期判定バスB5 がアクテ
ィブとなった状態が同期を完了したことになり、行・列
間協調制御部575はCPUインタフェース55を経由
してCPUに同期の完了を通知する。ここで、各PEの
同期番号マスクレジスタ574,576が図4(0がマ
スクされておらず、1がマスクされている状態を表す)
であり、同期状態レジスタが図5(0が同期点に到達し
ておらず、1が同期点に到達したことを表す)の状態の
ときに同期番号1に対する同期を取る場合、同期番号コ
ントローラから同期番号初期化バスB1 を経由して各同
期コントローラ3に同期番号1が伝達される。
【0070】同期コントローラ3は同期番号放送バスB
3 を使用して各PEに同期番号1を伝達する。PEは図
4に示される同期番号マスクレジスタ574,576の
値と、図5に示される同期状態レジスタ573A,57
7Aの値を調べて図6のように同期判定バスB50に出力
する信号を出す。図6において、1がアクティブを示
し、0がネガティブを示す。
【0071】図6から、PE0、PE2およびPE3は
同期点に到達しているが、PE1は同期点に到達してい
ないことが読みとれるので、同期判定バスB5aは1とな
り、同期判定バスB5bは0となる。従って、同期判定バ
スB5cと同期判定バスB5dは0になる。PE1が同期点
に到達しないと同期判定バスB5 の信号はいつまでも変
化しないが、PE1が同期点に到達することでPE1か
ら同期判定バスB50に出力す信号が1になり、同期判定
バスB5bが1となる。
【0072】その結果、同期判定バスB5cと同期判定バ
スB5dの状態が1となるのでシステム全体での同期が完
了したことになる。PEの行・列間協調制御部575は
自PEの同期判定バスB51(同期判定バスB5cまたは同
期判定バスB5d)の状態を監視し、アクティブとなれば
CPUインタフェース55を経由してCPU51に同期
が完了したことを通知する。
【0073】図7は第3の実施例を示した図であり、電
子回路ブロックとして並列計算機におけるPEを4つ
(PE0、PE1、PE2およびPE3)使用し、1つ
のPEには2本の同期番号放送バスB3 、同期判定バス
B5 および無条件同期完了信号B7 を接続する。同期判
定バスB5 は論理積機能を実施するためにワイヤード論
理和により構成されており、PE0には同期番号放送バ
スB3a、同期番号放送バスB3c,同期判定バスB5a、同
期判定バスB5c、無条件同期完了信号B7aおよび無条件
同期完了信号B7cが接続され、PE1、PE2およびP
E3も同様に同期番号放送バスB3 と同期判定バスB5
および無条件同期完了信号B7 が接続されている。
【0074】同期番号設定手段10として同期コントロ
ーラ3に同期番号を通知する同期番号初期化バスB1 お
よび同期番号初期化バスB1 に同期番号を出力する同期
番号コントローラ1が用いられる。
【0075】図8は第3の実施例における電子回路ブロ
ック(PE)の構成図であり、同期を取る為の同期手段
と、CPU51と、メモリ53および同期手段57とC
PU51を接続する為のCPUインタフェース55を具
備している。同期手段57は、同期番号放送バスB3 、
同期判定バスB5 および無条件同期完了信号B7 に接続
されており、同期番号放送バスB3 より入力された同期
番号に対応するCPU51の同期状態を格納する同期状
態レジスタ573,577と、2本の同期番号放送バス
B3 から入力される同期番号に対する同期処理および無
条件同期完了信号B7 に対する制御処理を実施する行・
列間協調制御部575Bから構成されている。
【0076】図8の同期判定バスB50は図7におけるP
E0およびPE2の同期判定バスB5aに対応し、PE1
およびPE3の同期判定バスB5bに対応する。図8の同
期判定バスB5 は図7におけるPE0およびPE1の同
期判定バスB5cに対応し、PE2およびPE3の同期判
定バスB5dに対応する。図8の同期番号放送バスB30は
図7におけるPE0およびPE2の同期番号放送バスa
に対応し、PE1およびPE3の同期番号放送バスB3b
に対応する。図8の同期番号放送バスB3 は図7におけ
るPE0およびPE1の同期番号放送バスB3cに対応
し、PE2およびPE3の同期番号放送バスB3dに対応
する。図8の無条件同期完了信号B70は図7におけるP
E0およびPE2の無条件同期完了信号B7aに対応し、
PE1およびPE3の無条件同期完了信号B7bに対応す
る。図8の無条件同期完了信号B71は図7におけるPE
0およびPE1の無条件同期完了信号B7cに対応し、P
E2およびPE3の無条件同期完了信号B7dに対応す
る。
【0077】図7に示される実施例で同期をとるとき、
PEで使用される同期番号を予め同期番号コントローラ
1に設定し、同期番号コントローラ1は一定の時間毎に
設定されている同期番号を順次、同期番号初期化バスB
1 を用いて同期コントローラ3に通知する。同期コント
ローラ3は同期番号初期化バスB1 から通知された同期
番号を同期番号放送バスB3 を用いてPEに通知する。
また、同期コントローラ3には同期番号放送バスB3 を
経由して接続されている全てのPEで使用される無条件
で同期番号放送バスB3 より通達された同期番号に対す
る同期がとれたことにすることを指示する無条件同期完
了信号B7 が接続されており、同期コントローラ3に予
め設定されている同期番号に関しては無条件同期番号を
アクティブすることで、接続させているPE間の同期が
無条件でとれたことにすることを指示する。PEでは同
期番号放送バスB30により通知された同期番号に対して
同期点に到達しているかを同期状態レジスタ0の値によ
り調べ、同期点に到達していれば同期判定バスB50に出
力する信号をアクティブとし、同期点に到達していなけ
れば同期判定バスB50に出力する信号をネガティブにし
たままとする。
【0078】次にPEは同期番号放送バスB3 より通知
された同期番号に対して同期点に到達しているかを同期
状態レジスタの値により調べ、同期判定バスB50がアク
ティブであるか、または、無条件同期完了信号B70がア
クティブ(無条件で同期番号放送バスB30に対して同期
点に到達したことにすることを指示している)であり、
同期点に到達しているのであれば同期判定バスB5 に出
力する信号をアクティブとする。同期判定バスB5 はワ
イヤード論理和で構成されているので同期判定バスB5a
をアクティブ(すなわち同期が取れた状態)にするに
は、PE0とPE2の2つが同期点に到達していなけれ
ばならず、同期判定バスB5bをアクティブにするには、
PE1とPE3の2つが同期点に到達していなければな
らない。
【0079】同期判定バスB5cをアクティブにする為に
はPE0とPE1が同期点に到達していて、かつ、PE
0に接続されている同期判定バスB5aとPE1に接続さ
れている同期判定バスB5bがアクティブでなければなら
ない。
【0080】従って、同期判定バスB5cがアクティブに
なったということはPE0、PE1、PE2およびPE
3で同期が取れたことになる。同期判定バスB5dについ
ても同期判定バスB5cと同様で、PE0、PE1、PE
2およびPE3で同期で同期が取れたときにアクティブ
となる。
【0081】このように同期の完了チェックはPE0と
PE1では同期判定バスB5cの状態を調べれば良く、P
E2とPE3では同期判定バスB5dの状態を調べるだけ
で良い。同期が完了したら、行・列間協調制御部575
BはCPUインタフェース55を経由してCPU51に
同期の完了を通知する。
【0082】図9は第4の実施例を示した図であり、電
子回路ブロックとしてPEを4つ(PE0、PE1、P
E2およびPE3)使用し、1つのPEには1本の同期
番号放送バスB3 および同期判定バスB5 を接続する。
同期判定バスB5 は論理積機能を実施する為にワイヤー
ド論理和により構成されている。
【0083】同期コントローラ3間で同期が取れたこと
を調べる同期コントローラ間同期判定手段として同期コ
ントローラ3aと同期コントローラ3bをワイヤード論
理和で接続する為の同期コントローラ間同期バスB9 を
具備する。同期番号設定手段として同期コントローラ3
に同期番号を通知する同期番号初期化バスB1 および同
期番号初期化バスB1 に同期番号を出力する同期番号コ
ントローラ1が用いられ、全体の同期が完了したことを
PEに通知する為に同期コントローラ3からPEに接続
される同期完了通知信号B7 を具備する。
【0084】図10は第4の実施例における電子回路ブ
ロック(PE)の構成図であり、同期を取る為の同期手
段57と、CPU51と、メモリ53と、同期手段57
とCPU51を接続する為のCPUインタフェース55
を具備している。同期手段57は、同期番号放送バスB
3 と、同期判定バスB5 と、同期完了通知バスB7 に接
続されており、同期放送バスB3 より入力された同期番
号に対応するCPU51の同期状態を格納する同期状態
レジスタ573と、同期を制御する同期制御部575A
から構成されている。図10の同期判定バスB5 は図9
における各PEの同期判定バスB5aまたは同期判定バス
B5bに対応し、図10の同期番号放送バスB3 は図9に
おける各PEの同期番号放送バスB3aまたは同期番号放
送バスB3bに対応する。
【0085】図10に示される実施例で同期をとるに
は、PEで使用される同期番号を予め同期番号コントロ
ーラ1に設定しておき、同期番号コントローラ1は一定
の時間毎に設定されている同期番号を順次、同期番号初
期化バスB1 を用いて同期コントローラ3に通知する。
同期コントローラ3は同期番号初期化バスB1 より通知
された同期番号を同期番号放送バスB3 を用いてPEに
通知する。PEでは同期番号放送バスB3 より通知され
た同期番号に対して同期点に到達しているかを同期状態
レジスタ573の値より調べ、同期点に到達していれば
同期判定バスB5に出力する信号をアクティブにし、同
期点に到達していなければ同期判定バスB5 に出力する
信号をネガティブにしたままとする。
【0086】同期判定バスB5 はワイヤード論理和で構
成されているので、同期判定バスB5 をアクティブにす
るには、同期判定バスB5 に接続された全てのPEが同
期判定バスB5 に出力する信号をアクティブにしなけれ
ばならない。よって、同期判定バスB5aをアクティブ
(すなわち同期が取れた状態)にするには、PE0とP
E2の2つが同期点に到達していなければならず、同期
判定バスB5bをアクティブにするには、PE1とPE3
の2つが同期点に到達していなければならない。
【0087】同期コントローラ3は接続されている同期
判定バスB5 の状態を調べて、同期判定バスB5 に接続
されているPEが全て同期点に到達していることが判明
すれば、同期コントローラ間同期バスB9 に出力する信
号をアクティブにする。同期コントローラ間同期バスB
9 はワイヤード論理和で構成されているので、全ての同
期コントローラ3が同期点に到達していないと、信号が
アクティブとならない。
【0088】同期コントローラ3は同期コントローラ間
同期バスB9 の状態を監視していて、同期コントローラ
間同期バスB9 がアクティブになったら接続されている
同期完了通知信号を用いてPEに全体の同期が完了した
ことを通知する。PEでは同期完了通知信号によって同
期の完了を同期制御部に通知され、同期制御部がCPU
インタフェースを通じてCPUに同期の完了を通知す
る。
【0089】本実施例において、全体同期完了通知手段
として同期番号放送バスB3 と独立した同期完了通知バ
スB7 を具備しているが、同期コントローラ3から同期
番号放送バスB3 に出される所定の同期番号に直前の同
期番号に対する同期が完了した意味を持たせることによ
り、同期完了通知バスB7 を省略することができる。ま
た、同期コントローラ間同期判定手段は必ずしもワイヤ
ード論理和で構成されるバスを使用する必要はない。
【0090】次に第5の実施例を説明する。電子回路ブ
ロックとして並列計算機におけるPEを使用し、同期番
号設定手段として同期コントローラ3に同期番号を通知
する同期番号初期化バスB1 と、同期番号初期化バスB
1 に同期番号を出力する同期番号コントローラ1と、同
期コントローラ3間の同期状態を調べる同期コントロー
ラ間同期判定手段および同期が完了した時にPEに同期
完了を通知する全体同期完了通知手段を具備し、1つの
PEにn本の同期番号放送バスB3 および論理積機能を
実施するためにワイヤード論理和で構成されている同期
判定バスB5 を接続し、同期の為にPE間を論理的にn
+1次元に並べる。
【0091】PEをn+1次元に並べる時、PEに接続
されているn本の同期番号放送バスおよび同期判定バス
B5 によりn次元を実現し、残りの1次元分は同期コン
トローラ間同期判定バスを用いて構成する。始め、同期
番号放送バスB3 および同期判定バスB5 によりn次元
に接続されたPEが同期点に到達しているかを調べ、次
に残りの1次元に対して同期コントローラ間同期判定手
段により同期コントローラ3が同期点に到達しているか
をしらべる。
【0092】全ての同期コントローラ3が同期点に到達
していることが判明すればシステム全体のPEで同期が
取れたことになる。以下に同期を取る為の手順を示す。
PEでは予め決められている同期番号放送バスB3 の優
先度の高い順に同期番号放送バスB3 より通知された同
期番号に対して同期点に到達しているかを調べ、同期点
に到達していて、かつ、優先度の一つ高い同期番号放送
バスB3 に対応する同期判定バスB5 がアクティブなら
ば同期番号放送バスB3 に対応する同期判定バスB5 に
出力する信号をアクティブにし、同期点に到達していな
い状態や、優先度の一つ高い同期番号放送バスB3 に対
応する同期判定バスB5 の状態がネガティブならば同期
判定バスB5 に出力する信号をネガティブにしたままと
する。
【0093】同期判定バスB5 は前述したようにワイヤ
ード論理和で構成されているので同期判定バスB5 をア
クティブ(すなわち同期が取れた状態)にするには、同
期判定バスB5 に接続されているPEから同期判定バス
B5 に出力される信号が全てアクティブでなければなら
ない。
【0094】同期コントローラ3は、接続されている同
期判定バスB5 の状態がアクティブかどうかを監視して
いて、アクティブであれば同期コントローラ間同期判定
手段に知らせる。同期コントローラ間同期判定手段は全
ての同期コントローラ3から同期判定バスB5 がアクテ
ィブになったことを通知されるとシステム全体のPE間
で同期が取れたことになるので、全体同期完了通知手段
を用いて同期が完了したことをPEに通知する。
【0095】以上、説明したように、独立に動作する複
数の電子回路ブロックから構成されるシステムにおい
て、電子回路ブロックにn本の同期番号放送バスおよび
同期判定バスを具備することにより、1本の同期判定バ
スで同期を構成した時と比べて接続されているPE数が
少ないので、少ない伝搬遅延で同期判定バスを駆動する
ことができる。
【0096】本実施例において、同期の種類は同期番号
を用いて表現しているので、同期の種類数の同期判定バ
スが不要になり、多くの同期種類をサポートしても配線
数が少なくて済む。また、同期番号マスク手段を具備す
ることで、マルチユーザ環境で使用した時も他ユーザの
同期によって生じる処理のロスが少なく、不要な同期番
号を処理する時のコンテクストスイッチによる処理のロ
スを防止する。
【0097】無条件同期完了信号を具備することによ
り、システム内に故障した電子回路ブロックが生じて
も、故障した電子回路ブロックと故障した電子回路ブロ
ックに同期判定バスを通じて接続されている電子回路ブ
ロックを除く電子回路ブロックで同期を取ることができ
る。無条件同期完了信号を具備しない場合は、システム
中に1つでも故障した電子回路ブロックが生じると全て
の電子回路ブロックで同期が取れなくなり、不便が生じ
る。
【0098】図11は、プロセッサ間通信を実現する手
段の一実施例であり、図12はその送信側の、図13は
受信側のフローチャートである。
【0099】送信側PEは、図11および図12に示す
ように送信するメッセージのヘッダ中に、送り先情報な
どの通常のメッセージヘッダに含まれる情報の他に、例
えば0,1,2,…,255のような短いビット長の、
あらかじめ定められた数値系列をメッセージの検査符号
として付加し(ステップS3)、送信するデータを加
え、メッセージパケットを構成し送信する(ステップS
5)。
【0100】受信側では、図13に示すようにステップ
S13で受けとったメッセージのヘッダ部から検査符号
部分を取りだし、送信側と同一の検査符号系列(0,
1,2,…,255)が得られていることを検査する
(ステップS15)。
【0101】例えば、図14のように検査符号系列が
(0,1,2)という系列でくるべきところで、受信系
列が(0,1,3)という系列であった場合には、
(2)と受信されるべきところで(3)という系列がシ
ーケンス番号を持つメッセージが到着しているので、異
常動作が起きた時点で即座に故障発生が検出できる。
【0102】図15は、他の実施例である。付加する数
値系列を、長さ8の検査符号系列として、図15の系列
Bで示すような2進数表現で、00,10,01,11,10,01,00,1
1 という、同じ数値が複数回出現する系列としている。
数値系列内で同一の数値は繰り返されることがない、図
15の系列Aで示すような000,001,010,011,100,101,11
0,111 という系列では、多くのビット数が検査符号のた
めに必要であったが、系列Bでしめすような系列を使用
することにより検査符号系列のビット長を削減すること
が可能になる。
【0103】例えば、長さ256の数値系列を5ビット
の長さで表したとすると、先の例では8ビット必要であ
ったものが3ビット減少することになり、仮にメッセー
ジを10000回送ったとすると、検査符号のビット数
を、30000ビット削減できる。また、パラレル通信
路を用いていた場合、通信路のビット幅のきりの良いと
ころにメッセージ長を階段上に決めることができる。
【0104】シストリックアレイのように、通信バンド
幅が処理速度を決めるようなマシンでは通信路のビット
幅は大きく(例えば32ビット幅)とる場合もあり、ヘ
ッダ情報を検査符号と合わせて32ビット幅に収めるこ
とにより、例えば32ビット幅のデータでシストリック
演算を行なったときに、ヘッダが1語、データが1語と
いうケースとヘッダが1ビットあふれたためにヘッダが
2語、データが1語というケースが生じ、全体の処理性
能が50%分異なるという場合も想定できる。
【0105】ゆえに、ヘッダにおける検査符号のビット
数を小さくとれるか否かということが性能向上に大きく
寄与する場合があり、その場合の本発明の効果は非常に
大きい。
【0106】図16は、他の実施例である。本実施例で
は、生成および検査が容易な、M系列乱数を検査のため
の数値系列としている。M系列乱数は、シフトレジスタ
と排他的論理和ゲートの組合せという非常に簡単なハー
ドウェアで生成できる。図15に示す例では9段のシフ
トレジスタを使用し、周期が511 のM系列乱数を得てい
る。
【0107】受信側のシーケンス番号の検査も同様なシ
フトレジスタと排他的論理和ゲートのみで構成できる
が、通信開始時には送信側のM系列乱数発生器と同一の
数値系列を発生するために、送信側と同一の初期化デー
タを与えなければならない。本実施例に示す方式では、
原理上、最後のメッセージを送信した後も、特に対策を
講じなければ、シフトレジスタの段数だけダミーのメッ
セージを送らなければ、それまでのシーケンスが正しい
ことが検査できない。そこで図17に示すように、最後
のメッセージを送った後に、送信側の系列発生器のシフ
トレジスタの状態を、受信側に送り、受信側の系列発生
器のシフトレジスタの状態と比較検査を行なうこととす
れば、ダミーメッセージを多数送ることなく、速やかに
故障発生の有無の判定を行なうことができる。
【0108】前述の図15および図16で示す実施例
と、図11で示す実施例においてメッセージの数が使用
した数値系列のビット長で表しうる数より大きい場合に
は、メッセージヘッダに付加される検査用の数値系列が
過去に送信されたものと同一となる場合があるので、完
全には異常動作の検出を行なうことができない。
【0109】そこで、本実施例では、それまでに送った
メッセージ列に対して、適当なメッセージ数毎、あるい
は期間を定めて、それまでに送信されたメッセージ列の
追い越し検出が可能なような、例えば図20で示すよう
な巡回冗長多項式を応用した回路で検査符号を発生し、
それを受信側に伝送し、受信側PEで受けとったメッセ
ージ列から送信側と同一の方法で生成した検査符号と、
送信側PEから送られてきた検査符号とを比較し、前述
の実施例の方式では検出できなかった故障の検出を行な
う。
【0110】図18は送信側の動作を説明するためのフ
ローチャート、図19は受信側の動作を説明するための
フローチャートである。
【0111】まず、図18を参照するに、ステップS2
1でメッセージを送信し、チェックポイントで(ステッ
プS25)、検査符号を送信する(ステップS27)。
また、送信が終了したときには検査符号を送信(ステッ
プS29)して終了する。
【0112】図19を参照するに、ステップS31でメ
ッセージを受信し、ステップS33で到着したメッセー
ジが検査符号であるかどうかを判断し、検査符号でなけ
ればステップS35に進み、メッセージが検出符号であ
る場合にはステップS37に進む。また、ステップS3
5で受信メッセージの異常が検出されたときにはステッ
プS45に進み、異常検出として終了する。またステッ
プS35で受信メッセージの異常が検出されないときに
はステップS43に進み受信処理を行ったのち、ステッ
プS31に戻り、待機状態となる。
【0113】一方、ステップS33でメッセージが検査
符号であるときには、ステップS37に進み、受信した
検査符号が一致するか否かを見る。一致しないときに
は、ステップS45に進み、異常検出として終了する。
また、ステップS37で一致したときには終了(ステッ
プS39,S41)もしくはステップS31に戻り、待
機状態となる。
【0114】以上、説明したように本実施例は、従来で
は行われていなかった細粒度通信を行なう計算機結合網
における、低オーバーヘッドにしてリアルタイムでの結
合網の異常動作検出が行なうことができるため、システ
ムの信頼性向上に寄与することが可能となる。
【0115】また、メッセージの追い越しを、受信側P
Eのみで検出でき、送信元PEに問い合わせることがな
いため、計算機ネットワーク内でのメッセージのトラフ
ィックを増加させず、なおかつ送信側PEでは送信した
メッセージを伝送路の障害の検査のために、データを保
持したり、処理を行なう必要が無いため、計算機の負荷
が軽くなり、計算機システム全体の性能向上に寄与す
る。
【0116】また、検査を少ないビット数の検査符号を
加えることでできるため、パラレル通信時のヘッダ語数
の増加を押え、シストリック動作時の大幅な性能低下を
防止できる。さらに、従来、検出できなかった計算機結
合網のより完全な、異常動作の検出を行なうことができ
る。それにより、計算機システムの信頼性向上に寄与す
ることが可能となる。
【0117】図21は本発明にかかる一実施例を示した
図であり、並列計算機におけるPEの内部構成を示して
いる。図21において、PE41はプロセッサ411、
16MBのメモリ413、プロセッサ411からのメモ
リアドレスが他PEの物理メモリに対応する場合に、他
PEへのリモートアクセスメッセージを生成し、また、
ユーザまたはプロセスを識別する識別情報付加手段が具
備されたリモートアクセスメッセージ生成部417、リ
モートアクセスメッセージを受信するとリモートアクセ
スメッセージ中の識別情報により自メモリに対するアク
セス権限を調べ、アクセス権限がある時にリモートアク
セスメッセージに対応する応答を行うリモートアクセス
メッセージ応答部419、ブロック状のデータを送信す
る時にリモートアクセスメッセージに反映される通信制
御語を格納する通信制御語格納領域415およびリモー
トアクセスメッセージが目的とするPEに送受信する為
に使用されるネットワークと接続されているルーティン
グ部421より構成されている。
【0118】また、これらプロセッサ411、メモリ4
13、通信制御語格納領域415、リモートアクセスメ
ッセージ生成部417およびリモートアクセスメッセー
ジ応答部419はプロセッサバスBp を用いて接続され
ている。
【0119】図22はPE間の接続例を示したもので、
図21に示されている4つのPE(PE0、PE1、P
E2およびPE3)をネットワークで接続している。
【0120】図23は、PE0で走行するプロセス1が
32MBのユーザ空間を複数のPEの物理メモリをマッ
ピングしている図を示しており、各メモリ空間の端にメ
モリアドレスを16進表記で記述してあり、各PEから
はプロセス1に8MBずつマッピングされている。
【0121】PE0で走行するプロセス1は図23で示
すようにプロセス1のユーザ空間の論理アドレス0×0
00000番地から0×3FFFFF番地をPE0の物
理アドレス0×400000番地から0×7FFFFF
番地にマッピングし、以下同様にPE1、PE2および
PE3の物理アドレスをユーザ空間にマッピングしてい
る。
【0122】PE0のプロセッサから出力されるメモリ
アドレスは図24に示されるようになっており、プロセ
ッサがPEアドレスとPE内アドレスを計算しやすくす
るようなマッピングになっている。
【0123】図25はリモートアクセスメッセージ生成
部417の構成例を示した図である。このリモートアク
セスメッセージ生成部417は、プロセッサバスBp に
出力されたアドレスからPE番号を取り出し、リモート
アクセスメッセージヘッダ組立部481にPE番号を通
知するPE番号抽出部471と、プロセッサバスBpに
出力されたバス制御情報やアドレス情報などからリモー
トアクセスメッセージの種類を取り出し、リモートアク
セスメッセージヘッダ組立部481にリモートアクセス
メッセージの動作を通知するメッセージ動作指令部47
3と、プロセッサバスBpにに出力されたアドレスから
通信先のPEのメモリアドレスを取り出し、リモートア
クセスメッセージヘッダ組立部481にメモリアドレス
を通知するメモリアドレス抽出部475と、プロセッサ
バスBpに出力されたデータからリモートアクセスメッ
セージで送信するデータを取り出し、リモートアクセス
メッセージヘッダ組立部481に送信データを通知する
送信データ抽出部477と、プロセッサで走行している
プロセスを識別する識別情報が入れられている識別情報
レジスタ479およびリモートアクセスメッセージに組
み立てるリモートアクセスメッセージヘッダ組立部48
1より構成される。
【0124】また、リモートアクセスメッセージ生成部
417は、リモートアクセスメッセージ応答部419が
リモートアクセスレスポンスメッセージのアクセス権限
のチェックをできるように送信メッセージをリモートア
クセスメッセージ応答部419に対して送る。識別情報
レジスタ479は、プロセッサがプロセスを切り替える
時に、実行するプロセスの識別情報を書換えなければな
らない。リモートアクセスメッセージヘッダ組立部48
1では、例えばPE番号抽出部471、メッセージ動作
指令部473、メモリアドレス抽出部475、送信デー
タ抽出部477、識別情報レジスタ479の出力の順に
並べてリモートアクセスメッセージに組み立て、ルーテ
ィング部421に送る。ルーティング部421ではリモ
ートアクセスメッセージヘッダ組立部481より送られ
たリモートアクセスメッセージに自PE番号とチェック
サムを付加してからネットワークに送る。
【0125】図26はリモートアクセスメッセージ応答
部419の構成例を示した図である。このリモートアク
セスメッセージ応答部419は、リモートアクセスメッ
セージ判定部491と、リモートアクセスメモリプロテ
クション判定部493と、識別情報管理テーブル495
と、メモリアクセス部497およびリモートアクセスレ
スポンスメッセージ生成部499から構成されている。
また、リモートアクセスメッセージ応答部419は、リ
モートアクセスレスポンスメッセージを受信した時にア
クセス権限のチェックを行なう為に、リモートアクセス
メッセージ生成部417からリモートアクセスレスポン
スメッセージが返信されるメッセージに関して、送信メ
ッセージを受ける。
【0126】リモートアクセスメッセージ判定部491
は、ネットワークからルーティング部を経由して受信さ
れたメッセージがリモートアクセスメッセージとして正
当なものかどうかを調べ、正当であればリモートアクセ
スメモリプロテクション判定部493に処理を移す。メ
ッセージが不当な時は、リモートアクセスレスポンスメ
ッセージ生成部499に処理を移し、エラーメッセージ
を送信元のPEに返信する。
【0127】リモートアクセスメモリプロテクション判
定部493は、リモートアクセスメッセージに付加され
てきたメモリのアドレスと識別情報を識別情報管理テー
ブル495の値と比べて、リモートアクセスメッセージ
で指定されているアドレスにアクセス権限があるかを調
べる。
【0128】プロセス生存中は他PEのメモリを固定的
にマッピングするので、識別情報管理テーブル495の
値は動作中は変化せず、アクセス権限判定が容易とな
る。アクセス権限があれば、メモリアクセス部497に
処理を移し、メモリアクセスを行い、アクセス権限がな
ければリモートアクセスレスポンスメッセージ生成部4
99に処理を移し、エラーメッセージを送信元のPEに
返信する。
【0129】メモリアクセス部497はメッセージで指
定されている内容のメモリアクセスを行い、返信の必要
があれば、リモートアクセスレスポンスメッセージ生成
部499に処理を移し、返送処理を行う。リモートアク
セスレスポンスメッセージ生成部499は、エラーに対
するレスポンスを送信元のPEに返送すると共に、リー
ド結果を送信元のPEに返送する。
【0130】ここで、図22、図23で示されたシステ
ムにおいて、実際にPE0で走行するプロセス1からリ
モートメモリのデータを読み書きすることを考える。プ
ロセスはプロテクションをするために識別情報(識別番
号)を決めておかなければならないので、ここではPE
0のプロセス1に識別情報として識別番号1を与えるこ
とにする。プロセス1がユーザ空間の0×E00000
番地に0を書き込むとき、0×E00000番地は、実
際はPE3の物理メモリであるので、プロセス1がユー
ザ空間の0×E00000番地に対して0を書き込む命
令を実行すると、PE0のプロセッサでは図24に示さ
れるように0×1E00000番地のメモリアドレスを
プロセッサバスBp に対して出力する。
【0131】リモートアクセスメッセージ生成部417
は、プロセッサバスBpから相手のPE番号3、リモー
トライトメッセージの動作、相手先のPEのメモリアド
レス0×600000番地および書き込むデータを読み
とり、図27のメッセージをルーティング部に送る。
【0132】ルーティング部421は図27のメッセー
ジを受け取ると、図28の形のメッセージにしてからネ
ットワークに送信する。図28で示されるメッセージは
図27のメッセージに自PEのアドレスとメッセージ本
体のチェックサムが付加されている。チェックサムは偶
数パリティで実現しているが、CRC等で実現してもよ
い。図28で示されるメッセージはネットワークを通
り、PE3で受信される。PE3で受信されたリモート
アクセスメッセージはルーティング部421で図29に
示すようにチェックサムが削られ、リモートアクセスメ
ッセージ応答部419に渡される。
【0133】リモートアクセスメッセージ応答部419
では、図29で示されるメッセージを受け取ったらリモ
ートアクセスメッセージ判定部491で正当なリモート
アクセスメッセージかどうかを調べる。図29に示され
るメッセージは正しいので、次のリモートアクセスメモ
リプロテクション判定部493でメッセージ中のメモリ
アドレスと識別番号が識別情報管理テーブル495に設
定されているかを調べる。
【0134】メッセージは識別番号1、メモリアドレス
0×600000と記されているのに対して図26に記
されている識別情報管理テーブル495の識別番号1に
はメモリの開始アドレスが0×400000でメモリ容
量が0×400000、すなわち、メモリアドレスに変
換すると0×400000番地から0×FFFFFF番
地までが許されている。
【0135】従って、このメッセージはPE3の0x6
00000番地に対するメモリアクセスが可能であるの
で、メモリアクセス部497からプロセッサバスBpを
駆動してメモリにデータを書き込むことができる。仮に
リモートアクセスメッセージ応答部419にメッセージ
が入ってから何らかの原因によりエラー等が生じれば、
リモートアクセスレスポンスメッセージ生成部499よ
りエラーメッセージが送信元のPE0に送られる。
【0136】PE0がリモートメモリに対してリードの
アクセスをした場合は、ライトアクセスと同じ方法でリ
モートアクセスメッセージ応答部419のメモリアクセ
ス部497までメッセージを伝送させ、メモリアクセス
部497ではプロセッサバスBpを駆動してメモリから
必要なデータを読み込む。ここで読み込まれたデータを
7とすると、読み込まれたデータはリモートアクセスレ
スポンスメッセージ生成部499により図30に示され
るメッセージとなり、ルーティング部421により図3
1に示されるメッセージに変換され、ネットワークを経
由してPE0に伝達される。
【0137】図31は図30に比べて自PEのアドレス
と偶数パリティのチェックサムが付加されている。リモ
ートアクセスレスポンスデータはPE0のルーティング
部421を経由した時に図32に示されるメッセージに
変化する。
【0138】図32は図31のメッセージの最後に付け
られたチェックサムを省いたものである。図32で示さ
れるメッセージはリモートアクセスメッセージ応答部4
19で受信され、リモートアクセスメッセージ判定部4
91でリモートアクセスレスポンスメッセージであるこ
とが判定され、かつ、リモートアクセスメッセージ生成
部417より送られたメッセージのヘッダとリモートア
クセスレスポンスメッセージのヘッダによりアクセス権
限を調べ、アクセス権限があればリード結果をプロセッ
サバスBpを経由してプロセッサに返す。
【0139】図33は、通信制御語格納領域の構成を示
した図であり、ブロックリードもしくはブロックライト
のコマンド、ブロックアクセス開始アドレス、ブロック
アクセス相手PE、ブロックアクセス相手メモリアドレ
スおよびブロック長からなる項目で設定され、6種類の
通信制御語(ブロック制御番号)が設定できる。ユーザ
空間はシステムプログラムによって管理されており、使
用しているユーザ空間が物理メモリ上で連続しているか
を認知しているのはシステムプログラムだけである。従
って、ユーザが不用意に通信制御語格納領域の通信制御
語を記述してしまうと本来、使用してはいけないアドレ
ス空間まで通信制御語に定義される場合があり、これを
防止する為に、通信制御語格納領域はユーザモードでは
書き込みできないようにするが、システムコールによっ
て設定され、ユーザ空間にマッピングされる。
【0140】図33のブロック制御番号1を起動するメ
モリアドレス0×4000000番地が図24で示され
るようにPE0で走行するプロセス1のユーザ空間0×
8000000番地にマッピングされている場合、プロ
セス1が0×8000000番地をアクセスすると、プ
ロセッサからブロック制御番号1を起動するメモリアド
レス0×4000000が発生される。
【0141】リモートアクセスメッセージ生成部417
はブロック制御番号1を起動するメモリアドレス0×4
000000番地に対するアクセスを確認すると通信制
御語格納領域の番号1に設定された項目を自動的に読み
とって、通信制御語に書かれた動作を達成するようにリ
モートアクセスメッセージを発生する。図33のブロッ
ク制御番号2〜ブロック制御番号6に対しても同様にし
てリモートアクセスメモリに対するブロック制御を行う
ことができる。
【0142】本実施例では1回の通信制御語を起動する
アドレスで1個の通信制御語を実行するだけであるが、
1回の起動コマンドで複数の通信制御語を起動できるよ
うに通信制御語格納領域に後続ブロック制御番号ポイン
タ等の項目を増やしてもよい。また、通信制御語格納領
域に連想記憶装置を導入し、より多くの制御語をプログ
ラムしておき、頻繁に用いる通信は高速化されるように
しても良い。
【0143】図36は一実施例を示した図であり、図3
4で示されるプロセッサを走行するプロセスのユーザ空
間(論理アドレス)からメモリアドレス(物理アドレ
ス)に変換した時のメモリアドレスのマップを示してい
る。
【0144】図34は並列計算機におけるPEの構成を
表したものであり、26ビットのメモリアドレスバスを
持つプロセッサ411、8MBのメモリ413A、リモ
ートメモリアドレスベースレジスタ416、リモートア
クセスメッセージ生成部417A、リモートアクセスメ
ッセージ応答部419およびルーティング部421Aよ
り構成されている。PE間は図35に示すように2次元
トーラスのトポロジーで接続されており、横方向をx方
向、縦方向をy方向と呼び、また、図35のx方向およ
びy方向のうち、矢印の始点を各方向の原点とする。
【0145】図36はPEのプロセッサ411のメモリ
アドレスを示している。プロセッサ411は26ビット
のメモリアドレスを具備しているので最大で64MBの
メモリがアクセスできるが、図35のシステムは8MB
のメモリを持つPEが16個存在するので、全体として
128MBのメモリを持つことになり、PEから全ての
メモリ413Aをアクセスすることができない。そこ
で、プロセッサ411がユーザ空間からメモリアドレス
に変換し、プロセッサ外部に出力するメモリアドレスを
例えば、図36に示すものとして、リモートメモリアド
レスベースレジスタを併用してアドレス拡張を行なう。
【0146】図36のメモリアドレス(ビット)はメモ
リアドレスの各ビットを表しており、メモリアクセスの
対象とするPEによりモード1、モード2およびモード
3が存在する。x方向相対アドレスおよびy方向相対ア
ドレスは自PEから目的とするPE迄の相対的な距離を
表す。相対アドレスはモードにより表現できるビット数
が決まっており、モード1では1ビット、モード2では
2ビット、モード3では4ビットである。この相対アド
レスは2の補数で表現するので、自PEを中心とする上
下左右を表現できる。但し、モード1における相対アド
レスは1ビットしか表現できないので、自PEからx、
y方向とも負の方向のPEを指定することができない。
メモリアドレスの24ビットと25ビットはモードを選
択する為に用いられ、24ビットと25ビットが共に0
の時は、自PE内で使用するアドレスにしている。
【0147】図36のリモートメモリアドレスはx方向
相対アドレスおよびy方向相対アドレスで指定されたP
Eで使用されるアドレスに用いられる。しかし、このま
まではPEに実装された8MBのメモリのうち、多くて
も半分しか使用できないので図34に示すリモートアド
レスベースレジスタ416を設けることにより8MBの
メモリをアクセスできるようにする。リモートメモリア
ドレスベースレジスタ416はプロセッサ411により
設定され、リモートアクセスメッセージ生成部417A
では図37に示すようにリモートアドレスベースレジス
タ416とリモートメモリアドレスを合体させて物理メ
モリアドレスを生成する。
【0148】リモートメモリアドレスレジスタとリモー
トメモリマスクレジスタをビット単位で論理和をとり、
その結果とリモートメモリアドレスをビット単位で論理
積をとったものが物理メモリアドレスである。リモート
メモリアドレスはモードによりビット長が異なるが、2
2ビットに満たない時は下位ビットを合わせ、上位ビッ
トの空白には0を入れる。リモートメモリマスクレジス
タは使用しているモードにより値が決まっており、モー
ド別の値を図38に示す。
【0149】ここで、図39で示されるようにPE12
のプロセスのユーザ空間にPE6の物理メモリ空間がマ
ッピングされていた時、PE12からPE6の物理メモ
リ空間をアクセスすることを考える。PE12からPE
6への相対距離は、x方向、y方向共に2もしくは−2
(マイナスは図35に示される各方向の矢印と逆向きに
進むことを示す)なので図36で示されるモード2かモ
ード3のどちらでも使用できることになる。実際のシス
テムでは一つのPEが一つのPEだけのメモリをマッピ
ングすることは考えられないので、マッピングに使用す
るPEの数と相対距離を考えれば、どのモードでアクセ
スしたらいいか分かるが、今回は1対1のマッピングを
想定しているのでどちらのモードを使用してもよい。
【0150】しかし、図35のシステムではモード2な
らばシステム内の全てのPEをアクセスできる距離にな
っているので、本実施例ではモード2を使用して説明す
る。本実施例で用いられるプロセッサはテーブルルック
アップバッファ(以下、TLBと略す)を用いたアドレ
ス変換機構を具備するのものとする。PE12で走行す
るプロセスが図39で示されるプロセスのユーザ空間の
0×A00000番地をアクセスした時、PEのプロセ
ッサ内に含まれる論理アドレス(ユーザ空間のアドレ
ス)からプロセッサから外部に出力する物理アドレス
(プロセッサ出力アドレス)に変換するTLBを用いて
論理アドレスの上位ビットが物理アドレスに変換され
る。プロセッサ出力アドレスは下位12ビットに論理ア
ドレスの下位12ビットをそのまま使用し、上位14ビ
ットはTLBにより変換された物理アドレスを使用す
る。
【0151】TLBはプロセッサ内に用意されるが、プ
ロセッサに内蔵されたTLBの容量以上のアドレス変換
を行なう為にメモリ内にもアドレス変換データが蓄えら
れる。プロセスが論理アドレス0×A00000番地を
アクセスするとTLB内に論理アドレスを物理アドレス
に変換する為のデータが格納されているかを調べる。ア
ドレス変換用のデータがTLB内に格納されていなけれ
ばぺージフォルトハンドラによってメモリ上のアドレス
変換用のデータがTLB内に格納され、同時に、リモー
トメモリアドレスベースレジスタにもデータが格納され
る。
【0152】TLBにはリモートアドレスベースレジス
タに格納されているデータからアクセスできるアドレス
用の変換情報が格納されており、TLBに格納されてい
ないアドレスを変換するにはページフォルトハンドラに
よってTLB内の変換データとリモートメモリアドレス
ベースレジスタの値を書き換えなければならない。プロ
セスが論理アドレス0×A00000番地をアクセスし
た場合、TLB内にアドレス変換用データが設定されて
いなければ、ページフォルトハンドラによりTLBに論
理アドレス0×A00、物理アドレス0x2A00が格
納され、プロセッサ出力アドレスはTLBの出力と、論
理アドレスの下位12ビットを使用して0x2A000
00番地となる。
【0153】リモートメモリアクセスメッセージ生成部
417Aでは、プロセッサ出力アドレス0×2A000
00番地を、図36で示されるように解釈する。上位2
ビットの0x2はモード2を示しているので図38で示
される表からリモートメモリマスクレジスタを0×30
とする。中位の4ビットの0xAより、PE相対アドレ
スがx,y方向共に−2であることからアクセス先はP
E6だと判定する。
【0154】また、下位の20ビットとリモートメモリ
アドレスベースレジスタ416の0×60とリモートメ
モリマスクレジスタの0×30を使用して図40で示さ
れるようにして物理メモリ空間のアドレスの0×600
000を求める。図40のリモートメモリマスクレジス
タは図36で示される全てのモードに対応できるように
最大の22ビット幅で示されているので、モード2を使
用する場合は、上位の2ビットを空白にして(0とみな
す)処理を行なう。
【0155】以上により、PE12のプロセスからのユ
ーザ空間のアクセスがPE6の物理メモリ空間のアドレ
スに変換されるので、リモートアクセスメッセージ生成
部はPE6に対してリモートアクセスメッセージを送信
する。PE6ではリモートアクセスメッセージに対する
応答を行い必要があればPE12に返信を行う。
【0156】次にPE12のプロセスが引きつづいてユ
ーザ空間の0×A00004番地をアクセスする場合、
TLBには0×A00000番地をアクセスした時にア
ドレス変換に必要なデータが格納されているので、論理
アドレス0×A00000番地をアクセスした時のデー
タがそのまま使用できることから、ページフォルトハン
ドラは起動せず、また、リモートメモリアドレスベース
レジスタの値も0×60でよいので書き換える必要がな
いので、論理アドレス0×A00000番地をアクセス
した時に比べてページフォルトハンドラによるソフトウ
ェア処理が省略でき、高速リモートアクセスができる。
【0157】なお、本実施例ではPEアドレスを相対ア
ドレスの場合について示したが、絶対アドレスで行なう
ことも可能である。
【0158】上述したように、本実施例によれば、メモ
リを有する複数のPEから構成されるマルチプロセッサ
システムにおいて、システムプログラムの介在なしでユ
ーザモードの中からブロック転送を含むリモートアクセ
スが可能であることから従来数十〜数百μs かかってい
たソフトウェアオーバヘッドが1メモリアクセスの時間
である数十ns程度に短縮され、高速なプロセッサ間通
信が可能となる。
【0159】リモートアクセスメッセージ生成部417
Aに識別情報付加手段を具備し、リモートアクセスメッ
セージ応答部419にメッセージ中の識別情報を自PE
の識別情報管理テーブル495と比較してリモートアク
セスメッセージに対するアクセス権限のチェックを行な
う手段を具備することにより、システムプログラムの実
行なしでアクセス権限を調べることができるので高速な
プロテクションのチェックができる。
【0160】PEの構成要素の一つであるプロセッサの
アドレスバスの大きさ以上のメモリを使用する時にユー
ザがマッピングできるPE数とPE一つあたりのメモリ
容量を可変にすることでプロセスの性質に合わせてメモ
リを使用できると共にプロセッサのアドレスバスで表現
できる大きさ以上のメモリを使用することができる。
【0161】
【発明の効果】以上説明したように本発明は、システム
に故障した電子回路が存在したり、電子回路数が多くな
った場合においても1電子回路で複数の種類の同期を高
速に取ることのできる並列処理装置を提供することを目
的とする。
【0162】また、並列処理装置の細粒度処理時の電子
回路間通信において、簡単なハードウェアによって、シ
ステム全体の性能を低下させることなく、計算機結合網
の異常動作を即座に検出することのできる並列処理装置
を提供することを目的とする。
【0163】さらには、分散共有メモリを用いた並列処
理装置において汎用マイクロプロセッサの改造をするこ
と無くプロセッサのアドレスバスの大きさ以上のメモリ
を使用し、ブロック状のデータ転送をシステムプログラ
ムの仲介なしで高速に行なうことのできる並列処理装置
を提供することを目的とする。
【図面の簡単な説明】
【図1】本発明に係る第1の実施例を示した図である。
【図2】第1の実施例におけるPEの内部構成を示した
図である。
【図3】第2の実施例を示した図である。
【図4】PEの同期番号マスクレジスタの内容例を示し
た図である。
【図5】PEの同期状態レジスタの内容例を示した図で
ある。
【図6】PEから同期判定バス0に出力する信号を示し
た図である。
【図7】第3の実施例を示した図である。
【図8】第3の実施例におけるPEの内部構成を示した
図である。
【図9】第4の実施例を示した図である。
【図10】PEの内部構成を示した図である。
【図11】メッセージヘッダーに格納された検査符号で
ある。
【図12】メッセージヘッダーに検査符号を挿入した送
信処理のフローチャートである。
【図13】メッセージヘッダーに検査符号を挿入した受
信処理のフローチャートである。
【図14】故障発生時の受信メッセージにおける検査符
号系列である。
【図15】同一数値が複数回出現する検査符号系列であ
る。
【図16】M系列乱数を検査符号系列に用いたときの送
受信処理である。
【図17】伝送終了時の検査処理である。
【図18】チェックポイント毎の送信部のメッセージ順
序の検査処理のフローチャートである。
【図19】チェックポイント毎の受信部のメッセージ順
序の検査処理のフローチャートである。
【図20】メッセージ列からの検査符号発生器である。
【図21】PEの構成例を示した図である。
【図22】PE間の結合を示した図である。
【図23】ユーザ空間とPEの物理メモリ空間の対応を
示した図である。
【図24】ユーザ空間とプロセッサのメモリアドレス空
間の対応を示した図である。
【図25】PEのリモートアクセスメッセージ生成部の
構成例を示した図である。
【図26】PEのリモートアクセスメッセージ応答部の
構成例を示した図である。
【図27】リモートアクセスメッセージを示した図であ
る。
【図28】リモートアクセスメッセージを示したの図で
ある。
【図29】リモートアクセスメッセージを示した図であ
る。
【図30】リモートアクセスレスポンスメッセージを示
した図である。
【図31】リモートアクセスレスポンスメッセージを示
した図である。
【図32】リモートアクセスレスポンスメッセージを示
した図である。
【図33】通信制御語格納領域を示した図である。
【図34】PEの構成例を示した図である。
【図35】PE間の結合を示した図である。
【図36】メモリアドレスの例を示した図である。
【図37】物理アドレスを求める方法を示した図であ
る。
【図38】リモートメモリマスクレジスタのモードにお
けるデータを示した図である。
【図39】PE12がPE6のメモリをマッピングした
図である。
【図40】物理メモリアドレスを計算した図である。
【符号の説明】
1 同期番号コントローラ 3 同期コントローラ 5 電子回路ブロック 10 同期番号設定手段

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 それぞれが独立に動作し得る複数の電子
    回路を構成要素とする並列処理装置であって、 前記複数の電子回路のそれぞれに接続され同期の種類を
    表す同期番号を通知する同期番号放送バスと、 前記複数の電子回路のそれぞれに接続され論理積機能を
    具備する同期判定バスと、 同期番号放送バスを介して通知する同期番号を制御する
    同期コントローラと、 この同期コントローラに同期番号を与える同期番号設定
    手段と、 この同期番号設定手段で設定された同期番号に対応し
    て、前記複数の電子回路のそれぞれに接続される同期判
    定バスが全て同期完了状態になったことを検知する検知
    手段と、を有することを特徴とする並列処理装置。
  2. 【請求項2】 ネットワークを介して接続される複数の
    電子回路を構成要素とする並列処理装置であって、 これら複数の電子回路間の通信に関し、少なくとも送信
    側電子回路はメッセージ送信手段と短ビット長の数値系
    列を発生する数値系列発生手段とを具備し、受信側電子
    回路はメッセージ受信手段と前記数値系列発生手段で発
    生された数値系列の順序を検査する検査手段を具備し、 送信側電子回路のメッセージ送信手段にあっては、メッ
    セージ送信の際には数値系列発生手段で発生された数値
    系列を各メッセージのヘッダに付加して送信し、受信側
    電子回路のメッセージ受信手段にあっては、受信したメ
    ッセージの数値系列の順序の検査を検査手段で行なうこ
    とを特徴とする並列処理装置。
  3. 【請求項3】 メモリを有し、それぞれが独立に動作し
    得る複数の電子回路を構成要素とする並列処理装置であ
    って、 前記各電子回路はそれぞれのメモリを各電子回路で走行
    するプロセスのユーザ空間にマッピングし、このマッピ
    ングに基づいて任意の電子回路で発生したメモリアドレ
    スが他の電子回路のメモリに対応することが判別される
    ときには当該他の電子回路へのリモートアクセスメッセ
    ージを生成するリモートアクセスメッセージ生成手段
    と、 このリモートアクセスメッセージ生成手段で生成される
    リモートアクセスメッセージの受信に応じてこのリモー
    トアクセスメッセージの内容に対応する応答を行なうリ
    モートアクセスメッセージ応答手段とを有することを特
    徴とする並列処理装置。
  4. 【請求項4】 メモリを有し、それぞれが独立に動作し
    得る複数の電子回路を構成要素とする並列処理装置であ
    って、 あらかじめブロック状のデータ授受を要求するリモート
    アクセスメッセージに反映される通信制御語をユーザモ
    ードではアクセス不可能なシステム領域に格納する格納
    手段と、 この格納手段でシステム領域に格納される通信制御語の
    起動を指示するアドレスをユーザモードからアクセス可
    能なユーザ空間にマッピングするマッピング手段とを有
    することを特徴とする並列処理装置。
JP5052718A 1993-03-12 1993-03-12 並列処理装置 Pending JPH06266678A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5052718A JPH06266678A (ja) 1993-03-12 1993-03-12 並列処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5052718A JPH06266678A (ja) 1993-03-12 1993-03-12 並列処理装置

Publications (1)

Publication Number Publication Date
JPH06266678A true JPH06266678A (ja) 1994-09-22

Family

ID=12922702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5052718A Pending JPH06266678A (ja) 1993-03-12 1993-03-12 並列処理装置

Country Status (1)

Country Link
JP (1) JPH06266678A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4824080B2 (ja) * 2006-03-01 2011-11-24 富士通株式会社 同期制御システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4824080B2 (ja) * 2006-03-01 2011-11-24 富士通株式会社 同期制御システム

Similar Documents

Publication Publication Date Title
JP3866426B2 (ja) クラスタ計算機におけるメモリ障害処理方法及びクラスタ計算機
JP3807250B2 (ja) クラスタシステム、コンピュータ及びプログラム
KR100553145B1 (ko) 고장 발생 시 완전한 성능을 유지하는 컴퓨터 파일 시스템, 컴퓨터 파일 시스템을 포함하는 컴퓨터 시스템, 컴퓨터 파일 서버의 유지 방법, 컴퓨터 파일 시스템의 완전한 성능을 유지하기 위한 프로그램을 수록한 컴퓨터 판독 가능한 기록 매체 및 프로그램 스토리지 디바이스
US8204054B2 (en) System having a plurality of nodes connected in multi-dimensional matrix, method of controlling system and apparatus
US8051325B2 (en) Multiprocessor system and failure recovering system
JP2004118855A (ja) マルチプロセッサコンピュータシステムを保全する方法
JP2008546044A (ja) プロセッサをベースとしたコントローラ設計における冗長手法の方法および装置
JP2002304328A (ja) マルチプロセッサシステム用コヒーレンスコントローラ、およびそのようなコントローラを内蔵するモジュールおよびマルチモジュールアーキテクチャマルチプロセッサシステム
US20090178053A1 (en) Distributed schemes for deploying an application in a large parallel system
US4400775A (en) Shared system for shared information at main memory level in computer complex
KR20070116102A (ko) Dma 컨트롤러, 노드, 데이터 전송 제어 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
JPH04246745A (ja) 情報処理装置及びその方法
CA2530913A1 (en) Fault tolerant computer system and interrupt control method for the same
JP3988146B2 (ja) マルチノードシステム、ノード間クロスバスイッチ、ノード、スイッチプログラム及びノードプログラム
JP2009282917A (ja) サーバ間通信機構及びコンピュータシステム
JP2006053896A (ja) コンピュータシステムの複数の処理ノードを接続するファブリック数のソフトウェアトランスペアレントな拡張
US7904663B2 (en) Secondary path for coherency controller to interconnection network(s)
WO2001024011A1 (en) Method and apparatus for handling invalidation requests to processors not present in a computer system
JPH06266678A (ja) 並列処理装置
US20050165974A1 (en) Computer apparatus and computer system
JP2001134546A (ja) マルチプロセッサシステムの障害処理方法
US7336657B2 (en) Inter-nodal data transfer system and data transfer apparatus
US7243257B2 (en) Computer system for preventing inter-node fault propagation
JPH04260962A (ja) 並列計算機における同期制御方式
JP2011048452A (ja) エンドポイント代理アクセス装置、共有システム、代理アクセス方法および代理アクセスプログラム