JPH1185716A - 並列プロセッサ - Google Patents

並列プロセッサ

Info

Publication number
JPH1185716A
JPH1185716A JP9235784A JP23578497A JPH1185716A JP H1185716 A JPH1185716 A JP H1185716A JP 9235784 A JP9235784 A JP 9235784A JP 23578497 A JP23578497 A JP 23578497A JP H1185716 A JPH1185716 A JP H1185716A
Authority
JP
Japan
Prior art keywords
message
path
normal
field
received
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
JP9235784A
Other languages
English (en)
Inventor
Hiromitsu Maeda
浩光 前田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9235784A priority Critical patent/JPH1185716A/ja
Publication of JPH1185716A publication Critical patent/JPH1185716A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 ネットワークの経路切り替えの前後でメッセ
ージを送受信する処理を継続することが可能な技術を提
供する。 【解決手段】 経路の切り替え中であるがどうかを示す
切り替え処理表示、当該メッセージを送信する経路を識
別する経路識別子及び当該メッセージを識別するメッセ
ージ番号を格納した通常メッセージを作成して送信する
通常メッセージ送信部と、通常メッセージの経路識別子
が示す経路と受信ノードの有効表示が示す経路とが一致
し、そのメッセージ番号が以前に受信したメッセージ番
号と連続する場合に当該通常メッセージを受信する通常
メッセージ受信部と、通常メッセージの受信確認メッセ
ージを送信する受信確認メッセージ送信部と、受信確認
メッセージを受信し当該受信確認メッセージ番号を更新
する受信確認メッセージ受信部とを備えるものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のノードをネ
ットワークを介して接続して並列処理を行う並列プロセ
ッサに関し、特に、冗長経路を持つネットワークを介し
て複数のノードを結合し、障害時に通信経路の変更を行
う並列プロセッサに適用して有効な技術に関するもので
ある。
【0002】
【従来の技術】複数のノードをネットワークで結合し、
各ノード間の通信を該ネットワークを使用して行うこと
により処理を進める並列プロセッサやクラスタシステム
(以下、後者を含めて並列プロセッサと記載する)にお
いては、複数のノードが存在する為、障害に際してノー
ドが単一故障点となってシステム全体のダウンを招くこ
とはないが、ネットワークに故障箇所を迂回してメッセ
ージを転送する機能がない場合、ネットワークが単一故
障点となって、システム全体のダウンを招くことがあり
得る。
【0003】ここで、単一故障点とは、ある1つのコン
ポーネントの故障によりシステム全体がダウンする様な
コンポーネントがシステム内に存在する場合、その様な
コンポーネントのことをいう。
【0004】ノード数が多くなるとネットワークの物量
が大きくなり、ネットワークで故障が発生する確率が高
くなる為、ネットワークに冗長性を持たせ、ネットワー
クが単一故障点とならない様にすることが可用性の面で
重要である。
【0005】並列プロセッサの接続に冗長性を持たせる
方法として最も単純なものは、図9に示す様に各ノード
を多重化した複数のネットワークに接続する方法があ
る。
【0006】図9は、従来の並列プロセッサの一例の概
略構成を示す図である。図9に示す様に、従来の並列プ
ロセッサは、ノード901〜904と、ネットワーク9
05及び906とを有している。
【0007】ノード901〜904は並列処理を行う処
理装置である。ネットワーク905及び906はノード
901〜904を接続する通信媒体である。
【0008】図9の様な構成では、通信路がネットワー
ク905及び906によって2重化されており、ネット
ワーク905又は906いずれか一方で故障が発生して
も、もう一方を使用して通信ができる為、ネットワーク
905及び906が単一故障点になることがない。
【0009】
【発明が解決しようとする課題】上記従来技術において
は、ネットワークの多重化等の方法により、ネットワー
クが単一故障点となることを防ぐことができるが、以下
の様な特性を有するネットワークにおいては、障害を迂
回する為の経路の切り替えを行うときに注意を要する。
【0010】一般に、任意の2ノード間の通信において
送信順にメッセージが受信ノードに到着することをネッ
トワークのハードウェアにおいて保証する場合と保証し
ない場合があるが、並列プロセッサのネットワークの様
に限定された範囲で使用する場合、メッセージの順序保
証をする方がソフトウェアから使用しやすく、性能面で
も有利である。
【0011】ここでメッセージの順序を保証するという
のは、任意の2ノード間の通信路上でメッセージの追い
越しが起きない様にすることに等しい。
【0012】互いに通信する任意の2プロセス間にメッ
セージの追い越しが起きない仮想的な通信路を1つ考
え、これを仮想通信路と呼ぶことにすると、この仮想通
信路は、複数の物理的な通信路の中から選択可能であっ
て良いが、一時点では1つの物理的通信路に対応してい
なければならない。
【0013】メッセージの順序を保証するネットワーク
においても、ネットワークの障害により経路を切り替え
る前後で実行していた処理を続行しなくても良い様に、
新たなジョブの起動を抑止し、実行中のジョブが終了す
るのを待つか、又は実行中のジョブを強制終了させてネ
ットワークが使用されなくなってから経路を切り替える
のであれば、メッセージの順序保証を気にする必要はな
い。
【0014】しかし、この場合には実行中のジョブの終
了まで待つ必要がある為、可用性が低くなったり、障害
とは無関係のジョブまで強制終了する為、ユーザに与え
る影響が大きくなったりするという問題が生じる。
【0015】逆に、経路切り替えの前後でジョブの続行
を保証しようとすると、経路の切り替え中にどの様にメ
ッセージの順序を保証するかということと、障害によっ
て失われたかもしれないメッセージを経路切り替え後に
再送する場合に、どの様に2重送信を防ぐかということ
が課題となる。
【0016】図9を例にとって、メッセージの順序を保
証しつつ経路を切り替える従来の方法を説明する。
【0017】図9ではメッセージを送受信する経路を完
全に2重化しているので、ネットワーク905を運用
系、ネットワーク906を予備系として、通常はネット
ワーク905を使用し、ネットワーク905に障害が発
生して経路切り替えが必要になった時点で、ネットワー
ク906に切り替えるものとする。
【0018】ノード901〜904のネットワーク90
5及び906とのインタフェース部では、通常はネット
ワーク905への送信ポート及び受信ポートがオンさ
れ、ネットワーク906への送信ポート及び受信ポート
がオフされている。
【0019】ノード901〜904は、経路切り替えを
指示されると、各々のネットワーク905とのインタフ
ェース部において、ハードウェア的に送信を停止した
後、一定時間待つ。この間に受け取ったメッセージは通
常通り受信される(エラーがあればエラー処理がされ
る)。
【0020】一定時間が経過するとノード901〜90
4のネットワーク905に対する送信ポート及び受信ポ
ートがオフされ、反対にネットワーク906に対する送
信ポート及び受信ポートがオンされる。
【0021】ノード901〜904は、送信再開を許可
されるとネットワーク906を使用して経路切り替えの
前に停止したメッセージの送信から再開する。
【0022】経路切り替えの指示があった直後にネット
ワーク906を使用して送信を再開すると、ネットワー
クの規模やネットワーク内の負荷によっては、経路切り
替えの指示の前にネットワーク905側へ送信したメッ
セージよりも、経路切り替えの指示後にネットワーク9
06側へ送信したメッセージの方が、受信ノードに先に
到着してメッセージの順序が保証できない可能性があ
る。したがって、ネットワーク905内にメッセージが
残存していないことを保証する為、経路を切り替える前
に全ノードで送信を停止し、一定時間待つ。
【0023】また、正常に相手側ノードにメッセージが
到着したかどうかを確認する為、ソフトウェア又は直接
ハードウェアによって、受信ノードから送信ノードに受
信確認メッセージを送る様にすることが多い。
【0024】受信ノードから送信ノードに受信確認メッ
セージを送る様にした場合には、ネットワーク障害によ
って消失するのはメッセージそのものの場合もあれば、
受信確認メッセージの場合もある。
【0025】いずれの場合にも、送信ノードは受信ノー
ドにおいて正常にメッセージが受信されているかどうか
分からないが、後者の場合には実際にはメッセージが正
常に受信されている。
【0026】したがって、ネットワークの経路切り替え
が終了した後、単純に受信確認メッセージの返ってきて
いないメッセージから再送すると、後者の場合には受信
ノードは2重にメッセージを受信してしまい、メッセー
ジの順序保証ができない。
【0027】並列プロセッサの接続に冗長性を持たせる
技術としては、以上説明した通信媒体全体の多重化によ
る方法以外に、通信媒体に接続された任意の2つのプロ
セッサ間を接続する通信媒体が複数存在するトポロジー
を採用し、ある通信媒体で障害が発生した場合には他の
通信媒体に切り替える方法もある。
【0028】前記従来の並列プロセッサのネットワーク
の経路切り替えの方法には、以下の様な問題がある。
【0029】(1)ノード数が多くなってネットワーク
が大規模になると、全ノードが最大メッセージ長で同一
ノードに送信する等の最悪ケースを考えた場合、メッセ
ージがネットワーク内に残存しないことを保証する時間
はかなり長くなり、通信を行っているソフトウェアにお
いて特定の時間の間に応答メッセージが受信されない状
態であるタイムアウトを引き起こす可能性がある。
【0030】(2)全ノードの同期を取ってネットワー
クの経路切り替えを行う必要がある為、ネットワーク障
害に影響されないジョブであっても、処理を停止しなけ
ればならないという問題がある。
【0031】(3)ネットワークの経路切り替えが終了
した後、単純に受信確認メッセージの返ってきていない
メッセージから再送すると、受信ノードでは2重にメッ
セージを受信してしまい、メッセージの順序保証ができ
ないという問題がある。
【0032】本発明の目的は、上記問題を解決し、ネッ
トワークの経路切り替えの前後でメッセージを送受信す
る処理を継続することが可能な技術を提供することにあ
る。
【0033】
【課題を解決するための手段】本発明は、複数の経路で
接続された複数のノード間でメッセージを送受信して並
列処理を行う並列プロセッサにおいて、時間監視を用い
ないで経路切り替え中及び前後でメッセージの順序保証
を行い、経路切り替えの前後でメッセージを送受信する
処理を継続するものである。
【0034】本発明の並列プロセッサにおいて、通常メ
ッセージを送信する送信指示を受けると、次に送信すべ
き通常メッセージのメッセージ番号を示す送信メッセー
ジ番号と、受信確認されている通常メッセージのメッセ
ージ番号を示す受信確認メッセージ番号とを比較する。
【0035】送信ノードの通常メッセージ送信部は、送
信メッセージ番号と受信確認メッセージ番号との比較結
果を調べ、送信メッセージ番号が受信確認メッセージ番
号を追い越していないときに、経路の切り替え中である
かどうかを示す切り替え処理表示、当該メッセージを送
信する経路を識別する経路識別子及び当該メッセージを
識別するメッセージ番号を格納した通常メッセージを組
み立てて受信ノードに送信し、前記送信メッセージ番号
を更新する。
【0036】受信ノードの通常メッセージ受信部は、送
信ノードから通常メッセージを受信すると、受信した通
常メッセージの経路識別子が示す経路と、受信ノードに
設定されている有効表示が示す経路とを比較して、その
通常メッセージが前記有効表示の示す経路から受信され
たものであるかどうかを調べる。
【0037】受信ノードの通常メッセージ受信部は、受
信した通常メッセージが前記有効表示の示す経路から受
信されたものである場合に、受信した通常メッセージの
メッセージ番号が、当該経路で最も最近に受信した通常
メッセージのメッセージ番号を示す受信メッセージ番号
に連続するかどうかを調べ、連続する場合に当該通常メ
ッセージを受信して前記受信メッセージ番号を更新す
る。
【0038】通常メッセージを受信した受信ノードの受
信制御部は、受信ノードの受信確認メッセージ送信部に
受信確認メッセージの送信を指示し、受信した通常メッ
セージのメッセージ番号を格納した受信確認メッセージ
を当該通常メッセージの送信ノードに送信する。
【0039】送信ノードの受信確認メッセージ受信部
は、受信ノードから送信された受信確認メッセージを受
信すると、そのメッセージ番号が送信ノードの受信確認
メッセージ番号に連続するかどうかを調べ、連続する場
合にその受信確認メッセージ番号を更新する。
【0040】本発明の並列プロセッサにおいて、障害の
発生等の理由によりメッセージを送受信する経路の切り
替えが開始された場合には、送信ノードに設定されてい
る切り替え処理表示を経路の切り替え中であることを示
す内容に変更する。
【0041】送信ノードの通常メッセージ送信部は、経
路切り替え処理中に通常メッセージの送信指示を受ける
と、経路の切り替え中であることを示す切り替え処理表
示、経路識別子及びメッセージ番号を格納した通常メッ
セージを組み立てて受信ノードに送信し、送信ノードの
送信メッセージ番号を更新する。
【0042】受信ノードの通常メッセージ受信部は、送
信ノードから通常メッセージを受信すると、その通常メ
ッセージが有効表示の示す経路から受信されたものであ
るか調べ、前記有効表示が示す経路以外で通常メッセー
ジを受信した場合には、受信した通常メッセージの切り
替え処理表示の内容を調べる。
【0043】前記有効表示が示す経路以外で受信した通
常メッセージの切り替え処理表示が、経路の切り替え中
であることを示しており、そのメッセージ番号が前記受
信メッセージ番号に連続している場合には、受信した通
常メッセージの経路識別子が示す経路に受信ノードの有
効表示が示す経路を変更し、その受信メッセージ番号を
更新する。
【0044】前記通常メッセージを受信した受信ノード
の受信制御部は、受信ノードの受信確認メッセージ送信
部に受信確認メッセージの送信を指示し、経路の切り替
え中であることを示す切り替え処理表示を格納した受信
確認メッセージを送信ノードに送信する。
【0045】送信ノードの受信確認メッセージ受信部
は、経路の切り替え中であることを示す切り替え処理表
示を格納した受信確認メッセージを受信すると、そのメ
ッセージ番号が受信確認メッセージ番号に連続するかど
うかを調べ、連続する場合にその受信確認メッセージ番
号を更新し、送信ノードの切り替え処理表示を経路の切
り替えが終了したことを示す内容に変更する。
【0046】以上の様に、本発明の並列プロセッサによ
れば、時間監視を用いないでネットワークの経路切り替
え中及び前後でメッセージの順序保証を行うので、ネッ
トワークの経路切り替えの前後でメッセージを送受信す
る処理を継続することが可能である。
【0047】
【発明の実施の形態】以下に、複数のノード間でメッセ
ージを送受信して並列処理を実行し、障害発生時にメッ
セージの送受信を行う経路を変更する一実施形態の並列
プロセッサについて説明する。
【0048】図1は、本実施形態の並列プロセッサの概
略構成を示す図である。図1に示す様に、並列プロセッ
サは、ノード101〜103と、ネットワーク104及
び105とを有している。
【0049】ノード101〜103は並列処理を行う処
理装置である。ネットワーク104及び105はノード
101〜103を接続し各ノード101〜103間の通
信で用いられる2重化された通信媒体である。
【0050】ノード101は、命令プロセッサ110
と、メインメモリ111と、システムバス120と、ネ
ットワークインタフェース制御部130と、メッセージ
番号テーブルメモリ140とを有している。
【0051】命令プロセッサ110はノード101〜1
03間で通信を行うプログラムを含む各種プログラムを
実行するプロセッサである。メインメモリ111は上記
各種プログラム及び通信するデータを含む各種データを
格納するメモリである。システムバス120は命令プロ
セッサ110、メインメモリ111及びネットワークイ
ンタフェース制御部130を接続し、命令プロセッサ1
10とメインメモリ111とネットワークインタフェー
ス制御部130との間のアクセスを可能とするバスであ
る。
【0052】ネットワークインタフェース制御部130
は命令プロセッサ110からの指示によりメッセージを
送信したり、到着したメッセージを受信してメインメモ
リ111内の受信領域に格納したりする制御回路であ
る。メッセージ番号テーブルメモリ140はメッセージ
番号及び有効な経路を示すフラグ等からなるメッセージ
番号テーブルを格納するメモリである。
【0053】ネットワークインタフェース制御部130
は、バスインタフェース制御部131と、RAMインタ
フェース制御部132と、送信制御部133と、セレク
タ134と、比較器135と、受信制御部136と、セ
レクタ137と、制御線138とを有している。
【0054】バスインタフェース制御部131はシステ
ムバス120にネットワークインタフェース制御部13
0を接続する制御回路である。RAMインタフェース制
御部132はメッセージ番号テーブルメモリ140への
アクセスを制御する制御回路である。送信制御部133
は命令プロセッサ110からの送信指示を受けてメッセ
ージの送信を制御する制御回路である。
【0055】セレクタ134は命令プロセッサ110に
よってメインメモリ111内に用意された送信制御ワー
ドを送信制御部133が読み出してメッセージを組み立
てる際に必要な情報を選択する回路である。比較器13
5はRAMインタフェース制御部132を介してメッセ
ージ番号テーブルメモリ140から読み出した送信関連
のメッセージ番号を比較する回路である。受信制御部1
36はノード101〜103に到着したメッセージを命
令プロセッサ110がメインメモリ111内に用意した
受信制御ワード(受信場所、受信バッファのサイズ等を
記述)の内容にしたがってメインメモリ111内に格納
する制御回路である。
【0056】セレクタ137はRAMインタフェース制
御部132を介してメッセージ番号テーブルメモリ14
0から読み出した受信関連の複数のメッセージ番号から
有効な経路に対応するメッセージ番号を選択する回路で
ある。制御線138は受信制御部136から送信制御部
133に受信確認メッセージの送信を依頼する信号線で
ある。
【0057】送信制御部133は、通常メッセージ送信
部141と、受信確認メッセージ送信部142とを有し
ている。通常メッセージ送信部141は次に送信すべき
通常メッセージのメッセージ番号を示す送信メッセージ
番号が受信確認された通常メッセージのメッセージ番号
を示す受信確認メッセージ番号を追い越していないとき
に、経路の切り替えが行われているかどうかを示す切り
替え処理表示、経路の切り替え中であるがどうかを示す
切り替え処理表示、当該メッセージを送信する経路を識
別する経路識別子及び当該メッセージを識別するメッセ
ージ番号を格納した通常メッセージを作成して送信する
処理部である。受信確認メッセージ送信部142は受信
した通常メッセージの受信確認を行う為のメッセージを
当該通常メッセージの送信元に送信する処理部である。
【0058】受信制御部136は、通常メッセージ受信
部143と、受信確認メッセージ受信部144とを有し
ている。通常メッセージ受信部143は送信された通常
メッセージの経路識別子が示す経路と有効表示が示す経
路とが一致し、そのメッセージ番号が前記有効表示の示
す経路で受信した通常メッセージのメッセージ番号を示
す受信メッセージ番号と連続する場合に当該通常メッセ
ージを受信する処理部である。受信確認メッセージ受信
部144は受信した受信確認メッセージのメッセージ番
号が受信確認メッセージ番号と連続する場合に当該受信
確認メッセージ番号を更新する処理部である。
【0059】図1において、DNNは受信ノード番号、
MDLは送信データ長、DATAは送信データ、RNO
はメッセージがネットワーク104又は105のどの経
路を使用して送信されているかを示す経路識別子、SM
IDは次の送信で使用すべきメッセージ番号、RMID
は受信確認済みのメッセージ番号、SARは送信制御部
133に送信を指示する信号である。
【0060】更にRMID0及びRMID1は、ネット
ワーク104上の第1の経路とネットワーク105上の
第2の経路のそれぞれで最も最近に受信した通常メッセ
ージのメッセージ番号、V0及びV1は、ネットワーク
104上の第1の経路とネットワーク105上の第2の
経路のそれぞれに対応し、現在有効な経路がどちらであ
るかを示す信号を表している。
【0061】図1において、ノード101〜103は並
列プロセッサを構成する処理装置であり、各ノード10
1〜103内の構成は同じであるものとする。なお、各
ノード101〜103のI/O装置については、本実施
形態の並列プロセッサの説明では不要なので省略する。
【0062】また、ネットワーク104及び105の各
々は冗長経路を持たず、2重化によって冗長性を実現し
ているものとする。
【0063】各ノード101〜103において、各々の
ネットワーク104及び105へ接続する為の送信ポー
ト及び受信ポートがそれぞれ2重化されている。したが
って、ある仮想通信路はネットワーク104上の第1の
経路とネットワーク105上の第2の経路を持っている
ことになる。
【0064】本実施形態の並列プロセッサでは、通常は
ネットワーク104上の第1の経路を使用し、ネットワ
ーク104が故障した場合にネットワーク105上の第
2の経路に切り替えるものとする。
【0065】なお、ネットワークインタフェース制御部
130だけでなく、命令プロセッサ110もバスインタ
フェース制御部131及びRAMインタフェース制御部
132を介してメッセージ番号テーブルメモリ140に
アクセスすることができるものとする。
【0066】命令プロセッサ110は、メインメモリ1
11にロードされたオペレーティングシステム等の処理
によりメインメモリ111内に送信制御ワードを準備し
た後、バスインタフェース制御部131を介して送信制
御ワードのアドレスをSARと記した線を通じて送信制
御部133に書き込むことにより送信を起動する。
【0067】送信が起動されると送信制御部133は、
指示されたメモリアドレスから図2に示す様な送信制御
ワードを読み出し、図3に示す様なメッセージを組み立
ててネットワーク104又は105に送出する(ネット
ワーク104又は105の選択方法は後述する)。
【0068】図2は、本実施形態の送信制御ワードの概
要を示す図である。図2に示す様に、送信制御ワード
は、受信ノード番号フィールド201と、メッセージデ
ータ長フィールド202と、送信データアドレスフィー
ルド203と、送受信ステータスフィールド204とを
有している。
【0069】受信ノード番号フィールド201は受信ノ
ード番号を格納するフィールドである。メッセージデー
タ長フィールド202は送信するメッセージのデータ長
を格納するフィールドである。送信データアドレスフィ
ールド203は送信データを格納している領域の先頭ア
ドレスを格納するフィールドである。送受信ステータス
フィールド204は送信終了時の送信ステータス又は受
信確認メッセージによって返された受信ステータスを書
き込むフィールドである。
【0070】図3は、本実施形態のメッセージの概要を
示す図である。図3に示す様に、メッセージは、メッセ
ージ形式フィールド301と、受信ノード番号フィール
ド302と、送信ノード番号フィールド303と、切り
替え処理表示ビット304と、経路識別子フィールド3
05と、メッセージ番号フィールド306と、メッセー
ジデータ長フィールド307と、送信制御ワードアドレ
スフィールド308と、メッセージデータ/受信ステー
タスフィールド309とを有している。
【0071】メッセージ形式フィールド301はメッセ
ージの形式を格納するフィールドであり、メッセージが
通常メッセージ又は通常メッセージに対する受信確認メ
ッセージのどちらであるかを示すフィールドである。受
信ノード番号フィールド302は受信ノード番号を格納
するフィールドである。送信ノード番号フィールド30
3は送信ノード番号を格納するフィールドである。
【0072】切り替え処理表示ビット304はメッセー
ジを送受信する経路の切り替え処理を実行中であるかど
うかを示す情報を格納するビットである。経路識別子フ
ィールド305は当該メッセージがどの経路を使用して
送信されているかを示す経路識別子を格納するフィール
ドである。メッセージ番号フィールド306は当該メッ
セージを識別するメッセージ番号を格納するフィールド
である。
【0073】メッセージデータ長フィールド307は当
該メッセージのデータ長を格納するフィールドである。
送信制御ワードアドレスフィールド308はメッセージ
の送信に使用された送信制御ワードの送信ノード内のメ
インメモリ111中の先頭アドレスを格納するフィール
ドである。メッセージデータ/受信ステータスフィール
ド309は通常メッセージの場合はメッセージデータ、
受信確認メッセージの場合は受信ステータスを格納する
フィールドである。
【0074】図3は、送信制御部133が送信するメッ
セージの形式を表しており、本実施形態の並列プロセッ
サでは通常メッセージ及び通常メッセージに対する受信
確認メッセージの2通りのメッセージ形式がある。
【0075】ここで、命令プロセッサ110の送信指示
に基づいて送信されるメッセージが通常メッセージであ
り、通常メッセージを受信した受信制御部136が、受
信確認メッセージの送信指示を送信制御部133に出す
ことによって送信されるメッセージが受信確認メッセー
ジである。
【0076】図2と図3において、フィールド名が同一
の場合には、送信制御ワードの情報がそのまま対応する
メッセージヘッダで使用されることを意味している。
【0077】送信制御部133の通常メッセージ送信部
141は、命令プロセッサ110からメッセージの送信
指示を受けると、セレクタ134によってメッセージヘ
ッダのフィールドの順に選択された送信制御ワード及び
メッセージ番号テーブルの情報を入力して通常メッセー
ジを組み立てる処理を行う。
【0078】通常メッセージ送信部141は、まずメッ
セージヘッダのメッセージ形式フィールド301に通常
メッセージであることを示す値を格納し、送信制御ワー
ドの受信ノード番号フィールド201から読み出した値
をそのままメッセージヘッダの受信ノード番号フィール
ド302に格納する。
【0079】次に、自ノード番号をメッセージヘッダの
送信ノード番号フィールド303に格納し、メッセージ
番号テーブルから読み出した切り替え処理表示、経路識
別子及びメッセージ番号を、それぞれメッセージヘッダ
の切り替え処理表示ビット304、経路識別子フィール
ド305及びメッセージ番号フィールド306に格納す
る。
【0080】次に、送信制御ワードのメッセージデータ
長フィールド202から読み出した値をそのままメッセ
ージヘッダのメッセージデータ長フィールド307に格
納し、使用している送信制御ワードの先頭アドレスを送
信制御ワードアドレスフィールド308に格納し、最後
に送信制御ワードの送信データアドレスフィールド20
3で指定されたメインメモリ111内のアドレスからメ
ッセージデータ長分だけ読み出したデータをメッセージ
データ/受信ステータスフィールド309に格納して通
常メッセージを作成する。
【0081】ネットワークインタフェース制御部130
は、命令プロセッサ110からメッセージの送信指示を
受けると、比較器135により次に送信すべき通常メッ
セージのメッセージ番号を示す送信メッセージ番号と、
受信確認された通常メッセージのメッセージ番号を示す
受信確認メッセージ番号とを比較し、その比較結果を送
信制御部133に入力する。
【0082】このとき比較器135は、前記送信メッセ
ージ番号が前記受信確認メッセージ番号を追い越してい
るときに送信処理を停止させる比較結果を送信制御部1
33に入力するものとする。
【0083】送信制御部133の通常メッセージ送信部
141は、比較器135の比較結果が送信停止を示して
おらず、他のエラーもない場合は通常メッセージを送信
する処理を行う。比較器135の比較結果が送信停止を
示す場合及びその場合の送信制御部133の処理につい
ては後で説明する。
【0084】なお、図3の送信制御ワードアドレスフィ
ールド308の値は受信確認メッセージのヘッダにその
まま引き継がれ、元の通常メッセージを送信するのに使
用された送信制御ワードの送受信ステータスフィールド
204は、受信ステータスを格納するのに使用される。
【0085】図4は、本実施形態のメッセージ番号テー
ブルの形式を示す図である。図4に示す様に、メッセー
ジ番号テーブルは、仮想通信路識別子フィールド401
と、切り替え処理表示ビット402と、経路識別子フィ
ールド403と、送信メッセージ番号フィールド404
と、受信確認メッセージ番号フィールド405と、有効
表示フィールド406と、受信メッセージ番号フィール
ド407と、有効表示フィールド408と、受信メッセ
ージ番号フィールド409とを有している。
【0086】仮想通信路識別子フィールド401はメッ
セージを送受信する仮想通信路の識別子を格納するフィ
ールドである。切り替え処理表示ビット402は経路切
り替え処理を実行中であるかどうかを示すビットであ
る。経路識別子フィールド403は送信に使用する経路
の識別子を格納するフィールドである。
【0087】送信メッセージ番号フィールド404は次
に送信すべき通常メッセージのメッセージ番号を示す送
信メッセージ番号を格納するフィールドである。受信確
認メッセージ番号フィールド405は受信確認済みの通
常メッセージのメッセージ番号を格納するフィールドで
ある。有効表示フィールド406はネットワーク104
上の第1の経路が有効であるかどうかを示す情報を格納
するフィールドである。
【0088】受信メッセージ番号フィールド407はネ
ットワーク104上の第1の経路で最も最近に受信した
通常メッセージの受信メッセージ番号を保持するフィー
ルドである。有効表示フィールド408はネットワーク
105上の第2の経路が有効であるかどうかを示す情報
を格納するフィールドである。受信メッセージ番号フィ
ールド409はネットワーク105上の第2の経路で最
も最近に受信した通常メッセージの受信メッセージ番号
を保持するフィールドである。
【0089】図4に示す様に本実施形態の並列プロセッ
サでは、メッセージ番号テーブルを単一のテーブルで表
しているが、これを複数のテーブルで表しても良い。ま
た、メッセージ番号テーブルの各フィールド内の情報を
それぞれ別のレジスタに格納し、対応するレジスタから
必要な情報を読み出すものとしても良い。
【0090】図4の左端の仮想通信路識別子フィールド
401内の数字は、各通信処理で仮想的に用いられてい
る通信路を識別する番号を表している。
【0091】本実施形態の並列プロセッサでは前記の仮
想通信路の識別子は送信ノード番号と受信ノード番号の
組によって一意に決まるが、メッセージに優先度を設
け、その優先度によって経路を変えたりする様な場合に
は仮想通信路の識別子を決定する為にメッセージの優先
度も考慮しなければならない。
【0092】また、オペレーティングシステムを介さ
ず、ユーザプロセス同士で直接通信することが可能なシ
ステムにおいては、仮想通信路の識別子を決定する為に
プロセス間の通信コンテキストを区別する為の識別子も
考慮しなければならない。
【0093】メッセージ番号テーブルは、各仮想通信路
毎に切り替え処理表示ビット402、経路識別子フィー
ルド403、送信メッセージ番号フィールド404、受
信確認メッセージ番号フィールド405、有効表示フィ
ールド406、受信メッセージ番号フィールド407、
有効表示フィールド408及び受信メッセージ番号フィ
ールド409からなるエントリを格納している。
【0094】切り替え処理表示ビット402は、システ
ムの初期化時に命令プロセッサ110によって経路の切
り替え処理中でないことを示す内容に初期化され、経路
の切り替えが必要になったとき命令プロセッサ110に
よって経路の切り替え処理中であることを示す内容に変
更される。
【0095】メッセージ番号テーブルの切り替え処理表
示ビット402の値は、送信制御部133の通常メッセ
ージ送信部141によって読み出され、そのまま通常メ
ッセージの切り替え処理表示ビット304に格納されて
送出される。
【0096】送信先の受信制御部136の通常メッセー
ジ受信部143で正常に通常メッセージが受信される
と、通常メッセージの切り替え処理表示ビット304
は、送信先の送信制御部133の受信確認メッセージ送
信部142により、そのまま受信確認メッセージの切り
替え処理表示ビット304に格納されて、当該通常メッ
セージを送信した送信元の受信制御部136に戻され
る。
【0097】当該通常メッセージを送信した送信元の受
信制御部136の受信確認メッセージ受信部144は、
送信先の送信制御部133から送信された受信確認メッ
セージを受信し、受信した受信確認メッセージの切り替
え処理表示ビット304の内容を調べる。
【0098】受信制御部136の受信確認メッセージ受
信部144は、受信した受信確認メッセージの切り替え
処理表示ビット304が経路切り替え処理の実行中を表
しており、かつメッセージ番号テーブルの切り替え処理
表示ビット402も経路切り替え処理の実行中を表して
いる場合には、メッセージ番号テーブルの切り替え処理
表示ビット402を経路切り替え処理の実行中でないこ
と表示する様に変更する。
【0099】すなわち、メッセージ番号テーブルの切り
替え処理表示ビット402は、命令プロセッサ110に
よって経路切り替え処理の実行中を表示する様に変更さ
れた後、その切り替え処理表示ビット304が経路切り
替え処理の実行中を表示している最初の受信確認メッセ
ージを受信するまで経路切り替え処理の実行中を表示し
続ける。
【0100】この間に送信された全てのメッセージの切
り替え処理表示ビット304は経路切り替え処理の実行
中を表示しており、この間を過ぎるとメッセージの切り
替え処理表示ビット304は経路切り替え処理の実行中
を表示しない。
【0101】経路識別子フィールド403は、システム
の初期化時に命令プロセッサ110によって通常は第1
の経路を示す様に初期化され、経路の切り替えが必要に
なったときに命令プロセッサ110によって新たに使用
すべき経路を示す様に書き換えられる。
【0102】送信制御部133は、メッセージ番号テー
ブルから読み出した経路識別子フィールド403の値
を、メッセージヘッダの経路識別子フィールド305に
格納すると共にネットワーク104又は105のいずれ
にメッセージを送出するかを決定するのにも使用する。
【0103】送信メッセージ番号フィールド404は、
システムの初期化時に命令プロセッサ110によって最
小値に初期化され、通常メッセージを送信する度に送信
制御部133の通常メッセージ送信部141によってイ
ンクリメントされた値が格納される。
【0104】受信確認メッセージ番号フィールド405
は、システムの初期化時に命令プロセッサ110によっ
て最大値に初期化され、以下の様にして更新される。
【0105】受信確認メッセージが受信制御部136の
受信確認メッセージ受信部144によって受信される
と、受信確認メッセージ受信部144は、受信確認メッ
セージのメッセージ番号フィールド306のメッセージ
番号とメッセージ番号テーブル内の受信確認メッセージ
番号フィールド405に格納されている値とを比較す
る。
【0106】受信確認メッセージ受信部144は、受信
確認メッセージのメッセージ番号が受信確認メッセージ
番号フィールド405の値と連続する番号であれば、受
信確認メッセージのメッセージ番号を新たな受信確認メ
ッセージ番号フィールド405の値として格納する。
【0107】また、受信確認メッセージ受信部144
は、受信確認メッセージのメッセージ番号が受信確認メ
ッセージ番号フィールド405の値と連続していない場
合には、当該受信確認メッセージを廃棄し、エラーを命
令プロセッサ110に報告する。
【0108】送信制御部133の通常メッセージ送信部
141は、メッセージ番号テーブルの送信メッセージ番
号フィールド404及び受信確認メッセージ番号フィー
ルド405の値を比較器135によって比較し、前者が
後者を追い越していないこと(等しい場合を含む)を比
較結果が示していれば、メッセージヘッダのメッセージ
番号フィールド306に送信メッセージ番号フィールド
404の値を格納して以後の処理を続ける。
【0109】送信メッセージ番号フィールド404の値
が受信確認メッセージ番号フィールド405の値を追い
越していることを比較器135の比較結果が示している
場合、送信制御部133の通常メッセージ送信部141
は、送信制御ワードの送受信ステータスフィールド20
4に送信メッセージ番号フィールド404の値が受信確
認メッセージ番号フィールド405の値を追い越したこ
とによる送信停止を示すステータスを書き込んだ後、送
信処理を終結させる。
【0110】一旦送信停止の状態となった後、メッセー
ジ番号テーブルの受信確認メッセージ番号フィールド4
05の値が変化し、送信ができる様になったことを確認
して再度送信を行う処理は、メッセージの送信を行うソ
フトウェアの責任で行われるものとする。
【0111】以上の様にして送信元及び送信先の送信制
御部133及び受信制御部136の動作により、ある仮
想通信路に対応した1つの物理的経路上の通常メッセー
ジのメッセージ番号が一意になる様に制御することがで
きる。
【0112】なお、受信確認メッセージを受信した受信
制御部136がメッセージ番号テーブルの切り替え処理
表示ビット402及び受信確認メッセージ番号フィール
ド405にアクセスする場合の仮想通信路の識別子を決
定する際に、受信確認メッセージのヘッダ内の受信ノー
ド番号フィールド302及び送信ノード番号フィールド
303の値は、それぞれ送信ノード番号及び受信ノード
番号と解釈することに注意しなければならない。
【0113】図4の有効表示フィールド406、受信メ
ッセージ番号フィールド407、有効表示フィールド4
08及び受信メッセージ番号フィールド409は、受信
制御部136によって使用されるフィールドである。
【0114】有効表示フィールド406及び有効表示フ
ィールド408は、ネットワーク104上の第1の経路
とネットワーク105上の第2の経路のそれぞれに対応
し、現在有効な経路がどちらであるかを示すフィールド
である。
【0115】また、受信メッセージ番号フィールド40
7及び受信メッセージ番号フィールド409は、ネット
ワーク104上の第1の経路とネットワーク105上の
第2の経路のそれぞれで最も最近に受信した通常メッセ
ージの受信メッセージ番号を保持するフィールドであ
る。
【0116】有効表示フィールド406、受信メッセー
ジ番号フィールド407、有効表示フィールド408及
び受信メッセージ番号フィールド409は、システムの
初期化時に命令プロセッサ110によって初期化され
る。その際、有効表示フィールド406及び有効表示フ
ィールド408は、いずれも対応する経路が有効でない
ことを示す値に初期化される。
【0117】第1の経路が有効でないことを有効表示フ
ィールド406の値が示している場合には、受信メッセ
ージ番号フィールド407の値は意味を持たないものと
する。同様に、第2の経路が有効でないことを有効表示
フィールド408の値が示している場合には、受信メッ
セージ番号フィールド409の値は意味を持たないもの
とする。
【0118】ある仮想通信路において、システム初期化
後に初めて正常な通常メッセージを受信したときには、
有効表示フィールド406及び有効表示フィールド40
8がいずれも無効を表しており、受信した通常メッセー
ジの経路識別子フィールド305の値で示される経路が
有効な経路であると認識される。
【0119】例えば、メッセージヘッダの経路識別子フ
ィールド305がネットワーク104上の第1の経路を
示しているときは、受信制御部136の通常メッセージ
受信部143は、ネットワーク104上の第1の経路が
有効であることを示す様に有効表示フィールド406を
変更し、同時にメッセージヘッダのメッセージ番号フィ
ールド306の値を受信メッセージ番号フィールド40
7に格納する。
【0120】一旦有効表示フィールド406或いは有効
表示フィールド408のいずれかが対応する経路の有効
を表す様に変更されると、以降は受信メッセージ番号フ
ィールド407又は受信メッセージ番号フィールド40
9は、以下の規則にしたがって受信制御部136の通常
メッセージ受信部143によって更新される。
【0121】メッセージヘッダの経路識別子フィールド
305の値で示される経路と有効表示フィールド406
又は有効表示フィールド408で示される有効な経路が
一致し、かつメッセージヘッダのメッセージ番号フィー
ルド306の値が有効な経路で最も最近に受信された通
常メッセージの受信メッセージ番号と連続しているとき
は、メッセージヘッダのメッセージ番号フィールド30
6の値を有効な経路のメッセージ番号として受信メッセ
ージ番号フィールド407又は受信メッセージ番号フィ
ールド409の対応するいずれかのフィールドに格納す
る。
【0122】ここでメッセージヘッダの経路識別子フィ
ールド305の値で示される経路と有効表示フィールド
406又は有効表示フィールド408で示される有効な
経路が一致すると共にメッセージヘッダのメッセージ番
号フィールド306の値が有効な経路で最も最近に受信
された通常メッセージの受信メッセージ番号と連続して
いる場合には、メッセージヘッダの切り替え処理表示ビ
ット304の値は、経路切り替え処理の実行中を表示し
ない様に制御されなければならない。
【0123】メッセージヘッダの経路識別子フィールド
305の値で示される経路と有効表示フィールド406
又は有効表示フィールド408で示される有効な経路が
一致せず、かつメッセージヘッダのメッセージ番号フィ
ールド306の値が有効な経路で最も最近に受信された
通常メッセージの受信メッセージ番号と連続しており、
かつメッセージヘッダの切り替え処理表示ビット304
が経路切り替え処理の実行中を表示しているときは、メ
ッセージヘッダの経路識別子フィールド305の値で示
される経路を新たに有効とし、以前に有効であった経路
を無効とし、更にメッセージヘッダのメッセージ番号フ
ィールド306の値を新たに有効とした経路の受信メッ
セージ番号として格納し、経路を切り替える前に有効で
あった経路の受信メッセージ番号は更新しない。なお、
最も最近に受信された通常メッセージの受信メッセージ
番号は受信メッセージ番号フィールド407又は受信メ
ッセージ番号フィールド409に保持されている。
【0124】上記以外の場合は、受信した通常メッセー
ジを廃棄し、有効表示フィールド406、受信メッセー
ジ番号フィールド407、有効表示フィールド408及
び受信メッセージ番号フィールド409の各フィールド
の値はいずれも更新されない。
【0125】図5〜図8は、ネットワーク104及び1
05の経路切り替え処理を実行中に第1の経路と第2の
経路上のいずれにもメッセージが存在する状態を説明す
る為の模式的な図である。以下に図5〜図8の状態を説
明した後、本実施形態の並列プロセッサでは、図5〜図
8のいずれの状態であってもメッセージの順序保証が可
能であることを説明する。
【0126】図5は、経路切り替え処理の例を示す図で
ある。送信ノード501は通常メッセージの送信を行う
処理装置である。受信ノード502は通常メッセージの
受信を行う処理装置である。第1の経路503は通常の
動作時にメッセージの送受信を行うネットワーク104
上の経路である。第2の経路504は経路切り替え後に
メッセージの送受信を行うネットワーク105上の経路
である。
【0127】今、送信ノード501から受信ノード50
2への通信の経路を第1の経路503から第2の経路5
04に切り替える処理を実行中の状態であるとする。な
お、メッセージ番号として、「0」から「j」まで使用
可能であり、「j」まで使用すると「0」へ戻るものと
する。
【0128】また、メッセージヘッダの切り替え処理表
示ビット304は、経路切り替え処理を実行中の時は
「1」を、そうでない場合は「0」を保持し、メッセー
ジヘッダの経路識別子フィールド305は、第1の経路
503を使用する場合は「0」を、第2の経路504を
使用する場合は「1」を保持するものとする。
【0129】第1の経路503の側に□を付して示した
数字は、切り替え処理が始まる前に送出された通常メッ
セージのメッセージ番号を表しており、このメッセージ
ヘッダの切り替え処理表示ビット304及び経路識別子
フィールド305は、共に「0」を保持している。
【0130】第2の経路504の側に○を付して示した
数字は、切り替え処理が始まった後に送出された通常メ
ッセージのメッセージ番号を表しており、このメッセー
ジヘッダの切り替え処理表示ビット304及び経路識別
子フィールド305は、共に「1」を保持している。
【0131】図5において、第1の経路503及び第2
の経路504に沿って示されたメッセージ番号を持つ通
常メッセージは、受信ノード502に近い順に受信され
ることを表している。但し、第1の経路503と第2の
経路504にまたがって点線が示されている場合、点線
より受信ノード502に近い通常メッセージの方が、遠
い通常メッセージよりも前に受信されることを表してい
る。
【0132】図5は、経路切り替え処理が始まる前にメ
ッセージ番号「2」の通常メッセージまで第1の経路5
03に送出しており、それらが全て受信確認されている
場合(A)や、第1の経路503にメッセージ番号
「3」以降の通常メッセージも送出しているが第1の経
路503の故障によりメッセージ番号「3」以降の通常
メッセージが受信ノード502に到達しない場合(B)
を表している。
【0133】この場合、経路切り替え処理が開始される
と送信ノード501では、メッセージ番号テーブルの切
り替え処理表示ビット402及び経路識別子フィールド
403が「1」に変更される。
【0134】前記(A)の場合には、メッセージ番号テ
ーブルの送信メッセージ番号フィールド404の値は
「3」を示しており、受信確認メッセージ番号フィール
ド405の値は「2」を示している。したがって、全て
の通常メッセージが受信確認されているので、送信メッ
セージ番号フィールド404の値を用いて通常メッセー
ジの送信が再開される。
【0135】前記(B)の場合には、「3」以降のメッ
セージ番号の通常メッセージも送出されているので、メ
ッセージ番号テーブルの送信メッセージ番号フィールド
404の値は「3」よりも大きくなっているが、受信確
認メッセージ番号フィールド405の値は「2」である
ので、命令プロセッサ110によって送信メッセージ番
号フィールド404の値が「3」に変更された後、通常
メッセージの送信が再開される。
【0136】受信ノード502では、メッセージ番号テ
ーブルの有効表示フィールド406は有効であることを
表す「1」を示し、有効表示フィールド408は無効で
あることを表す「0」を示している。また、受信メッセ
ージ番号フィールド407は「2」を示している。
【0137】この状態で第2の経路504を通って、メ
ッセージ番号が「3」、切り替え処理表示ビット304
が「1」、経路識別子フィールド305が「1」の通常
メッセージが来るので、受信ノード502の受信制御部
136の通常メッセージ受信部143は、メッセージ番
号テーブルの有効表示フィールド406を「0」、有効
表示フィールド408を「1」、受信メッセージ番号フ
ィールド409を「3」に変更する。
【0138】また、受信ノード502の通常メッセージ
受信部143は、受信ノード502の送信制御部133
の受信確認メッセージ送信部142に受信確認メッセー
ジの送信を依頼する。
【0139】受信ノード502の受信確認メッセージ送
信部142は、受信した通常メッセージの切り替え処理
表示ビット304及びメッセージ番号フィールド306
の値をそれぞれ受信確認メッセージのヘッダの切り替え
処理表示ビット304及びメッセージ番号フィールド3
06にそのまま格納する。
【0140】また、受信確認メッセージの経路識別子フ
ィールド305には、受信ノード502が送信ノード5
01に送信する時に使用する仮想通信路に対応するメッ
セージ番号テーブルのエントリの経路識別子フィールド
403の値を格納して、受信確認メッセージを送信ノー
ド501に送信する。
【0141】図5の場合は、(A)(B)いずれの場合
も第1の経路503上を通ってメッセージ番号「3」以
降の通常メッセージが受信ノード502に到着しないの
で、メッセージ順序の問題はない。
【0142】図6は、本実施形態において切り替え前の
通常メッセージが遅れて到着する場合の例を示す図であ
る。図6は、第1の経路503にメッセージ番号「3」
の通常メッセージも送出したが、第1の経路503の負
荷が重い為、第1の経路503上のメッセージ番号
「3」の通常メッセージが遅れて受信ノード502に到
着し、第1の経路503上のメッセージ番号「3」の通
常メッセージより第2の経路504上のメッセージ番号
「3」の通常メッセージの方が早く受信ノード502に
到着する場合(C)を表している。
【0143】前記(C)の場合には、送信ノード501
の処理は、前記(B)の場合と同様である。
【0144】受信ノード502では、第2の経路504
上のメッセージ番号「3」の通常メッセージが先に到着
し、当該通常メッセージのヘッダの切り替え処理表示ビ
ット304が「1」、経路識別子フィールド305が
「1」を示しているので、受信ノード502の受信制御
部136の通常メッセージ受信部143は、メッセージ
番号テーブルの有効表示フィールド406を「0」、有
効表示フィールド408を「1」、受信メッセージ番号
フィールド409を「3」に変更する。
【0145】次に、第1の経路503のメッセージ番号
「3」の通常メッセージ及び第2の経路504のメッセ
ージ番号「4」の通常メッセージのいずれかが受信ノー
ド502に到着する。
【0146】第1の経路503のメッセージ番号「3」
の通常メッセージが先に到着するものとすると、受信ノ
ード502の通常メッセージ受信部143は、メッセー
ジ番号テーブルの有効表示フィールド406が「0」で
あるのに対し、メッセージヘッダの経路識別子フィール
ド305が「0」であり、かつ切り替え処理表示ビット
304が「0」であるので、到着した通常メッセージは
不要な通常メッセージであって、経路変更をする必要が
ないと判断し、当該通常メッセージを廃棄する。
【0147】次に、第2の経路504を通って、メッセ
ージ番号「4」の通常メッセージが到着するが、この場
合は、メッセージ番号テーブルの有効表示フィールド4
08が「1」であり、かつメッセージヘッダの経路識別
子フィールド305が「1」であり、かつメッセージ番
号テーブルの受信確認メッセージ番号フィールド405
の値「3」とメッセージヘッダのメッセージ番号フィー
ルド306の値「4」が連続しているので正常に受信さ
れる。
【0148】なお、第1の経路503上に「4」以降の
通常メッセージがある場合は、「3」の場合と同様に廃
棄される。
【0149】また、第1の経路503のメッセージ番号
「3」の通常メッセージと第2の経路504のメッセー
ジ番号「4」の通常メッセージの内、第2の経路504
のメッセージ番号「4」の通常メッセージが第1の経路
503のメッセージ番号「3」の通常メッセージよりも
先に到着した場合は、第1の経路503上のメッセージ
番号「3」の通常メッセージの廃棄が、第2の経路50
4のメッセージ番号「4」の通常メッセージが正常に受
信された後になるだけで、前記と同様の処理が行われ
る。
【0150】以上の様に、図6の場合でも第1の経路5
03上のメッセージ番号「3」及びそれ以降の通常メッ
セージは廃棄され、メッセージ順序を保証して経路の切
り替えができる。
【0151】図7は、本実施形態において切り替え前後
の通常メッセージの到着順が微妙な場合の例を示す図で
ある。図7は、第1の経路503にメッセージ番号
「3」の通常メッセージも送出したが、第1の経路50
3の負荷が重い為、第1の経路503上のメッセージ番
号「3」の通常メッセージが遅れて受信ノード502に
到着し、第1の経路503上のメッセージ番号「3」の
通常メッセージと第2の経路504上のメッセージ番号
「3」の通常メッセージの受信ノード502への到着順
が微妙となる場合(D)を表している。
【0152】前記(D)の場合でも、第2の経路504
上のメッセージ番号「3」の通常メッセージが先に到着
する場合は、前記(C)の場合と同様になる。
【0153】第1の経路503上のメッセージ番号
「3」の通常メッセージが先に到着する場合は、第1の
経路503上のメッセージ番号「3」の通常メッセージ
のヘッダの切り替え処理表示ビット304は「0」、経
路識別子フィールド305は「0」、メッセージ番号フ
ィールド306は「3」を表しており、受信ノード50
2のメッセージ番号テーブルの有効表示フィールド40
6は「1」、受信メッセージ番号フィールド407は
「2」を表しているので正常に受信される。
【0154】その後、第2の経路504上のメッセージ
番号「3」の通常メッセージが受信ノード502に到着
するが、通常メッセージのヘッダの切り替え処理表示ビ
ット304は「1」、経路識別子フィールド305は
「1」、メッセージ番号フィールド306は「3」を表
しているのに対し、受信ノード502のメッセージ番号
テーブルの有効表示フィールド406は「1」、受信メ
ッセージ番号フィールド407は「3」を表しており、
メッセージ番号フィールド306の値と受信メッセージ
番号フィールド407の値が連続しないので、当該通常
メッセージは廃棄される。
【0155】次に、第2の経路504上のメッセージ番
号「4」の通常メッセージが受信ノード502に到着す
るが、これは前記(C)の場合と同様に有効な経路が第
2の経路504に変更される。
【0156】以上の様に、図7の場合でも第2の経路5
04上のメッセージ番号「3」の通常メッセージは廃棄
され、メッセージ順序を保証して経路の切り替えができ
る。
【0157】図8は、本実施形態において切り替え前の
メッセージ番号が切り替え後のメッセージ番号と連続す
る場合の例を示す図である。図8は、第1の経路503
にメッセージ番号「2」の通常メッセージも送出した
が、第1の経路503の負荷が重い為、第1の経路50
3上のメッセージ番号「2」の通常メッセージが遅れて
受信ノード502に到着し、それ以前に第2の経路50
4上でメッセージ番号「1」の通常メッセージまで送信
し、かつ第1の経路503にメッセージ番号「2」の通
常メッセージが第2の経路504上でメッセージ番号
「1」の通常メッセージの後に到着する場合(E)を表
している。
【0158】ここで、第2の経路504の側に△を付し
て示した数字は、切り替え処理が完了した後に送出され
た通常メッセージのメッセージ番号を表しており、この
メッセージヘッダの切り替え処理表示ビット304は
「0」を保持し、経路識別子フィールド305は「1」
を保持している。
【0159】前記(E)の場合は、第1の経路503上
のメッセージ番号「2」の通常メッセージと第2の経路
504上のメッセージ番号「1」の通常メッセージとが
メッセージ番号の上で連続していることが問題となる。
【0160】これらは、メッセージヘッダのメッセージ
番号フィールド306の値が連続しており、経路識別子
フィールド305の値が「0」と「1」なので、経路切
り替えを行う場合と似ている。
【0161】しかし、この場合でも第1の経路503上
のメッセージ番号「2」の通常メッセージのヘッダの切
り替え処理表示ビット304は「0」であり、経路切り
替え処理の実行中を表していないので、受信ノード50
2の受信制御部136の通常メッセージ受信部143は
当該通常メッセージを不要と判断し、廃棄することがで
きる。
【0162】なお、第2の経路504上に△を付して示
した通常メッセージは、メッセージ番号が「2」であ
り、経路切り替え処理を開始した後2回目の使用となる
為、少なくとも△を付して示した通常メッセージにおい
ては、ヘッダ内の切り替え処理表示ビット304は
「0」に戻り、経路切り替え処理の実行中でないことを
示している。
【0163】少なくともメッセージ番号「2」が再度使
用される以前に経路切り替えの処理が完了していること
を保証できるので、図8の場合の様に、偶然第1の経路
503上の通常メッセージと第2の経路504上の通常
メッセージのメッセージ番号が連続することがあっても
誤って経路切り替え処理を実行することがない。
【0164】最後に、通常メッセージは正常に受信ノー
ド502に到着しているが、受信確認メッセージがネッ
トワーク104の故障の為に送信ノード501に返って
こない為、受信確認できない場合について説明する。
【0165】実際には受信確認メッセージが返ってこな
い為に送信ノード501において受信確認ができないの
であるが、送信ノード501においては、受信確認でき
ない理由が通常メッセージが届いていない為なのか受信
確認メッセージが返ってこない為なのかを通常は判別す
ることができない。
【0166】しかし、この様な状況においても、本実施
形態の並列プロセッサによれば送信ノード501が受信
確認できていない通常メッセージを再送しても、受信ノ
ード502において通常メッセージを2重に受け取って
しまい、通常メッセージの順序保証ができなくなるとい
うことがない。
【0167】なぜならば、本実施形態の並列プロセッサ
では受信確認メッセージが返ってこないという状況の下
では、再送する通常メッセージのメッセージ番号は、受
信ノード502において最も最近に受信した通常メッセ
ージの受信メッセージ番号と連続しない為、受信ノード
502において廃棄されるからである。
【0168】送信ノード501は、経路切り替え処理を
実施した後も、再送した通常メッセージの受信確認メッ
セージが返ってこない場合は、通常メッセージが届かな
いのではなく、受信確認メッセージの通る経路に何らか
の障害が発生していると判断できる。
【0169】受信確認メッセージの通る経路に問題があ
ることを送信ノード501において認識できれば、送信
ノード501から受信ノード502へ以前に送った通常
メッセージの受信確認をソフトウェアによって行う様に
依頼する特別なメッセージを送る等して、ソフトウェア
的に回復処理を行うことができる。
【0170】以上の様に、本実施形態の並列プロセッサ
によれば、受信確認メッセージの送信に問題がある場合
でも、2重受信を引き起こすことなく安全に状況を把握
する為の処置を取り、状況を把握した後に適切な処理を
すばやく行うことができる。
【0171】本実施形態の並列プロセッサでは、メッセ
ージ番号テーブルがネットワークインタフェース制御部
130の外にあるとしたが、内部に置いても良いし、メ
インメモリ111上に置く様な仕組みにしても構わな
い。
【0172】また、各ノード内の構成は同一であるとし
たが、本実施形態の並列プロセッサに係わらないところ
の構成は異なっていても構わないのは当然である。更
に、本実施形態の並列プロセッサは、ネットワークイン
タフェース制御部130の制御により、ソフトウェアか
ら見えない形でメッセージを更に小さな単位に分割して
送信し、受信時に元のメッセージに再構成する様な通信
形態に対しても適用できる。
【0173】以上説明した様に、本実施形態の並列プロ
セッサによれば、時間監視を用いないでネットワークの
経路切り替え中及び前後でメッセージの順序保証を行う
ので、ネットワークの経路切り替えの前後でメッセージ
を送受信する処理を継続することが可能である。
【0174】
【発明の効果】本発明によれば、時間監視を用いないで
ネットワークの経路切り替え中及び前後でメッセージの
順序保証を行うので、ネットワークの経路切り替えの前
後でメッセージを送受信する処理を継続することが可能
である。
【図面の簡単な説明】
【図1】本実施形態の並列プロセッサの概略構成を示す
図である。
【図2】本実施形態の送信制御ワードの概要を示す図で
ある。
【図3】本実施形態のメッセージの概要を示す図であ
る。
【図4】本実施形態のメッセージ番号テーブルの形式を
示す図である。
【図5】本実施形態の経路切り替え処理の例を示す図で
ある。
【図6】本実施形態のおいて切り替え前の通常メッセー
ジが遅れて到着する場合の例を示す図である。
【図7】本実施形態のおいて切り替え前後の通常メッセ
ージの到着順が微妙な場合の例を示す図である。
【図8】本実施形態のおいて切り替え前のメッセージ番
号が切り替え後のメッセージ番号と連続する場合の例を
示す図である。
【図9】従来の並列プロセッサの一例の概略構成を示す
図である。
【符号の説明】
101〜103…ノード、104及び105…ネットワ
ーク、110…命令プロセッサ、111…メインメモ
リ、120…システムバス、130…ネットワークイン
タフェース制御部、140…メッセージ番号テーブルメ
モリ、131…バスインタフェース制御部、132…R
AMインタフェース制御部、133…送信制御部、13
4…セレクタ、135…比較器、136…受信制御部、
137…セレクタ、138…制御線、141…通常メッ
セージ送信部、142…受信確認メッセージ送信部、1
43…通常メッセージ受信部、144…受信確認メッセ
ージ受信部、201…受信ノード番号フィールド、20
2…メッセージデータ長フィールド、203…送信デー
タアドレスフィールド、204…送受信ステータスフィ
ールド、301…メッセージ形式フィールド、302…
受信ノード番号フィールド、303…送信ノード番号フ
ィールド、304…切り替え処理表示ビット、305…
経路識別子フィールド、306…メッセージ番号フィー
ルド、307…メッセージデータ長フィールド、308
…送信制御ワードアドレスフィールド、309…メッセ
ージデータ/受信ステータスフィールド、401…仮想
通信路識別子フィールド、402…切り替え処理表示ビ
ット、403…経路識別子フィールド、404…送信メ
ッセージ番号フィールド、405…受信確認メッセージ
番号フィールド、406…有効表示フィールド、407
…受信メッセージ番号フィールド、408…有効表示フ
ィールド、409…受信メッセージ番号フィールド、5
01…送信ノード、502…受信ノード、503…第1
の経路、504…第2の経路、901〜904…ノー
ド、905及び906…ネットワーク。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数の経路で接続された複数のノード間
    でメッセージを送受信して並列処理を行う並列プロセッ
    サであって、 経路の切り替え中であるがどうかを示す切り替え処理表
    示、当該メッセージを送信する経路を識別する経路識別
    子及び当該メッセージを識別するメッセージ番号を格納
    した通常メッセージを作成して受信ノードに送信する通
    常メッセージ送信部と、 送信ノードから送信された通常メッセージの経路識別子
    が示す経路と受信ノードの有効表示が示す経路とが一致
    し、そのメッセージ番号が前記有効表示の示す経路で受
    信した通常メッセージのメッセージ番号を示す受信メッ
    セージ番号と連続する場合に当該通常メッセージを受信
    する通常メッセージ受信部と、 受信した通常メッセージのメッセージ番号を格納した受
    信確認メッセージを当該通常メッセージの送信ノードに
    送信する受信確認メッセージ送信部と、 受信ノードから送信された受信確認メッセージのメッセ
    ージ番号が受信確認メッセージ番号と連続する場合に当
    該受信確認メッセージ番号を更新する受信確認メッセー
    ジ受信部とを備えることを特徴とする並列プロセッサ。
  2. 【請求項2】 前記通常メッセージ送信部は、経路の切
    り替えが行われている場合に経路の切り替え中であるこ
    とを示す切り替え処理表示を格納した通常メッセージを
    送信し、 前記通常メッセージ受信部は、受信ノードの有効表示が
    示す経路以外で受信した通常メッセージの内で、その切
    り替え処理表示が経路の切り替え中であることを示すと
    共にそのメッセージ番号が前記受信メッセージ番号に連
    続する通常メッセージを受信し、受信した通常メッセー
    ジの経路識別子が示す経路に受信ノードの有効表示が示
    す経路を変更することを特徴とする請求項1に記載され
    た並列プロセッサ。
  3. 【請求項3】 前記受信確認メッセージ送信部は、受信
    した通常メッセージの切り替え処理表示を格納した受信
    確認メッセージを当該通常メッセージの送信ノードに送
    信し、 前記受信確認メッセージ受信部は、経路の切り替え中で
    あることを示す切り替え処理表示を格納した受信確認メ
    ッセージを受信したときに、それ以降に送信される通常
    メッセージの切り替え処理表示を経路の切り替えが終了
    したことを示す内容に変更することを特徴とする請求項
    1または請求項2のいずれかに記載された並列プロセッ
    サ。
