JP2559918B2 - 並列計算機における同期制御方式 - Google Patents
並列計算機における同期制御方式Info
- Publication number
- JP2559918B2 JP2559918B2 JP3143355A JP14335591A JP2559918B2 JP 2559918 B2 JP2559918 B2 JP 2559918B2 JP 3143355 A JP3143355 A JP 3143355A JP 14335591 A JP14335591 A JP 14335591A JP 2559918 B2 JP2559918 B2 JP 2559918B2
- Authority
- JP
- Japan
- Prior art keywords
- synchronization
- status
- register
- computer
- request
- 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 - Lifetime
Links
Landscapes
- Multi Processors (AREA)
Description
計算機(以後、プロセッサエレメントをあらわすPEと
略す)を通信ネットワークで接続し互いに同期して並列
動作させる並列計算機のプロセッサ間同期方式におい
て、同期,ステータス及び安定状態の検出方式に関す
る。
クロプロセッサや大容量のメモリを安価・小型に構成す
ることが可能になり、このようなマイクロプロセッサや
メモリを多数使用して並列計算機を容易につくることが
できるようになってきた。1つの仕事を複数のPEで並
列処理するためには、仕事を分割し各PEに割りつけて
実行させればよい。この並列処理の並列実行に当たって
は、処理の順序関係に注意する必要がある。すなわち、
全PEがある処理を終了させた後にはじめて、次の処理
を行うことを保証する必要がある場合がある。この保証
のために効率良いプロセッサ間同期機能が必要である。
これにより、高速な並列計算機が実現できる。
方式がある。この方式では全PEで共有するメモリを持
ち、そのメモリの一部に対して排他的に読みだし、書き
込みを行うことによりプロセッサ間同期機能を実現して
いる。
タ方式がある。この方式では、個々のPEに同期用レジ
スタを用意し、全PEの同期レジスタの出力の論理積を
検出し、全PEに返すことにより全PEでの同期を検出
する。
式がある。これは、図21に示すように、並列計算機シ
ステムのPEにおいて、まず各PE内で処理1を実行
し、それが終了した後、処理2として他のPE間でメッ
セージの送信/受信を行い、そのメッセージの処理が終
了すると次の処理に移行する。全てのPEがメッセージ
待ち状態にあることを、ホストプロセッサが知り、各P
Eにコマンドを放送し、各PEは、それに対応するコマ
ンドの処理を開始する。このようにして、各PEがその
状態を知り、次のステップに移行する。
PE数が大きくなると、メモリへのアクセスが頻発する
という欠点がある。
クセスは、PEごとに独立に行えるので、メモリアクセ
スの競合は起こらない。この方式の同期機構は、図22
(a)のように処理1において全PEが同じように異常な
く働いている時には問題はない。処理1を全PEが終了
し同期が成立したことを同期レジスタで検出して処理2
に進めばよい。もし処理1で1つのPEに何らかの異常
事態(例えば、プログラムのバグ、0除算やオーバフロ
ーなど)が起きた場合には2通りの対処のしかで従来行
われていた。図22(b)のように1つのPEの処理1で
のエラーを無視して他の全ての同期レジスタで同期を検
出して処理2を続行させる方法と、図22(c)のように
1つのPEの処理1でエラーを検出したらそこで全ての
PEの処理1を中断する方法である。この場合、前者の
方法は処理1でエラーを起こしたPE以外は、エラーの
ことに全く気付かずに処理2を続けてしまうので、エラ
ーの発見が遅れ無駄な処理を実行してしまうという問題
がある。さらに、最後までエラーに気付かず間違った答
えを出す可能性さえある。また、後者の方法では、処理
1でエラーを起こしたPE以外にエラーの情報が伝わら
ないためエラーを起こしたPE以外のPEは全て同期待
ちに入り、エラーを起こしたPEからの同期信号を受信
しないので全PEの同期処理は終了せず、したがって処
理2に進まないという問題がある。
クにメッセージがまだ残っている場合の、同期要求ある
いはステータス要求の検出が不十分であった。すなわ
ち、メッセージが各PEにはないか、PE間の通信経路
に残っているときに、同期要求あるいはステータス要求
を出してしまうと、処理は次のステップに移ってしま
い、ネットワークに残っている前の処理で処理されるべ
きデータがあるPEに到達すると、次のステップでその
データを処理してしまうという問題があった。すなわ
ち、全てのPEが同期成立にあるとき、あるPEだけが
他のPEより早く同期成立を知り、次のステップへ移行
する可能性があった。
PEの同期と同時に全PEのステータスを検出すること
により1つのPEにエラーが発生した場合も、直ちに適
切な対処を行うことにより、他のPEが誤まった処理を
実行したり、あるいは同期待ちの状態に置かれてしまう
ことを防止できるので、結果としてプロセッサ間同期を
高速に達成して演算速度を向上することを目的とする。
て、一度安定状態になったことを各PEが正確に知り、
特に全てのPEがメッセージ待ち状態にあっても、ネッ
トワーク内にメッセージが存在すると、安定状態ではな
い(メッセージがいつかは、PEに到着し、そのPEは
メッセージ待ちの状態ではなくなる)ので、ネットワー
ク内にメッセージがないことを検出して、同期要求ステ
ータスに関してプロセッサ間の安定状態を検出すること
を目的とする。
理を示すブロック図である。本発明は、同期レジスタ方
式を前提とする方式である。すなわち多数の独立に作動
する計算機を接続した構成の分散メモリ型並列計算機で
あって、個々のPEに同期要求レジスタと同期検出レジ
スタと、全PEの同期要求レジスタの論理積をとる手段
と、その結果を全PEに分配する手段と、分配された結
果によって全PEの同期検出を行う同期検出手段1を有
する並列計算機同期方式を前提とする。
に設けられ、例えばステータスが正常のときに、そのP
EのCPUから論理1を入力する。次に判断手段4は、
全PEのステータスが正常であることを判断する。
分配する。全PEのステータスが正常でありかつ、全P
Eの同期成立検出手段1によって全PEの同期が成立し
たことを検出したとき、ステータス検出レジスタ3の内
容を変化させる。
ータスが正常であると検出されたとき、次の処理に進行
する。図2は第2の本発明の原理図であり、多数の独立
に動作する計算機を通信ネットワークで接続した分散メ
モリ型並列計算機に係るものであり、PE個々に同期要
求レジスタと同期検出レジスタと、全PEの同期要求レ
ジスタの論理積をとる手段と、その結果を全PEに分配
する手段と、自PEの同期要求を行い全PEの同期成立
を検出する手段6を有する。第2の発明ではこれに代え
て、通信ネットワークの状態信号を受信する手段7を有
し、更にその状態信号を受信する信号線と同期要求レジ
スタの出力とにより自PE上に同期要求がありかつ、ネ
ットワークにメッセージがないことを検出する同期安定
要求手段8とを具備することを特徴とする。
り、多数の独立に動作する計算機を通信ネットワークで
接続した分散メモリ型並列計算機に係るものであり、P
E個々にステータス要求レジスタとステータス検出レジ
スタと、全PEのステータス要求レジスタの論理積をと
る手段と、その結果を全PEに分配する手段とからな
り、自PEのステータス要求を行い全PEのステータス
要求成立を検出する手段9を有する。第3の発明ではこ
れに代えて、通信ネットワークの状態信号を受信する手
段10を有し、更にその状態信号を受信する信号線とス
テータス要求レジスタの出力とにより自PE上にステー
タス要求がありかつ、ネットワークにメッセージがない
ことを検出するステータス安定要求手段11とを具備す
ることを特徴とする。
1に示すように全PEの同期が確立し、さらにブロック
4で全PEのステータスが正常であることが確立された
ときはじめて、各PEからのステータス正常を示す信号
を出力し、次にステータスクリアして、次の処理2に進
むようにした。したがって、処理1において、エラーが
あったときには、例えば処理1において全PEの同期が
確立した場合でも処理2に進まない。そして、処理1に
おいて、エラーがあったことを直ちに判別することがで
きる。そして、そのエラーに対して適切な処理を施せる
ので、各PEが1つのPEのエラーのために誤まった動
作を実行したり、同期待状態におかれたりすることを防
止できる。
して、安定状態を検出する。本発明で定義される安定状
態とは通信経路上にメッセージがなく、かつ全てのPE
にメッセージがなく、全てのPEがメッセージ待ち状態
にあることである。全てのPEがメッセージ待ち状態に
あるためには、各PEが同期要求をネットワークにメッ
セージがないことを示す信号とANDをとる形で出力し
て、自分以外の他の全てのPEも各PEと同じ同期要求
を出していることを自分自身が知る、すなわち、同期検
出を行えばよい。すなわち、本発明は、従来の同期検出
に加えて、ネットワークにメッセージがないという条件
を加えるものである。ここで、ネットワークにメッセー
ジがないとは、各PEにメッセージがなく、かつ各PE
を接続する通信経路上にもないことを言う。
ことは、少なくとも1つのPEにメッセージがあるかあ
るいは全てのPEにメッセージがなく、全てのPEがメ
ッセージ待ち状態にあるにもかかわらず、メッセージが
通信経路上にあることである。そのメッセージがいつか
は、どこかのPEに到達して、そのPEはメッセージ待
ち状態ではなくなり、不安定状態となる。すなわち、各
PEが処理を終了し、同期要求を出力しても、メッセー
ジがネットワーク上に残っていれば、そのメッセージ
は、いつかどこかのPEに入ってそのPEがメッセージ
の処理を再び実行しなければならなくなって、同期要求
を出力したことに反してしまう。したがって、本発明で
はネットワーク状態をみることによりネットワークにメ
ッセージがないことを検出してから、同期安定要求を出
力するようにした。これにより、同期安定要求を出力し
た後でPEが再びメッセージの処理をしなければならな
くなるという同期安定要求に反する状態が出現すること
を回避できる。
出する際にもネットワーク状態を検出するようにした。
テムの具体例について説明する。本発明が適用される並
列計算機システムは、分散メモリ型高並列コンピュータ
である。64〜1024台のプロセッサ・エレメント
(セル)とホスト計算機であるエンジニアリング・ワー
クステーション(EWS)から構成される。全セルとホ
ストを接続するコマンドバスとセル同士を接続するトー
ラスネットワークの2種類のネットワークによって、セ
ル─ホスト間やセル同士の通信を行う。
ction Set Computer(RISC)型マイクロプロセッサ
と高速浮動少数点演算器により高い演算性能を高性能の
DMAコントローラにより高速・高性能なデータ通信能
力を実現している。各セルには、アプリケーションに対
応した特殊処理ハードウエア(オプション)の付加が可
能であり、種々のアプリケーションに適した、専用並列
マシンにカストマイズすることが可能である。
テムの基本システム構成を示す。本発明の適用される並
列計算機システムは、分散マルチインストラクションマ
ルチデータ(MIMD)型の高並列プロセッサである。
各プロセッサエレメントは、セルと呼ばれて全て同一の
構成である。各セルは、高性能32ビットマイクロプロ
セッサ、高速FPU、キャッシュメモリ、大容量主記
憶、ネットワークインタフェース、コマンドバスインタ
フェースから構成される。
ーを持つトーラスネットワークによって4つの隣接する
セルと接続している。また、コマンドバスによって全セ
ルとホスト計算機が接続している。また、各セルには、
外部に画像入出力デバイスや高速I/Oインタフェー
ス、ディスクインタフェース、拡張メモリ、ベクタープ
ロセッサなどのオプションハードウエアを付加すること
が可能である。
テム内の各セルプロセッサのハードウエア構成を示す。
基本部は、整数演算・論理演算・制御を行うRISC型
のマイクロプロセッサIUと高速浮動演算器FPUから
成り、高速なキャッシュメモリCMと接続される。キャ
ッシュメモリは、128KBの容量があり、高いヒット
率と、低いメモリバストラフィックを実現するため、コ
ピーバッグ方式を採用した。
DMAコントローラとキャッシュコントローラが内部に
あり、ディスクの転送の高速化を実現する。DRAMコ
ントローラは、4Mビットまたは1MビットのDRAM
の制御とエラーの検出・訂正を行う。コマンドバスイン
タフェースBIFは、コマンドバスとのディスク転送
を、ルーティングコントローラRTCは、トーラスネッ
トワークとのディスク転送を行う。
LBUSと呼ばれる内部バスに接続される。LBUS
は、32ビット幅のアドレス・データ多重のバスであ
る。LBUSは各セルごとにコネクタを介して外部に取
り出されており、種々のオプションハードウエアの付加
を可能にしている。
の初期化を行う。システム初期化は、本システムがもつ
種々のリソースの機能チェックと初期化設定を行うこと
である。システム初期化は、コマンドバスを経由して、
ホストから放送した初期化プログラムロードし、それを
実行することにより行われれる。この時同時に各セルの
セルidも設定される。
セルOS(CPUからなるセルを動かすOS)が走って
おり、ユーザプログラムのロード・実行要求を待ってい
る。ユーザプログラムも、コマンドバスを経由して、各
セルに放送される。セル内に配置されたユーザプログラ
ムは、ホストからの指示に従って実行される。
は、ホスト計算機から初期化データをコマンドバスを通
じて放送することにより行う。コマンドバスによる放送
は、ホストからセルだけでなく、一つのセルから他のセ
ル群へ放送を行うことも可能である。また放送先は、任
意のセルをグループ化し、そのグループidが一致した
セル群にのみ行うこともできる。
な、ルーティングユニットRTCをトーラス状のネット
ワークで結んだ構成である。RTCの4本のポートは、
東西南北(EWSN)と呼び、各セル間で、NとSとW
とEとはそれぞれ接続される。RTCの個々のデータ転
送路は、それぞれ16ビット幅のデータと制御信号から
成る。RTCは、任意セル間の通信における中継処理を
各セルのCPUの介在なく、ハードウェアで高速に行
う。最大構成は、32×32(1024台)である。
うな構成をとる。ルーティングは、まずX方向へ進み、
次にY方向へ進む。送信セルと受信セルが同じときは、
必ず同じ径路を使用する(スタティック・ルーティン
グ)のでメッセージの追い越しは発生しない。RTC内
部では、N−S方向のルーティングユニットとW−E方
向のルーティングユニットが独立に存在し直列に接続さ
れた構成である。
行き先の判断と、バッファリングを行う。データ転送の
レイテンシを低くするために、ワームホールルーティン
グと呼ばれるルーティング方式を取り入れている。ま
た、複数のセルが同時に送信要求を出しても、デッドロ
ックやスループット低下がおきないように、構造化バッ
ファプールと呼ばれるバッファ管理アルゴリズムを採用
している。
のヘッダが直接、入力チャネルから出力チャネルへ中継
ルートをつくりながら、送り出されていくようなルーテ
ィング方式である。各中継ノードでは、メッセージの一
部分をバッファリングする。
・フォワード・ルーティングでは中継ノードがメッセー
ジ全体をバッファリングするのに対し、ワームホールル
ーティングでは、フリットと呼ぶ数ワードのデータのみ
が中継ノードにバッファされる。あるセルがメッセージ
のヘッドを受信すると、中継ルートのチャネルを選択
し、フリットをそのチャネルへ転送する。後続のフリッ
トはヘッダのフリットが選択したルートと同じルートに
転送されていく。
により、メッセージの送信から受信までの遅延時間(レ
イテンシ)を小さくすることができる。ストア&フォワ
ードルーティングのレイテンシが、セル間距離とメッセ
ージサイズの積に比例するのに対して、ワームホールル
ーティングのレイテンシは、セル間距離とメッセージサ
イズの和に比例する。
間、そのメッセージが使用されているチャネルをブロッ
クするので、デッドロックの発生とスループットの低下
を起こす可能性がある。RTCでは、レイテンシが小さ
いことを特徴とするワームホールルーティングに構造化
バッファプールのアルゴリズムを取り入れることによ
り、低レイテンシかつ高スループット,デッドロックフ
リーを実現した。これによって、ネットワーク全体で通
信が行われているとき、ネットワークの一部分の輻輳に
よりネットワーク全体の性能が低下することがなくな
る。また、送信されたメッセージが宛先セルで必ず受信
される限り、ネットワーク上でのデッドロックは発生し
ない。
形式で、メッセージの先頭を示すヘッダとメッセージ本
体,メッセージの終了を示すエンドビットから成る。ヘ
ッダには、種々の制御情報を乗せる。エンドビットは、
メッセージコントローラが自動的に付加する。
明にかかる同期機能を以下に述べる。並列処理において
は、全セルの処理の終了を確認してから、次の処理に進
むことを保証できるような機構が必須である。同期・ス
テータス系は、同期処理を効率良く行うハードウエアで
ある。
したら、同期要求を行う。全セルが同期要求を出したこ
とを確認できるまで各セルは、同期待ちにはいる。同期
の確立はハードウエアによって通知され、その後、処理
2の実行が開始される。すなわち、本発明のシステムの
ような高並列計算機では、全プロセッサがある状態にな
るのを待って次の状態へ進むといった処理が多く現れ、
同期・ステータス系は、このようなタイプの同期を効率
よく実現する。
のようになる。同期系では、各セルに同期要求レジスタ
を持たせ、全セルでその出力の論理積(AND)をとっ
た値が1になったら、同期検出レジスタをセットする。
この時同時に、同期要求レジスタをクリヤする。同期検
出レジスタがセットされていることは、全セルが同期を
要求したことを示しているので、これを用いて全セルが
プログラム中の部分に来たことが保証できる。
求レジスタを持たせ、全セルでその出力の論理積(AN
D)をとった値をステータス検出レジスタにセットする
ようにする。ステータス検出レジスタは、全セルのステ
ータス要求レジスタの論理積の時々刻々の値を表してい
る。
1024台のセルのレジスタの出力のANDをとるため
に、図11のような階層ネットワーク構成をとってい
る。また、並行して複数の要因について動作が可能にな
るように、要因ごとに時分割動作を行っている。同期・
ステータス系ネットワークは、階層ネットワークの時分
割使用により、8要因の高速同期,8要因の高速ステー
タス,32要因の低速同期,32要因の低速ステータス
の処理が可能である。同期・ステータス系のレジスタ類
は、BIFチップ内に実装されている。
レジスタ,同期マスクレジスタ,同期割り込みマスクレ
ジスタのリソースがある。それぞれ、高速同期系は、8
ビット、低速同期系は32ビットのレジスタである。
ットすることにより行う。同期が確立すると、同期検出
レジスタの対応するビットがセットされ、同期要求レジ
スタはリセットされる。CPUは、同期検出レジスタを
監視することにより、同期の確立を知ることができる。
同期が確立した時に、対応する同期割り込みマスクレジ
スタがセットされていなければ、CPUに割り込みがは
いるのでこれによる通知も可能である。また、同期マス
クレジスタをセットすると、そのセルは、同期に参加し
ない。すなわち、自分は、その同期の検出をしないし、
他のセルに対しては、常に同期要求状態になる。マスク
機能を用いて、特定のグループのセル群のみで同期をと
ることが容易になる。
ステータス検出レジスタ,ステータスマスクレジスタの
リソースがある。それぞれ、高速ステータス系は、8ビ
ット、低速ステータス系は32ビットのレジスタであ
る。
レジスタをセットすることにより行う。ステータス検出
レジスタには、全セルのステータス要求レジスタの値の
ANDがセットされる。すなわち、ステータス検出レジ
スタの値は、その時の全セルのステータスを表す。ステ
ータスマスクレジスタをセットすると、そのセルは、ス
テータスに参加しない。他のセルに対しては、常にステ
ータス要求状態になる。マスク機能を用いることによ
り、特定のグループのセル群のみでステータスをとるこ
とが容易になる。
の各セルのステータスを得るための機能である。同期&
ステータスモードレジスタをセットすることにより、同
期系とステータス系を結合して、同期&ステータス動作
を行う。同期&ステータスモードのセットは、各要因ご
とに可能である。同期&ステータスモードでは、同期系
の動作は変わらないが、ステータス系の動作に変化があ
る。通常モードでは、ステータス検出レジスタには、常
に全セルのステータスのANDがセットされていた。同
期&ステータスモードでは、同期が検出された瞬間の
み、全セルのステータスをセットする。
す。各セルのCPUは、同期要求地点にきたら、先ずそ
れまでの処理が正常に実行されていれば、ステータス要
求レジスタをセットする。なにかエラーがあった場合
は、ステータス要求レジスタをクリアする。その後、同
期要求レジスタをセットしてCPUは、同期要求待ちに
はいる。同期完了を待っていたCPUは、同期完了を検
出すると、ステータス検出レジスタの値を読みだし、前
の処理を全てのセルがエラーなく実行したことを確認し
てから、次のステップに進む。もし1つ以上のセルでエ
ラーが発生していた場合は、ステータス検出レジスタの
値は、0となり全セルが処理を終了させる。
んらかのエラーが発生した場合に、同期を検出するとセ
ルが全体の処理状況を確認できる。任意の1セルの異常
処理を全セルが検出判断して、適切な処理をとることが
できるので、正常終了したセルが同期待ちを続けるよう
なことがなくなる。
す。先ず、同期を検出する手順を示す。各PEのCPU
(図14を参照)は、同期要求レジスタ21をセットし
て同期検出待ちにはいる。同期要求レジスタ21の出力
は、全PEで論理積がAND回路24でとられ全PEに
返ってくる。全てのPEが同期要求レジスタ21をセッ
トすると、その論理積出力は1になり、全PEの同期検
出レジスタ23をセットし、同時に同期要求レジスタ2
1をクリアする。
同期検出レジスタ23を監視することや、同期要求レジ
スタ23がセットされたことを要因とした割り込みによ
って同期が確立したことを知ることができる。同期を検
出したCPUは次のステップに進む。
も得るために以下の手順で処理を行う。図13において
モードレジスタ28の出力のMODEは0とする。各P
EのCPUは、同期要求地点にきたら、先ずそれまでの
処理が正常に実行されていれば、ステータス要求レジス
タ31にステータスをセットする。例えばエラーがあっ
た場合はステータスをクリアする。その後、同期要求レ
ジスタ21をセットして同期要求待ちにはいる。同期要
求レジスタ21の出力とステータス要求レジスタ31の
出力はそれぞれ全PEで論理積がAND回路24および
34でとられ、全PEに返ってくる。全てのPEが同期
要求レジスタ21をセットすると、その論理積出力は1
になり全PEの同期検出レジスタ23がセットされる。
同時に同期要求レジスタ21をクリアするAND回路2
4の“1”出力がステータス線36上のOR回路37,
AND回路38を介してステータス検出レジスタ33に
送られる。全PEのステータスに異常がなく、ステータ
ス要求レジスタ31の出力が論理1のとき、AND回路
34は論理1を出力し、この出力が全てのPEに再び分
配される。そして、各PEにおいて、ステータス線36
を介して送られてきた全てのPEの同期成立を示す信号
とAND回路34から送られてきた全てのPEのステー
タス要求成立を示す信号との論理積をAND回路38で
とって、ステータス検出レジスタ33をセットする。
ス検出レジスタ33の値を読みだし、前の処理で全ての
PEがエラー無く実行したことを確認してから、次のス
テップに進む。もし1つ以上のPEでエラーが発生して
いた場合は、AND回路34の出力は論理0となり、全
PEの同期がとれていても、AND回路39を介してス
テータス検出レジスタ33の値は0となり、全PEは次
のが処理を実行しない。ステータス線36のデータは、
同期が検出された時のみ有効となり、ステータス検出レ
ジスタ33を更新するので、全PEの同期確立時のステ
ータスを検出することが保証される。
モードレジスタ28によって制御することにより、同期
系とステータス系を独立したものとしても、同期兼ステ
ータス系としても使用することができる。すなわち、モ
ードレジスタ28の出力のMODEが1のときは、たと
えステータス線36の信号が0で、全PEの同期が成立
していないときでも、全PEのステータスに異常がなけ
れば、ステータス検出レジスタ33を1にセットでき
る。したがって、同期系に関係なくステータス系を独立
して動作させることができる。
によって構成されるPEの構成と、並列計算機システム
の全体の構成を示す。図13と同一部分は、同一参照番
号を付して説明を省略する。
M42にデータバスラインで接続された同期要求レジス
タ21,同期検出レジスタ23,ステータス要求レジス
タ31,ステータス検出レジスタ33,モードレジスタ
28,カウンタ51が接続される。データバスはPE間
通信インターフェース43を介してネットワーク44に
接続され、他のPEとの通信が行われる。各PEの同期
要求レジスタ21とステータス要求レジスタ31はAN
D回路24および34に接続され、このAND回路2
4,34の出力は各PEの同期検出レジスタ23,ステ
ータス検出レジスタ33にそれぞれ分配される。
駄な時間なので極力短くしたい。プログラムを実行する
上で、どのPEの同期待ち時間が長いか知ることは重要
である。図15に示した実施例では、個々のPE毎にク
ロックをカウントするカウンタ51を設け、同期要求レ
ジスタ21の出力(全PEで論理積をとる前)が1のと
きにカウントアップし、同期検出されたとき、カウント
を終了するものである。同期要求・同期検出が繰り返さ
れる場合は、同期を要求している時間が積算されること
になる。
ログラムを実行し、最後にカウンタの値を読み出す。こ
れにより、そのプログラムの同期オーバヘッドを知るこ
とができる。このような機能はソフトウェアでも実現可
能であるが、ソフトウエアで実行すると、測定をしてい
る時と測定していないときで、プログラムの実行時間が
変化するため、正確な時間が測定できないし思わぬバグ
を引き起こすこともある。
合に、同期を検出すると同時にそのエラーがあったこと
を全PEが確認する必要がある。例えば、図16のよう
に本実施例によれば、1PEにおいて処理1が終了し、
同期成立したのち正常終了を全PEについて検出判断し
て、異常のときは適切な異常処理をとることができるの
で、正常終了したPEが同期待ちを続けるようなことが
なくなる。そして、正常終了のときは処理2に進行す
る。
て、各PEにおける演算処理が所定の誤差の範囲内に収
束したかを判断し、収束したとき次の処理2に進行する
ようにしてもよい。この場合、図13において、収束し
ていたとき、ステータス要求レジスタ31のステータス
をセットするようにすればよい。
の処理で全PEの安定状態を検出する。ネットワーク状
態信号60は1のときに、ネットワークにメッセージが
存在することを表現する信号で、反転回路61の出力
は、ネットワーク上にメッセージがないときに、1にな
る信号である。すなわち、ネットワーク状態信号60は
ネットワークからの信号線でネットワークにメッセージ
が存在する時に1になるのだから、全PEの少なくとも
1つのネットワーク状態信号線が1のときのは、ネット
ワーク内にメッセージがあることを示している。
図18に示す。まず、自PEにメッセージがあるかを判
断し、自PEにメッセージがあるときには、ネットワー
クにメッセージある状態を示しつづける。この判断は、
自PEの所定レジスタにデータがあるかを検出すること
により行う。自PEにメッセージがないとき、所定時間
たったかを判断する。この所定時間とは相手PEまでの
データの伝播時間に対応する。所定時間たったときに
は、ネットワークにメッセージがないことを示す、すな
わち、自PEにメッセージがなく、かつ所定時間たった
ということは、自PEとその相手PEとの間の通信経路
との両方にメッセージがないことすなわち、ネットワー
クにメッセージがないことを示す。
同期要求信号63が1の時にセットされ、この同期要求
レジスタ62のセットは、当該PEの当該処理ステップ
が終了し、他のPEに対して同期要求を発する。メッセ
ージ受信信号64は、自PEに対してネットワークから
メッセージが到着したことを示す信号線である。この信
号が1の時にはOR回路65の出力は1であるから同期
要求レジスタ62はクリアされる。例えば1つのPEが
処理を終えたつもりで同期要求信号を出した場合に当該
PEに遅れて、メッセージが到着した場合にはこのメッ
セージ受信によって同期要求レジスタ62をクリアし、
当該PEからの同期要求63の誤りを訂正する。また、
同期要求レジスタ62はAND回路68によってもクリ
アされるが、これは、AND回路68によって同期検出
レジスタ69をセットしたあとは、その処理ステップに
おける同期要求レジスタ62をリセットして次の処理に
おける自PEからの同期要求信号63待ちにするためで
ある。
くなると同期要求レジスタ62をセットして、同期要求
を出力し安定状態になるのを待つ。このPEからメッセ
ージが到着するとメッセージ受信信号64の信号線が1
になり、まず、この信号線の1により、同期要求レジス
タ62はクリアされる。なお、CPUが同期要求レジス
タ62をクリアする場合、ネットワークから次のメッセ
ージ全体を受信する以前に、同期要求レジスタ62をク
リアしなければならない。CPUは、そのメッセージの
処理が終了すると再び同期要求レジスタ62をセットす
る。
ク状態信号60の反転と、さらにメッセージ送信管理部
71及びメッセージ受信管理部72(図19の説明参
照)の出力との論理積がAND回路66でとられて、A
ND回路66から、同期安定要求信号が出力され、この
各PEからの同期安定要求信号について、全PEで論理
積がAND回路67でとられ、全PEに返ってくる。ネ
ットワーク内にメッセージが存在するときは、各PEか
らの同期要求が同期要求レジスタ62から出力されてい
ても、反転回路61の出力は0であるのでAND回路6
6の出力は0となり、同期安定要求信号は出力されな
い。したがって少なくとも1つのPEのネットワーク状
態が1になっているときは全体の論理積出力(AND回
路67の出力)は1にならない。
れネットワーク内にメッセージが存在しないとき、AN
D回路66からは同期安定要求信号が出力され、全体の
論理積出力は1になり、AND回路68を介して全PE
の同期検出レジスタ69をセットし、同時に同期要求レ
ジスタ62をクリアする。AND回路68には、AND
回路66の出力であって、ネットワークにメッセージが
なく、自PEが同期要求していることを示す同期安定要
求信号が入力されるとともに、AND回路67の出力で
あって全PEが同期安定要求をしている信号も入力され
る。このAND回路68によって、同期安定要求信号が
確実に出力していることを確認する。
メッセージがないことも条件として出力が生じるので、
全PEの安定状態を、同期検出レジスタ69の出力を監
視することにより、知ることができる。本発明では、あ
るPEが他よりも早く安定状態を知り、次のステップに
移りメッセージを送信することはなく、全てのPEは同
期検出レジスタ69が安定状態が確立したことを検出し
たあとはじめて、次のステップに移行することができ
る。
示し、この実施例は、各PEのステータスの検出の際
に、ネットワークの状態を考慮するものである。以下の
処理で、全PEの安定状態を検出する。
らの信号線で、ネットワークにメッセージが存在すると
きは、各PEのすくなくとも一つの信号線は、ネットワ
ーク内にメッセージがあることを示している。なお、こ
の信号はネットワークにメッセージがないときに1とな
る。
ある)は、送信すべきメッセージが一つもないことを示
している。メッセージ受信管理部72(各PEごとにあ
る)は、受信したメッセージが一つもないことを示して
いる。各PEのCPUは、メッセージを受信するとき
は、このメッセージ受信管理部からメッセージを受け取
る。
メッセージ送信管理部71、メッセージ受信管理部72
以外にメッセージがあるか否かを示す信号である。メッ
セージ受信73は、PEに対してネットワークからメッ
セージが到着したことを示す信号線である。この信号に
よりステータス要求74でセットされていたステータス
要求レジスタ75はクリアされる。
くなると、ステータス要求レジスタ75をセットして、
安定状態になるのを待つ。このPEにメッセージが到着
すると、メッセージ受信の信号線が1になり、ステータ
ス要求レジスタ75はクリアされる。CPUは、そのメ
ッセージの処理が終了すると、再び、ステータス要求レ
ジスタをセットする。
トワーク状態70とメッセージ送信管理部71、メッセ
ージ受信管理部72の出力の論理積の出力がAND回路
76でとられ、全PEのAND論理積がアンド回路77
でとられ、全PEに返ってくる。ネットワーク内にメッ
セージが存在するときは、少なくとも一つのネットワー
ク状態が0になっているので、全体の論理積出力は1に
ならない。
ットされ、ネットワーク内にメッセージが存在しないと
き、全体の論理積出力は1になり、全PEのステータス
検出レジスタ78をアンド回路79を介してセットす
る。各PEがネットワークからのメッセージ受信によ
り、メッセージ待ち状態からメッセージ処理状態(各P
Eが安定状態にない)に移行するとき、CPUがステー
タス要求レジスタ75をクリアするのではなく、メッセ
ージ受信73の信号線により、ステータス要求レジスタ
75をクリアする場合、ネットワークからメッセージ全
体を受信する以前に、ステータス要求レジスタ75をク
リアしなければならない。
スタ78を監視することにより知ることができる。ある
PEが他よりも早く安定状態を知り、次のステップに移
り、メッセージを送信した場合でも、他のPEはステー
タス検出レジスタ78から、安定状態が確立したことを
検出できるので、次のステップに移行することができ
る。
図である。図17、図19と同一部分には同一参照番号
を付して説明を省略する。この実施例においては、図1
3に示した同期成立を検出したのちにステータスの検出
を行う同期ステータス方式において、同期要求の有無、
ステータス要求の有無を判断する場合にも、ネットワー
ク状態を検出する。
した場合でも1PEの異常処理等のステータスを全PE
が検出判断して、適切な処理が行えるので、並列計算機
システムにおいて演算処理時間を向上することができ
る。
タとして、モードレジスタを設けることにより、同期・
ステータス独立モードと同期兼ステータスモードの両方
の実現が行え、同期・ステータス系ハードウェアの適用
範囲が広がる。
けることにより、PEの動作を変えることなく、複数の
PEの負荷の分散具合を知ることができる。第2の発明
では、ネットワークの状態を同期検出回路に組み込むこ
とにより、ネットワークの状態を含めた全PEの安定状
態を検出することができる。
ージ受信により、メッセージ待ち状態からメッセージ処
理状態(各PEが安定状態にない)に移行するとき、C
PUが同期要求レジスタをクリアするのではなく、メッ
セージ受信の信号線により同期要求レジスタをクリアす
ることにより、高速にかつ安全に安定状態を検出するこ
とができる。
テータス検出回路に組み込むことにより、ネットワーク
の状態を含めた全PEの安定状態を検出することができ
る。また、本発明では、メッセージ受信により、直接ス
テータス要求レジスタをリセットしているので、メッセ
ージ受信したとき、CPUからのステータス要求によっ
て、ステータス要求レジスタをセットする場合よりも、
ステータス要求レジスタからより高速にステータス要求
を出力することができる。
ドウェアの構成図である。
グを示す図である。
る。
構成図である。
算機システムの全体の構成を示す図である。
タを示す図である。
示す図である。
出のフローチャートである。
る。
Claims (14)
- 【請求項1】 複数の独立に作動する計算機を接続した
構成の分散メモリ型並列計算機であって、 個々の計算機が独立に同期要求を行い同期要求信号を保
持する同期要求レジスタ手段と、 全計算機の同期要求レジスタからの要求があったことを
判断する同期判断手段と、 その判断結果を全計算機に分配する同期分配手段と、 分配された判断結果によって同期検出を行う同期検出レ
ジスタ手段と、 個々の計算機に設けられ独立に、各計算機での処理を所
定のとおり実行されたか否かを示すステータスの要求を
行いステータス要求信号を保持するステータス要求レジ
スタ手段(2)と、 全計算機のステータス要求レジスタからの要求有を判断
するステータス判断手段(4)と、 該判断結果を全計算機に分配するステータス分配手段
(5)と、 該ステータス分配手段(5)により分配された前記判断
結果と前記同期分配手段により分配された前記判断結果
とによってステータス検出を行うステータス検出レジス
タ手段(3)とを持つことにより、全計算機で同期が確
立した時の全計算機のステータスを検出できることを特
徴とするプロセッサ間同期制御方式。 - 【請求項2】 請求項1において、同期系とステータス
系を接続・切断を制御するモードレジスタを有すること
により、同期兼ステータス系としてあるいは、同期系と
ステータス系を独立した系として切換えて動作すること
を特徴とするプロセッサ間同期制御方式。 - 【請求項3】 前記請求項1記載の並列計算機同期方式
において、各計算機はクロックをカウントするカウンタ
を持ち、同期を要求してから同期を検出するまでの時間
を各計算機毎に積算し、プログラムの処理時間に影響を
与えることなく、各計算機毎の同期オーバヘッドの時間
を測定できることを特徴とする同期時間測定方法。 - 【請求項4】 請求項1記載のステータス検出レジスタ
は各計算機にエラーが発生したことを検出するプロセッ
サ間同期制御方式。 - 【請求項5】 請求項1記載のステータス検出レジスタ
は各計算機における演算値が収束したことを検出するプ
ロセッサ間同期制御方式。 - 【請求項6】 複数の計算機を独立に作動する分散メモ
リ型並列計算機において、 全計算機の同期成立を検出する手段と、 各計算機の処理が所定のとおり実行されたか否かを示す
ステータスを他の全ての計算機に分配するステータス要
求分配手段と、 全計算機のステータスが所定のステータスになりかつ全
計算機が同期成立したことを検出するステータス検出手
段と、 該ステータス検出手段の出力により全計算機が次のステ
ップに進むことを特徴とする並列計算機におけるプロセ
ッサ間同期制御方式。 - 【請求項7】 多数の独立に動作する計算機を通信ネッ
トワークで接続した分散メモリ型並列計算機において、 個々の計算機が独立に同期要求を行い同期要求信号を保
持する同期要求レジスタ手段と、全計算機の同期要求レ
ジスタからの出力の論理積をとる手段と、その結果を全
計算機に分配する手段と、その分配された結果によって
同期検出を行う同期検出レジスタ手段(6)と、通信ネットワークにメッセージがあるかないかを示す 状
態信号を通信ネットワークから受信する手段(7)と、 前記同期要求レジスタの出力と前記状態信号を受信する
信号線とにより自計算機の同期要求があり、かつネット
ワークにメッセージがないことを検出する同期安定要求
検出手段(8)とを具備することによりネットワークに
メッセージなくかつ全計算機がメッセージ待ち状態にあ
ることを検出することを特徴とする並列計算機における
安定状態検出方式。 - 【請求項8】 通信ネットワークから計算機にメッセー
ジが到着したことを示す手段と、 該到着を示す信号により同期要求レジスタをクリアする
回路とを具備することを特徴とする請求項7記載の並列
計算機における安定状態検出方式。 - 【請求項9】 前記同期安定要求検出手段(8)は、ネ
ットワークの状態を示す信号線の信号と同期要求レジス
タの出力との論理積をとる手段であることを特徴とする
請求項7記載の並列計算機における安定状態検出方式。 - 【請求項10】 前記安定要求検出手段(8)の出力と
全計算機が同期安定要求をしていることとの論理積をと
って同期検出レジスタをセットすることを特徴とする請
求項7記載の並列計算機における安定状態検出方式。 - 【請求項11】 メッセージの送信管理部、受信管理部
からメッセージがないことを示す手段を持ち、その状態
を示す信号線と同期要求レジスタの出力との論理積をと
ることを特徴とする請求項7記載の安定状態検出方式。 - 【請求項12】 多数の独立に動作する計算機を通信ネ
ットワークで接続した分散メモリ型並列計算機におい
て、 個々の計算機の処理が所定のとおり実行されたか否かを
示すステータス要求レジスタと、 全計算機のステータスに要求レジスタの論理積をとる手
段と、 その結果を全計算機に分配する手段と、 分配された結果によってステータスの検出を行うステー
タス検出レジスタ手段(9)と、 通信ネットワークの状態を示す手段(10)とを持ち、 ステータス要求レジスタの出力とネットワークの状態を
示す信号との論理積をとる、ことにより、ネットワーク
にメッセージがなく、かつ、全計算機がメッセージ待ち
状態にあることを検出することができることを特徴とす
る安定状態検出方式。 - 【請求項13】 通信ネットワークから計算機にメッセ
ージが到着したことを示す手段を持ち、到着を示す信号
により、ステータス要求レジスタをクリアする回路を付
加する、ことにより、安全に全計算機の安定時状態を検
出することができることを特徴とする請求項12記載の
安定状態検出方式。 - 【請求項14】 メッセージの送信管理部、受信管理部
からメッセージがあることを示す手段を持ち、 その状態を示す信号線とステータス要求レジスタの出力
とネットワークの状態を示す出力との論理積をとること
を特徴とする請求項12記載の安定状態検出方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3143355A JP2559918B2 (ja) | 1990-06-14 | 1991-06-14 | 並列計算機における同期制御方式 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15404690 | 1990-06-14 | ||
JP2-154046 | 1990-07-09 | ||
JP17949390 | 1990-07-09 | ||
JP2-179493 | 1990-07-09 | ||
JP3143355A JP2559918B2 (ja) | 1990-06-14 | 1991-06-14 | 並列計算機における同期制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04260962A JPH04260962A (ja) | 1992-09-16 |
JP2559918B2 true JP2559918B2 (ja) | 1996-12-04 |
Family
ID=27318625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3143355A Expired - Lifetime JP2559918B2 (ja) | 1990-06-14 | 1991-06-14 | 並列計算機における同期制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2559918B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012132692A1 (ja) | 2011-03-29 | 2012-10-04 | 三菱重工業株式会社 | 並列処理システム及び並列処理システムの動作方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007280313A (ja) * | 2006-04-12 | 2007-10-25 | Yokogawa Electric Corp | 冗長化システム |
JP2009176116A (ja) * | 2008-01-25 | 2009-08-06 | Univ Waseda | マルチプロセッサシステムおよびマルチプロセッサシステムの同期方法 |
JP5780157B2 (ja) * | 2010-01-14 | 2015-09-16 | 日本電気株式会社 | 計算機、並列計算機システム、同期方法、及びコンピュータプログラム |
WO2012144012A1 (ja) | 2011-04-18 | 2012-10-26 | 富士通株式会社 | スレッド処理方法、およびスレッド処理システム |
JP2013137833A (ja) * | 2013-04-08 | 2013-07-11 | Waseda Univ | マルチプロセッサシステムおよびマルチプロセッサシステムの同期方法 |
JP2015127982A (ja) * | 2015-04-06 | 2015-07-09 | 学校法人早稲田大学 | マルチプロセッサシステム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63286957A (ja) * | 1987-05-20 | 1988-11-24 | Fujitsu Ltd | 並列システムの同期化方式 |
JPH02105961A (ja) * | 1988-10-14 | 1990-04-18 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサ同期方式 |
-
1991
- 1991-06-14 JP JP3143355A patent/JP2559918B2/ja not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63286957A (ja) * | 1987-05-20 | 1988-11-24 | Fujitsu Ltd | 並列システムの同期化方式 |
JPH02105961A (ja) * | 1988-10-14 | 1990-04-18 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサ同期方式 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012132692A1 (ja) | 2011-03-29 | 2012-10-04 | 三菱重工業株式会社 | 並列処理システム及び並列処理システムの動作方法 |
US9774671B2 (en) | 2011-03-29 | 2017-09-26 | Mitsubishi Heavy Industries, Ltd. | Parallel processing system and operation method of parallel processing system |
Also Published As
Publication number | Publication date |
---|---|
JPH04260962A (ja) | 1992-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6711643B2 (en) | Method and apparatus for interrupt redirection for arm processors | |
JP2879567B2 (ja) | データ処理装置および通信システム | |
US7870298B2 (en) | Information processing apparatus, information processing system, routing apparatus and communication control method | |
US7643477B2 (en) | Buffering data packets according to multiple flow control schemes | |
US6490630B1 (en) | System and method for avoiding deadlock in multi-node network | |
US6295585B1 (en) | High-performance communication method and apparatus for write-only networks | |
US20020178306A1 (en) | Method and system for over-run protection in amessage passing multi-processor computer system using a credit-based protocol | |
US5278975A (en) | Synchronization control system in a parallel computer | |
EP1701267B1 (en) | Address snoop method and multi-processor system | |
JP2559918B2 (ja) | 並列計算機における同期制御方式 | |
EP1367499A1 (en) | Compute node to mesh interface for highly scalable parallel processing system | |
US5594868A (en) | Processor unit for a parallel processor system discards a received packet when a reception buffer has insufficient space for storing the packet | |
US7043612B2 (en) | Compute node to mesh interface for highly scalable parallel processing system and method of exchanging data | |
JP2002024195A (ja) | 並列処理装置、及び、並列処理方法 | |
JP2010134698A (ja) | 情報処理システム | |
US7120828B2 (en) | System and method for in-order queue draining | |
KR100357284B1 (ko) | 코프로세서 방식의 원칩 비동기 마이크로 프로세서 간의인터페이스 회로 | |
CN114172695B (zh) | 串行防火墙报文转发方法、装置、设备及存储介质 | |
US7167939B2 (en) | Asynchronous system bus adapter for a computer system having a hierarchical bus structure | |
JP2000330928A (ja) | 高速転送を行う並列処理システム | |
JP2005122229A (ja) | 計算機システム | |
EP1408417A1 (en) | Efficient messaging in a parallel processing system | |
KR100498909B1 (ko) | 교환시스템의 프로세서간 통신 이중화 장치 | |
JP2723412B2 (ja) | 主記憶プリポート制御方式 | |
JP3983926B2 (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: 19960806 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080905 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080905 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090905 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090905 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100905 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100905 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 15 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 15 |