JP9235784A 1997-09-01 1997-09-01 並列プロセッサ Pending JPH1185716A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9235784A JPH1185716A (ja) 1997-09-01 1997-09-01 並列プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9235784A JPH1185716A (ja) 1997-09-01 1997-09-01 並列プロセッサ

Publications (1)

Publication Number Publication Date
JPH1185716A true JPH1185716A (ja) 1999-03-30

Family

ID=16991206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9235784A Pending JPH1185716A (ja) 1997-09-01 1997-09-01 並列プロセッサ

Country Status (1)

Country Link
JP (1) JPH1185716A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009017344A (ja) * 2007-07-06 2009-01-22 Nippon Telegr & Teleph Corp <Ntt> Tcpセッション切替装置および方法、プログラムおよび記録媒体
WO2010058693A1 (ja) * 2008-11-21 2010-05-27 日本電気株式会社 パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009017344A (ja) * 2007-07-06 2009-01-22 Nippon Telegr & Teleph Corp <Ntt> Tcpセッション切替装置および方法、プログラムおよび記録媒体
JP4550867B2 (ja) * 2007-07-06 2010-09-22 日本電信電話株式会社 Tcpセッション切替装置および方法、プログラムおよび記録媒体
WO2010058693A1 (ja) * 2008-11-21 2010-05-27 日本電気株式会社 パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法
JP5310735B2 (ja) * 2008-11-21 2013-10-09 日本電気株式会社 パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法

Similar Documents

Publication Publication Date Title
US6975587B1 (en) Mechanism for automatic protection switching in a router
US4884263A (en) Packet-switched communications network with parallel virtual circuits for re-routing message packets
US5165020A (en) Terminal device session management protocol
US5924112A (en) Bridge device
US6061807A (en) Methods systems and computer products for error recovery of endpoint nodes
JPH06202883A (ja) プロセス間通信装置及び通信方法
JPH1069446A (ja) ホスト間の接続を維持する方法
JPH0222580B2 (ja)
JP4561800B2 (ja) データ同期システム及び方法
US6810010B1 (en) Redundant LAN system, active line/stand-by line switching method, and recording medium
US6977924B1 (en) Control and distribution protocol for a portable router framework
JP4964666B2 (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
JP3641834B2 (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
EP0094177B1 (en) Apparatus for direct memory-to-memory intercomputer communication
JP2002259355A (ja) 多重系システム
JPH09130408A (ja) ネットワークインタフェース装置
US5894547A (en) Virtual route synchronization
JPH1185716A (ja) 並列プロセッサ
KR20050002865A (ko) 인피니밴드 채널 어댑터 장애용 리던던시 제공 방법 및 컴퓨터 시스템
JPH0213158A (ja) メツセージ伝送方法
US7593318B2 (en) Method and apparatus for header updating
JP4716258B2 (ja) 通信システム及びその現用装置と予備装置の切替方法
JP2000244526A (ja) 多重化したネットワーク接続装置システム
JPH05244225A (ja) 無中断系切り替え方法
JP2738314B2 (ja) N+1冗長構成回線制御装置の切替方式