(57)【要約】  第１プロセッサから１つずつ順番に送信された第２プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、第２プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置は、第１プロセッサが、複数のパケットのうち１個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する格納部と、通信中情報が格納部に格納されている状況で、転送先の切替え指示を受け付けると、複数のパケットのすべてが、転送先として設定された通信経路へ転送された後、転送先を、複数の通信経路のうちの他の通信経路に切り替える制御部と、を含む。
2010058693.tif 000002
【特許請求の範囲】
【請求項１】
第１プロセッサから１つずつ順番に送信された第２プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第２プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置であって、
前記第１プロセッサが、前記複数のパケットのうち１個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する格納手段と、
前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える制御手段と、を含むパケット転送装置。
【請求項２】
前記所定の複数のパケットは、順序保証が必要な複数のパケットである、請求項１に記載のパケット転送装置。
【請求項３】
前記制御手段は、前記転送先が前記他の通信経路に切り替えられており、かつ、前記通信中情報が前記格納手段に格納されている状況で、通信経路を元の通信経路に切り替える旨の指示を受け付けると、前記複数のパケットのすべてが、前記他の通信経路へ転送された後、前記転送先を、前記他の通信経路から前記元の通信経路に切り替える、請求項１または２に記載のパケット転送装置。
【請求項４】
請求項１から３のいずれか１項に記載のパケット転送装置と、前記複数の通信経路と、を含むプロセッサ間通信システム。
【請求項５】
前記複数の通信経路は、互いに直接接続されていない独立した複数の部分ネットワークである、請求項４に記載のプロセッサ間通信システム。
【請求項６】
請求項４または５に記載のプロセッサ間通信システムと、前記第１プロセッサと、前記第２プロセッサと、を含む、並列プロセッサシステム。
【請求項７】
第１プロセッサから１つずつ順番に送信された第２プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第２プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置が行うパケット転送方法であって、
前記第１プロセッサが、前記複数のパケットのうち１個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納手段に格納し、
前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える、パケット転送方法。
【請求項８】
前記所定の複数のパケットは、順序保証が必要な複数のパケットである、請求項７に記載のパケット転送方法。
【請求項９】
前記転送先が前記他の通信経路に切り替えられており、かつ、前記通信中情報が前記格納手段に格納されている状況で、通信経路を元の通信経路に切り替える旨の指示を受け付けると、前記複数のパケットのすべてが、前記他の通信経路へ転送された後、前記転送先を、前記他の通信経路から前記元の通信経路に切り替える、請求項７または８に記載のパケット転送方法。
【請求項１０】
第１プロセッサから１つずつ順番に送信された第２プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第２プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置と、前記複数の経路と、を含むプロセッサ間通信システムが行うパケット転送方法であって、
前記パケット転送装置が、前記第１プロセッサが前記複数のパケットのうち１個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納手段に格納し、
前記パケット転送装置が、前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える、パケット転送方法。
【請求項１１】
前記複数の通信経路は、互いに直接接続されていない独立した複数の部分ネットワークである、請求項１０に記載のパケット転送方法。
【請求項１２】
第１プロセッサと、第２プロセッサと、前記第２プロセッサに通じる複数の通信経路と、前記第１プロセッサから１つずつ順番に送信された第２プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置と、を含む並列プロセッサシステムが行う並列コンピュータシステムが行うパケット転送方法であって、
前記パケット転送装置が、前記第１プロセッサが前記複数のパケットのうち１個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納手段に格納し、
前記パケット転送装置が、前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える、パケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法に関し、例えば、並列コンピュータで使用されるパケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法に関する。
【背景技術】
【０００２】
並列コンピュータでのプロセッサ間通信では、送信データが、複数のパケットに分割され、各パケットが、プロセッサ間ネットワークを通して、宛先のプロセッサまで転送される。プロセッサ間ネットワークには、クロスバスイッチ等のプロセッサ間データ転送装置が存在する。【０００３】
プロセッサ間通信では、複数のパケットの順序を保証しなければならない通信、つまり、パケットの送信順序の通りにパケットが受信されなければならない通信がある。以下、複数のパケットの順序を保証しなければならない通信を、「順序保証通信」と称する。【０００４】
順序保証通信の１つの例は、送信側が、送信データの分割によって生成されたパケットにシーケンス番号を付与して送信し、受信側が、パケットの受信時に、そのシーケンス番号の予測値と、到着したパケットに付与されたシーケンス番号と、を比較して、エラー検出をする通信である。【０００５】
この場合、もし、プロセッサ間ネットワーク内でパケット間の順序が変わると、受信側は、予測値と異なるシーケンス番号の付いたパケットを受信してしまい、エラーと判定する。【０００６】
順序保障通信の他の例は、受信側が、送信データの最後の部分を有するパケットを受信して、その最後の部分を書き込んだときに、送信データ全体の受信が完了したと判断する通信である。【０００７】
この場合、もし、プロセッサ間ネットワーク内でパケットの順序が変わると、１つの送信データから生成された複数のパケットのすべてが受信される前に、受信側は、受信完了と判断して送信データを読み出す。このため、１つの送信データのすべてが書き込まれる前の値が読み出されてしまう。【０００８】
このように、プロセッサ間ネットワーク内でパケットの順序を保証することは重要なことである。【０００９】
順序保証が必要な通信は、１つの送信データの分割によって生成された複数のパケットが、同じプロセッサから、同じ宛先のプロセッサに送信される通信である。なお、パケットが、同じプロセッサから同じ宛先のプロセッサに送信される通信でも、異なる送信データから生成されたパケット間の順序保証は不要である。【００１０】
特許文献１には、並列プロセッサ間のネットワークにおいて、故障情報を元にデータの転送経路を変更して故障スイッチを迂回する技術が開示されている。【００１１】
特許文献２には、故障したクロスバスイッチの代わりに使用される部分ネットワークが予め決められている、プロセッサ間データ通信方法が開示されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特許第２９６０４５４号公報
【特許文献２】特開平８−７７１２７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
並列コンピュータのプロセッサ間ネットワークで障害が発生した場合に障害箇所を切り離す障害処理において、特許文献１および２に記載されたように、単純に転送経路を変更して故障箇所を迂回するだけでは、順序保証が必要なパケットの順序を保証することができないという課題がある。【００１４】
なぜなら、先行したパケットが通る経路と、後続のパケットが通る迂回経路とが異なるため、その経路間の混雑度の差によっては、パケットの到着順序が逆転する可能性があるためである。【００１５】
本発明の目的は、上述した課題を解決可能なパケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法を提供することである。
【課題を解決するための手段】
【００１６】
本発明のパケット転送装置は、第１プロセッサから１つずつ順番に送信された第２プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第２プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置であって、前記第１プロセッサが、前記複数のパケットのうち１個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する格納部と、前記通信中情報が前記格納部に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える制御部と、を含む。【００１７】
本発明のプロセッサ間通信システムは、前記パケット転送装置と、前記複数の通信経路と、を含む。【００１８】
本発明の並列プロセッサシステムは、前記プロセッサ間通信システムと、前記第１プロセッサと、前記第２プロセッサと、を含む。【００１９】
本発明のパケット転送方法は、第１プロセッサから１つずつ順番に送信された第２プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第２プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置が行うパケット転送方法であって、前記第１プロセッサが、前記複数のパケットのうち１個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納部に格納し、前記通信中情報が前記格納部に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える。【００２０】
本発明のパケット転送方法は、第１プロセッサから１つずつ順番に送信された第２プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第２プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置と、前記複数の経路と、を含むプロセッサ間通信システムが行うパケット転送方法であって、前記パケット転送装置が、前記第１プロセッサが前記複数のパケットのうち１個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納部に格納し、前記パケット転送装置が、前記通信中情報が前記格納部に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える。【００２１】
本発明のパケット転送方法は、第１プロセッサと、第２プロセッサと、前記第２プロセッサに通じる複数の通信経路と、前記第１プロセッサから１つずつ順番に送信された第２プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置と、を含む並列プロセッサシステムが行う並列コンピュータシステムが行うパケット転送方法であって、前記パケット転送装置が、前記第１プロセッサが前記複数のパケットのうち１個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納部に格納し、前記パケット転送装置が、前記通信中情報が前記格納部に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える。
【発明の効果】
【００２２】
本発明によれば、通信経路の切り替えが生じる際にも、複数のパケットの順序を保証することが可能になる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１の実施の形態の並列プロセッサシステムの構成を示したブロック図である。
【図２】プロセッサ間ネットワーク２で通信されるパケット２００の形式を説明するための説明図である。
【図３】プレーン間クロスバ１０５の詳細を示した説明図である。
【図４】プレーン間クロスバ１０５でのプロセッサ行き方向のデータパスを示した説明図である。
【図５】プレーン間クロスバでのネットワークプレーン行き方向のデータパスでの処理を説明するためのフローチャートである。
【図６Ａ】本発明の第１の実施の形態のプレーン間クロスバの動作を説明する図である。
【図６Ｂ】本発明の第１の実施の形態のプレーン間クロスバの動作を説明する図である。
【図６Ｃ】本発明の第１の実施の形態のプレーン間クロスバの動作を説明する図である。
【図６Ｄ】本発明の第１の実施の形態のプレーン間クロスバの動作を説明する図である。
【図６Ｅ】本発明の第１の実施の形態のプレーン間クロスバの動作を説明する図である。
【図７】本発明の第２の実施の形態で使用されるパケット７００の形式を説明するための説明図である。
【図８】本発明の第２の実施の形態のプレーン間クロスバのネットワークプレーン行き方向のデータパスを示した説明図である。
【発明を実施するための形態】
【００２４】
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００２５】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の並列プロセッサシステム、プロセッサ間通信システムおよびパケット転送装置を示したブロック図である。
【００２６】
図１において、並列プロセッサシステム１は、複数のネットワークプレーン１０１〜１０４と、複数のプレーン間クロスバ（プレーン間クロスバスイッチ）１０５〜１１２と、複数のプロセッサ１１３〜１４４と、を含む。
【００２７】
並列プロセッサシステム１では、プロセッサ１１３〜１４４が、相互に協調しあって並列演算を行う。プロセッサ１１３〜１４４のそれぞれは、一般的に、第１プロセッサおよび第２プロセッサと呼ぶことができる。
【００２８】
プロセッサ１１３〜１４４のそれぞれは、他のプロセッサに送信すべきデータ（以下「送信用データ」と称する）があると、送信用データを分割して、他のプロセッサ宛ての複数のパケットを生成する。
【００２９】
複数のパケットが順序保証を必要とする場合、プロセッサ１１３〜１４４のそれぞれは、複数のパケットのそれぞれに、順序保証を必要とする旨の情報を付加する。
【００３０】
順序保証を必要とする複数のパケットは、一般的に所定の複数のパケットと呼ぶことができる。この複数のパケットによって、１つの通信命令が構成される。
【００３１】
プロセッサ１１３〜１４４のそれぞれは、１つの通信命令を構成する個々のパケットを、１つずつ順番に、プロセッサ間ネットワーク２に送信する。
【００３２】
プロセッサ間ネットワーク２は、一般的にプロセッサ間通信システムと呼ぶことができる。
【００３３】
プロセッサ間ネットワーク２は、プロセッサ１１３〜１４４のそれぞれと接続されている。プロセッサ間ネットワーク２は、複数のネットワークプレーン１０１〜１０４と、複数のプレーン間クロスバ１０５〜１１２と、を含む。
【００３４】
ネットワークプレーン１０１〜１０４は、一般的に複数の通信経路と呼ぶことができる。また、ネットワークプレーン１０１〜１０４は、互いに直接接続されていない独立した複数の部分ネットワークと呼ぶことができる。
【００３５】
ネットワークプレーン１０１〜１０４のそれぞれは、８入力８出力のネットワークである。ネットワークプレーン１０１〜１０４のそれぞれは、８入力８出力の３個のクロスバ（クロスバスイッチ）１４５〜１４７を含む。
【００３６】
プレーン間クロスバ１０５〜１１２のそれぞれは、一般的にパケット転送装置と呼ぶことができる。
【００３７】
プレーン間クロスバ１０５〜１１２のそれぞれは、ネットワークプレーン１０１〜１０４と接続されている。
【００３８】
プレーン間クロスバ１０５は、プロセッサ１１３〜１１６とも接続されている。プレーン間クロスバ１０６は、プロセッサ１１７〜１２０とも接続されている。プレーン間クロスバ１０７は、プロセッサ１２１〜１２４とも接続されている。プレーン間クロスバ１０８は、プロセッサ１２５〜１２８とも接続されている。プレーン間クロスバ１０９は、プロセッサ１２９〜１３２とも接続されている。プレーン間クロスバ１１０は、プロセッサ１３３〜１３６とも接続されている。プレーン間クロスバ１１１は、プロセッサ１３７〜１４０とも接続されている。プレーン間クロスバ１１２は、プロセッサ１４１〜１４４とも接続されている。
【００３９】
プレーン間クロスバ１０５〜１１２のそれぞれは、８入力８出力のクロスバである。
【００４０】
プレーン間クロスバ１０５〜１１２のそれぞれは、自己に接続されているプロセッサ（第１プロセッサ）から１つずつ順番に送信された他のプロセッサ（第２プロセッサ）宛ての複数のパケットを受信し、そのパケットのそれぞれを、ネットワークプレーン１０１〜１０４のうち転送先として設定されたネットワークプレーンに転送する。
【００４１】
ネットワークプレーン１０１〜１０４のそれぞれは、プレーン間クロスバ１０５〜１１２のいずれかからパケットを受信すると、そのパケットに記載されたルーティングに関する情報に基づいて、そのパケットを、プレーン間クロスバ１０５〜１１２のいずれかに転送する。
【００４２】
プレーン間クロスバ１０５〜１１２のそれぞれは、ネットワークプレーン１０１〜１０４のいずれかからパケットを受信すると、そのパケットに記載されたルーティングに関する情報に基づいて、そのパケットを、自己に接続されているプロセッサのいずれかに転送する。
【００４３】
このため、ネットワークプレーン１０１〜１０４は、パケットの宛先のプロセッサに通じる複数の通信経路として機能する。
【００４４】
ここでは、並列プロセッサシステム１の一例として、図１に示したような構成を示しているが、部分ネットワークであるネットワークプレーンの数、部分ネットワークのトポロジおよび構成、プレーン間クロスバのポート数および個数、並びに、プロセッサの個数は、任意である。
【００４５】
図２は、プロセッサ間ネットワーク２で通信されるパケット２００の形式を説明するための説明図である。
【００４６】
図２において、パケット２００は、プロセッサ１１３〜１４４のそれぞれによって生成される。本実施形態では、プロセッサ１１３〜１４４のそれぞれは、送信用データを分割することによって、複数のパケット２００を生成する。プロセッサ１１３〜１４４のそれぞれは、個々のパケット２００を、１つずつ順番に、プロセッサ間ネットワーク２に送信する。
【００４７】
パケット２００は、経路指定情報２０１、順序保証フラグ２０２、ラストパケットフラグ２０３、パケット長２０４、および、データ２０５から構成される。
【００４８】
経路指定情報２０１は、プロセッサ間ネットワーク２でのルーティングに用いられる。経路指定情報２０１は、第１経路指定情報２０６と、第２経路指定情報２０７と、第３経路指定情報２０８と、を含む。
【００４９】
第１経路指定情報２０６は、プレーン間クロスバ１０５〜１１２のうち、プロセッサ１１３〜１４４のいずれかからパケット２００を受信したプレーン間クロスバ（以下「受信プレーン間クロスバ」と称する）によって使用される。
【００５０】
第１経路指定情報２０６は、ネットワークプレーン１０１〜１０４のうち、受信プレーン間クロスバからの送信先となるネットワークプレーン（以下「送信先ネットワークプレーン」と称する）を指定するための情報（ルーティングに関する情報）である。
【００５１】
本実施形態では、第１経路指定情報２０６は、受信プレーン間クロスバの出力ポートのうち、送信先ネットワークプレーンと接続している出力ポート（宛先出力ポート）を指定する。
【００５２】
第２経路指定情報２０７は、送信先ネットワークプレーンによって使用される。第２経路指定情報２０７は、プレーン間クロスバ１０５〜１１２のうち、送信先ネットワークプレーンからの送信先となるプレーン間クロスバ（以下「送信先プレーン間クロスバ」と称する）を指定するための情報（ルーティングに関する情報）である。
【００５３】
本実施形態では、第２経路指定情報２０７は、送信先ネットワークプレーンの出力ポートのうち、送信先プレーン間クロスバと接続している出力ポートを指定する。
【００５４】
第３経路指定情報２０８は、送信先プレーン間クロスバによって使用される。第３経路指定情報２０８は、プロセッサ１１３〜１４４のうち、送信先プレーン間クロスバからの送信先となるプロセッサ（以下「送信先プロセッサ」と称する）を指定するための情報（ルーティングに関する情報）である。
【００５５】
本実施形態では、第３経路指定情報２０８は、送信先プレーン間クロスバの出力ポートのうち、送信先プロセッサと接続している出力ポートを指定する。
【００５６】
順序保証フラグ２０２は、パケット２００が、プロセッサ間ネットワーク２内で順序保証が必要なパケットかどうかを示す。
【００５７】
本実施形態では、順序保証フラグ２０２が“１”である場合は、パケット２００は、順序保証が必要なパケットであることを示す。一方、順序保証フラグ２０２が“０”である場合は、パケット２００は、順序保証が必要ないパケットであることを示す。
【００５８】
ラストパケットフラグ２０３は、パケット２００が、１つの通信命令の最後のパケットであるかどうかを示す。
【００５９】
本実施形態では、ラストパケットフラグ２０３が“０”である場合は、パケット２００は、１つの通信命令の最後のパケットでないことを示す。一方、ラストパケットフラグ２０３が“１”である場合は、パケット２００は、１つの通信命令の最後のパケットであることを示す。
【００６０】
パケット長２０４は、データ２０５の長さを指定する。
【００６１】
図３は、プレーン間クロスバ１０５の詳細を示した説明図である。図３において、図１に示したものと同一構成のものには同一符号を付してある。
【００６２】
図３では、図１に示したプレーン間クロスバ１０５を図示しているが、プレーン間クロスバ１０５〜１１２は、接続されるプロセッサが変わるだけで、すべて同一構成である。このため、他のプレーン間クロスバについての説明は省略する。
【００６３】
図３では、プレーン間クロスバ１０５でのネットワークプレーン行き方向のデータパスのみを図示している。なお、プレーン間クロスバ１０５でのプロセッサ行き方向のデータパスは、図４で説明する。
【００６４】
プレーン間クロスバ１０５は、ネットワークプレーン行き方向のデータパスについては、４つの入力ポート３０１〜３０４と、４つの出力ポート３０５〜３０８と、を含む。
【００６５】
出力ポート３０５に番号「０」が付してある。出力ポート３０６に番号「１」が付してある。出力ポート３０７に番号「２」が付してある。出力ポート３０８に番号「３」が付してある。なお、番号は、一般的に識別情報と呼ぶことができる。
【００６６】
４つの入力ポート３０１〜３０４のそれぞれは、プロセッサ１１３〜１１６のいずれかに接続されている。本実施形態では、入力ポート３０１はプロセッサ１１３と接続されている。入力ポート３０２はプロセッサ１１４と接続されている。入力ポート３０３はプロセッサ１１５と接続されている。入力ポート３０４はプロセッサ１１６と接続されている。
【００６７】
４つの出力ポート３０５〜３０８のそれぞれは、ネットワークプレーン１０１〜１０４のいずれかに接続されている。本実施形態では、出力ポート３０５はネットワークプレーン１０１と接続されている。出力ポート３０６はネットワークプレーン１０２と接続されている。出力ポート３０７はネットワークプレーン１０３と接続されている。出力ポート３０８はネットワークプレーン１０４と接続されている。
【００６８】
プレーン間クロスバ１０５は、格納部１０５ａ〜１０５ｄと、制御部１０５ｅと、を含む。
【００６９】
格納部１０５ａ〜１０５ｄのそれぞれは、一般的に格納手段と呼ぶことができる。
【００７０】
格納部１０５ａは、切り替え状態レジスタ３０９と、切り替え先レジスタ３１０と、通常宛先レジスタ３１１と、仕掛中レジスタ３１２と、を含む。格納部１０５ｂは、切り替え状態レジスタ３１３と、切り替え先レジスタ３１４と、通常宛先レジスタ３１５と、仕掛中レジスタ３１６と、を含む。格納部１０５ｃは、切り替え状態レジスタ３１７と、切り替え先レジスタ３１８と、通常宛先レジスタ３１９と、仕掛中レジスタ３２０と、を含む。格納部１０５ｄは、切り替え状態レジスタ３２１と、切り替え先レジスタ３２２と、通常宛先レジスタ３２３と、仕掛中レジスタ３２４と、を含む。
【００７１】
制御部１０５ｅは、一般的に制御手段と呼ぶことができる。
【００７２】
制御部１０５ｅは、マルチプレクサ３２５〜３２８と、制御回路３２９〜３３２と、調停回路３３３〜３３６と、を含む。
【００７３】
調停回路３３３に番号「０」が付してある。調停回路３３４に番号「１」が付してある。調停回路３３５に番号「２」が付してある。調停回路３３６に番号「３」が付してある。
【００７４】
入力ポート３０１は、格納部１０５ａと、制御回路３２９と、に対応づけられている。入力ポート３０２は、格納部１０５ｂと、制御回路３３０と、に対応づけられている。入力ポート３０３は、格納部１０５ｃと、制御回路３３１と、に対応づけられている。入力ポート３０４は、格納部１０５ｄと、制御回路３３２と、に対応づけられている。
【００７５】
出力ポート３０５は、マルチプレクサ３２５と、調停回路３３３と、に対応づけられている。出力ポート３０６は、マルチプレクサ３２６と、調停回路３３４と、に対応づけられている。出力ポート３０７は、マルチプレクサ３２７と、調停回路３３５と、に対応づけられている。出力ポート３０８は、マルチプレクサ３２８と、調停回路３３６と、に対応づけられている。
【００７６】
通常宛先レジスタ３１１、３１５、３１９および３２３のそれぞれは、出力ポート３０５〜３０８（番号「０」〜「３」）のそれぞれについて、その出力ポートに対応する調停回路の番号を格納する。
【００７７】
図３では、切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれの上に記載してある０〜３の番号が、出力ポート３０５〜３０８の番号「０」〜「３」に対応する。
【００７８】
このため、通常宛先レジスタ３１１、３１５、３１９および３２３のそれぞれは、切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれの上に記載されている番号０の列に存在する部分（レジスタ）に、出力ポート３０５に対応する調停回路の番号を格納する。
【００７９】
また、通常宛先レジスタ３１１、３１５、３１９および３２３のそれぞれは、切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれの上に記載されている番号１の列に存在する部分（レジスタ）に、出力ポート３０６に対応する調停回路の番号を格納する。
【００８０】
また、通常宛先レジスタ３１１、３１５、３１９および３２３のそれぞれは、切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれの上に記載されている番号２の列に存在する部分（レジスタ）に、出力ポート３０７に対応する調停回路の番号を格納する。
【００８１】
また、通常宛先レジスタ３１１、３１５、３１９および３２３のそれぞれは、切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれの上に記載されている番号３の列に存在する部分（レジスタ）に、出力ポート３０８に対応する調停回路の番号を格納する。
【００８２】
切り替え先レジスタ３１０、３１４、３１８および３２２のそれぞれは、出力ポート３０５〜３０８（番号「０」〜「３」）のそれぞれについて、その出力ポートから切り替えられる出力ポートに対応する調停回路の番号を格納する。
【００８３】
切り替え先レジスタ３１０、３１４、３１８および３２２のそれぞれは、切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれの上に記載されている番号０の列に存在する部分（レジスタ）に、出力ポート３０５の切り替え先の出力ポートに対応する調停回路の番号を格納する。
【００８４】
切り替え先レジスタ３１０、３１４、３１８および３２２のそれぞれは、切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれの上に記載されている番号１の列に存在する部分（レジスタ）に、出力ポート３０６の切り替え先の出力ポートに対応する調停回路の番号を格納する。
【００８５】
切り替え先レジスタ３１０、３１４、３１８および３２２のそれぞれは、切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれの上に記載されている番号２の列に存在する部分（レジスタ）に、出力ポート３０７の切り替え先の出力ポートに対応する調停回路の番号を格納する。
【００８６】
切り替え先レジスタ３１０、３１４、３１８および３２２のそれぞれは、切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれの上に記載されている番号３の列に存在する部分（レジスタ）に、出力ポート３０８の切り替え先の出力ポートに対応する調停回路の番号を格納する。
【００８７】
本実施形態では、切り替え先レジスタ３１０、３１４、３１８および３２２のそれぞれは、出力ポート３０５〜３０８（番号「０」〜「３」）のそれぞれについて、その出力ポートの番号に１を加えてmod４を計算した値を、切り替え先の出力ポートに対応する調停回路の番号として格納している。
【００８８】
切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれは、出力ポート３０５〜３０８（番号「０」〜「３」）のそれぞれについて、その出力ポートの切り替えの状態を表す切り替え状態情報（「０」〜「３」のいずれか）を格納する。
【００８９】
切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれは、それぞれの上に記載されている番号０の列に存在する部分（レジスタ）に、出力ポート３０５についての切り替え状態情報を格納する。
【００９０】
切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれは、それぞれの上に記載されている番号１の列に存在する部分（レジスタ）に、出力ポート３０６についての切り替え状態情報を格納する。
【００９１】
切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれは、それぞれの上に記載されている番号２の列に存在する部分（レジスタ）に、出力ポート３０７についての切り替え状態情報を格納する。
【００９２】
切り替え状態レジスタ３０９、３１３、３１７および３２１のそれぞれは、それぞれの上に記載されている番号３の列に存在する部分（レジスタ）に、出力ポート３０８についての切り替え状態情報を格納する。
【００９３】
ある出力ポートに接続されているネットワークプレーンに障害が発生していない場合は、その出力ポートを他の出力ポートに切り替える必要がない。出力ポートを切り替えない場合、その出力ポートに対応する切り替え状態情報として「０」が格納される。切り替え状態情報が「０」である場合には、通常宛先レジスタ内の番号が使用される。
【００９４】
ある出力ポートに接続されているネットワークプレーンに障害が発生して他のネットワークプレーンを使用するために、その出力ポートを他の出力ポートに切り替える場合は、切り替え状態情報が、「０」から「１」に変更される。
【００９５】
切り替え状態情報が「１」である場合には、パケット２００が、順序保証が必要なパケットかどうか、および、パケット２００が、順序保証が必要なパケットの何番目のパケットかによって、通常宛先レジスタ内の番号を使うか、切り替え先レジスタ内の番号を使うかが決まる。
【００９６】
使用する番号の決定方法と切り替え状態情報が「１」から「２」になる場合については、あとで図５を使って説明する。
【００９７】
切り替え状態情報が「２」の場合には、必ず、切り替え先レジスタ内の番号が使用される。
【００９８】
プレーン間クロスバ１０５〜１１２の出力ポートのうち、故障が発生したネットワークプレーンに接続されたすべての出力ポートの切り替え状態情報が、「１」から「２」になると、障害が発生したネットワークプレーンは使われなくなる。
【００９９】
この時点で、障害が発生したネットワークプレーンを、並列プロセッサシステム１から切り離すことが可能となる。このため、この時点で、障害が発生したネットワークプレーンについて、保守が行われる。
【０１００】
そして、障害が発生したネットワークプレーンが修理され、再び、並列プロセッサシステム１に組み込まれる。この時点で、障害が発生したネットワークプレーンに接続されていた出力ポートの切り替え状態情報が、「２」から「３」に変更される。
【０１０１】
切り替え状態情報が「３」である場合には、パケット２００が、順序保証が必要なパケットかどうか、および、パケット２００が、順序保証が必要なパケットの何番目のパケットかによって、通常宛先レジスタ内の番号を使うか、切り替え先レジスタ内の番号を使うかが決まる。
【０１０２】
使用する番号の決定方法と切り替え状態情報が「３」から「０」になる場合については、あとで図５を使って説明する。
【０１０３】
図３に示した例は、まだ、障害が発生していない状態を示している。このため、切り替え状態情報は、すべて「０」である。
【０１０４】
仕掛中レジスタ３１２、３１６、３２０および３２４のそれぞれは、自己に対応する入力ポートに接続されたプロセッサが、順序保証が必要な複数のパケットのうち１個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報「１」を格納する。
【０１０５】
順序保証が必要なパケットとは、複数のパケット間のプロセッサ間ネットワーク２内での順序を保証し、送り元プロセッサから送信されたパケットの順序と宛先プロセッサへの到着順序とが同じになることを保証する必要があるパケットである。
【０１０６】
プロセッサ間ネットワーク２内でパケットの順序が逆転すると、エラーが発生したり、宛先プロセッサによるメモリ（不図示）へのデータの書込みの順序を保証できなくなるなどの問題が発生する。
【０１０７】
制御回路３２９〜３３２のそれぞれは、自己に対応する入力ポートから、順序保証が必要な複数のパケットのうち最初に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタに、「１」（通信中情報）を格納する。
【０１０８】
そして、制御回路３２９〜３３２のそれぞれは、自己に対応する入力ポートから、順序保証の必要な複数のパケットのうち最後に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタ内の「１」（通信中情報）を削除して「０」を格納する。
【０１０９】
制御回路３２９〜３３２のそれぞれは、自己に対応する入力ポートから受信したパケット２００が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであるかどうかを、図２に示したラストパケットフラグ２０２の状態を調べて判定する。
【０１１０】
ラストパケットフラグ２０２が“０”である場合、制御回路３２９〜３３２のそれぞれは、パケット２００が、順序保証の必要な複数のパケットのうち最後に送信されたパケットでないと判定する。
【０１１１】
一方、ラストパケットフラグ２０２が“１”である場合、制御回路３２９〜３３２のそれぞれは、パケット２００が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであると判定する。
【０１１２】
また、制御回路３２９〜３３２のそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「０」で、かつ、順序保証が必要なパケット２００が到着した場合、そのパケット２００が、順序保証の必要な複数のパケットのうち最初に送信されたパケットであると判定する。
【０１１３】
制御回路３２９〜３３２のそれぞれは、パケット２００内の第１経路指定情報２０６、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット２００を出力ポート３０５に転送する場合、調停回路３３３に、送信用のリクエストを送信する。
【０１１４】
制御回路３２９〜３３２のそれぞれは、パケット２００内の第１経路指定情報２０６、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット２００を出力ポート３０６に転送する場合、調停回路３３４に、送信用のリクエストを送信する。
【０１１５】
制御回路３２９〜３３２のそれぞれは、パケット２００内の第１経路指定情報２０６、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット２００を出力ポート３０７に転送する場合、調停回路３３５に、送信用のリクエストを送信する。
【０１１６】
制御回路３２９〜３３２のそれぞれは、パケット２００内の第１経路指定情報２０６、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット２００を出力ポート３０８に転送する場合、調停回路３３６に、送信用のリクエストを送信する。
【０１１７】
制御回路３２９〜３３２のそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「１」で、かつ、順序保証が必要なパケット２００が到着した場合、パケット２００の宛先（転送先）となる出力ポートの切り替えを行わない。
【０１１８】
なぜなら、２つのパケットが異なるネットワークプレーンを通ると、プロセッサ間ネットワーク２内での順序保証ができないからである。
【０１１９】
例えば、先に来たパケットが通るネットワークプレーンが混雑していて、後から来たパケットが通るネットワークプレーンが空いていると、宛先となっているプロセッサへの到着順序が逆転してしまう。
【０１２０】
マルチプレクサ３２５〜３２８のそれぞれは、自己と同じ出力ポートに対応する調停回路からの指示に基づいて、４つの入力ポート３０１〜３０４から１つの入力ポートを選択する。マルチプレクサ３２５〜３２８のそれぞれは、その選択された入力ポートからのパケット２００を、自己に対応する出力ポートに転送する。
【０１２１】
調停回路３３３〜３３６のそれぞれは、制御回路３２９〜３３２のいずれかからのリクエストを受信すると、そのリクエストを送信した制御回路に対応する入力ポートを選択する旨の指示を、自己と同じ出力ポートに対応するマルチプレクサに出力する。
【０１２２】
格納部１０５ａ〜１０５ｂのそれぞれは、自己に対応する入力ポートに接続されているプロセッサが、所定の複数のパケット（例えば、順序保証が必要な複数のパケット）のうち１個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する。
【０１２３】
なお、所定の複数のパケットは、順序保証が必要な複数のパケットであることが望ましいが、順序保証が必要な複数のパケットの他に、他のパケットが含まれてもよい。この場合、他のパケットも含めて、順序を保証することができる。
【０１２４】
制御部１０５ｅは、ある１つの入力ポートから、所定の複数のパケットを構成する個々のパケットを受信すると、そのパケットを、転送先として設定されたネットワークプレーンへ転送する。
【０１２５】
制御部１０５ｅは、格納部１０５ａ〜１０５ｂのうち、ある１つの入力ポートに対応する格納部が、通信中情報を格納している状況で、その入力ポートからのパケットの転送先を切り替える旨の切替え指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてを、転送先として設定されたネットワークプレーンへ転送した後、転送先を、複数のネットワークプレーンのうちの他のネットワークプレーンに切り替える。
【０１２６】
図４は、プレーン間クロスバ１０５でのプロセッサ行き方向のデータパスのみを示した説明図である。なお、図４において、図１に示したものと同一構成のものには同一符号を付してある。
【０１２７】
図４では、図１に示したプレーン間クロスバ１０５を図示しているが、プレーン間クロスバ１０５〜１１２は、接続されるプロセッサが変わるだけで、すべて同一構成である。このため、他のプレーン間クロスバについての説明は省略する。
【０１２８】
プレーン間クロスバ１０５は、プロセッサ行き方向のデータパスについては、４つの入力ポート４０１〜４０４と、４つの出力ポート４０５〜４０８と、を含む。
【０１２９】
また、プレーン間クロスバ１０５は、マルチプレクサ４０９〜４１２と、制御回路４１３〜４１６と、調停回路４１７〜４２０と、を含む。
【０１３０】
本実施形態では、調停回路４１７に番号「４」が付してある。調停回路４１８に番号「５」が付してある。調停回路４１９に番号「６」が付してある。調停回路４２０に番号「７」が付してある。
【０１３１】
４つの入力ポート４０１〜４０４のそれぞれは、ネットワークプレーン１０１〜１０４のいずれかに接続されている。本実施形態では、入力ポート４０１はネットワークプレーン１０１と接続されている。入力ポート４０２はネットワークプレーン１０２と接続されている。入力ポート４０３はネットワークプレーン１０３と接続されている。入力ポート４０４はネットワークプレーン１０４と接続されている。
【０１３２】
入力ポート４０１は、制御回路４１３に対応づけられている。入力ポート４０２は、制御回路４１４に対応づけられている。入力ポート４０３は、制御回路４１５に対応づけられている。入力ポート４０４は、制御回路４１６に対応づけられている。
【０１３３】
４つの出力ポート４０５〜４０８のそれぞれは、プロセッサ１１３〜１１６のいずれかに接続されている。本実施形態では、出力ポート４０５はプロセッサ１１３と接続されている。出力ポート４０６はプロセッサ１１４と接続されている。出力ポート４０７はプロセッサ１１５と接続されている。出力ポート４０８はプロセッサ１１６と接続されている。
【０１３４】
出力ポート４０５は、マルチプレクサ４０９と、調停回路４１７と、に対応づけられている。出力ポート４０６は、マルチプレクサ４１０と、調停回路４１８と、に対応づけられている。出力ポート４０７は、マルチプレクサ４１１と、調停回路４１９と、に対応づけられている。出力ポート４０８は、マルチプレクサ４１２と、調停回路４２０と、に対応づけられている。
【０１３５】
制御回路４１３〜４１６のそれぞれは、自己に対応する入力ポートからのパケット２００を、パケット２００内の第３経路指定情報２０８に従って出力ポート４０５に転送する場合、調停回路４１７に、送信用のリクエストを送信する。
【０１３６】
制御回路４１３〜４１６のそれぞれは、自己に対応する入力ポートからのパケット２００を、パケット２００内の第３経路指定情報２０８に従って出力ポート４０６に転送する場合、調停回路４１８に、送信用のリクエストを送信する。
【０１３７】
制御回路４１３〜４１６のそれぞれは、自己に対応する入力ポートからのパケット２００を、パケット２００内の第３経路指定情報２０８に従って出力ポート４０７に転送する場合、調停回路４１９に、送信用のリクエストを送信する。
【０１３８】
制御回路４１３〜４１６のそれぞれは、自己に対応する入力ポートからのパケット２００を、パケット２００内の第３経路指定情報２０８に従って出力ポート４０８に転送する場合、調停回路４２０に、送信用のリクエストを送信する。
【０１３９】
マルチプレクサ４０９〜４１２のそれぞれは、自己と同じ出力ポートに対応する調停回路からの指示に基づいて、４つの入力ポート４０１〜４０４から１つの入力ポートを選択する。マルチプレクサ４０９〜４１２のそれぞれは、その選択された入力ポートからのパケット２００を、自己に対応する出力ポートに転送する。
【０１４０】
調停回路４１７〜４２０のそれぞれは、制御回路４１３〜４１６のいずれかからのリクエストを受信すると、そのリクエストを送信した制御回路に対応する入力ポートを選択する旨の指示を、自己と同じ出力ポートに対応するマルチプレクサに出力する。
【０１４１】
次に、動作を説明する。
【０１４２】
図５は、プレーン間クロスバでのネットワークプレーン行き方向のデータパスでの処理を説明するためのフローチャートである。
【０１４３】
以下では、プロセッサ１１３が、入力ポート３０１に、パケット２００を送信した場合を例にとって説明する。なお、他のプロセッサがパケット２００を送信した場合では、パケット２００が入力される入力ポートと、処理を実行する制御回路と、使用される格納部とが、異なるだけなので、その説明は省略する。
【０１４４】
制御回路３２９は、入力ポート３０１からパケット２００を受信すると、まず、パケット２００内の第１経路指定情報２０６で示された宛先出力ポートを確認し、切り替え状態レジスタ３０９内の切り替え状態情報のうち、その宛先出力ポートに対応する切り替え状態情報（以下、「対応切り替え状態情報」と称する）を調べる（ステップ５０１）。
【０１４５】
まず、対応切り替え状態情報が「０」か「２」である場合、つまり、ステップ５０２の場合には、制御回路３２９は、パケット２００が順序保証を必要とするパケットかどうかを調べる（ステップ５０３）。
【０１４６】
パケット２００の順序保証フラグ２０２が“１”の場合、つまり、ステップ５０４の場合、制御回路３２９は、仕掛中レジスタ３１２の値を調べる（ステップ５０５）。
【０１４７】
仕掛中レジスタ３１２が「１」を格納している場合、つまり、ステップ５０６の場合には、制御回路３２９は、パケット２００のラストパケットフラグ２０３を調べる（ステップ５０７）。
【０１４８】
そして、ラストパケットフラグ２０３が、“１”すなわち最後のパケットであることを示している場合、つまり、ステップ５０８の場合は、制御回路３２９は、仕掛中レジスタ３１２の値を「１」から「０」に変更する（ステップ５０９）。
【０１４９】
ラストパケットフラグ２０３が、“０”すなわち最後のパケットでないことを示している場合、つまり、ステップ５１０の場合は、制御回路３２９は、仕掛中レジスタ３１２の値を変更しない。
【０１５０】
仕掛中レジスタ３１２が「０」を格納している場合、つまり、ステップ５１１の場合は、順序保証が必要な複数のパケットの最初のパケットが到着したことを意味する。このため、制御回路３２９は、仕掛中レジスタ３１２に「１」を格納する（ステップ５１２）。
【０１５１】
パケット２００の順序保証フラグ２０２が“０”である場合、つまり、ステップ５１３の場合は、制御回路３２９は、仕掛中レジスタ３１２の値を変更しない。
【０１５２】
制御回路３２９は、ステップ５０９、５１０、５１２または５１３に続いて、対応切り替え状態情報が、「０」なのか「２」なのかを調べる（ステップ５１４）。
【０１５３】
対応切り替え状態情報が「０」である場合、つまり、ステップ５１５の場合は、制御回路３２９は、通常宛先レジスタ３１１内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る（ステップ５１６）。
【０１５４】
対応切り替え状態情報が「２」である場合、つまり、ステップ５１７の場合は、制御回路３２９は、切り替え先レジスタ３１０内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る（ステップ５１８）。
【０１５５】
次に、対応切り替え状態情報が「１」である場合、つまり、ステップ５１９の場合は、宛先出力ポートに接続されたネットワークプレーンに障害が発生し、制御回路３２９が、転送先の切替え指示を受け付け、対応切り替え状態情報に「１」を格納した状態である。
【０１５６】
この場合、制御回路３２９は、まず、パケット２００が順序保証を必要とするパケットかどうかを調べる（ステップ５２０）。
【０１５７】
パケット２００の順序保証フラグ２０２が“１”である場合、つまり、ステップ５２１の場合、制御回路３２９は、仕掛中レジスタ３１２の値を調べる（ステップ５２２）。
【０１５８】
仕掛中レジスタ３１２が「１」を格納している場合、つまり、ステップ５２３の場合には、制御回路３２９は、パケット２００のラストパケットフラグ２０３を調べる（ステップ５２４）。
【０１５９】
そして、ラストパケットフラグ２０３が、“１”すなわち最後のパケットであることを示している場合、つまり、ステップ５２５の場合は、制御回路３２９は、仕掛中レジスタ３１２の値を「１」から「０」に変更する（ステップ５２６）。
【０１６０】
続いて、制御回路３２９は、通常宛先レジスタ３１１内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る（ステップ５２７）。
【０１６１】
ラストパケットフラグ２０３が、“０”すなわち最後のパケットでないことを示している場合、つまり、ステップ５２８の場合は、制御回路３２９は、仕掛中レジスタ３１２の値を変更せずに、ステップ５２７を実行する。
【０１６２】
仕掛中レジスタ３１２が「０」を格納している場合、つまり、ステップ５２９の場合は、順序保証が必要な複数のパケットの最初のパケットが到着したことを意味する。このため、制御回路３２９は、順序保証が必要な複数のパケットのすべてを、切り替え先のネットワークプレーンに送ることができる。
【０１６３】
したがって、制御回路３２９は、対応切り替え状態情報を「１」から「２」に変更し（ステップ５３０）、仕掛中レジスタ３１２に「１」を格納する（ステップ５３１）。
【０１６４】
続いて、制御回路３２９は、切り替え先レジスタ３１０内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る（ステップ５３２）。
【０１６５】
パケット２００の順序保証フラグ２０２が“０”である場合、つまり、ステップ５３３の場合は、制御回路３２９は、ステップ５３２を実行する。
【０１６６】
最後に、対応切り替え状態情報が「３」である場合、つまり、ステップ５３４の場合は、宛先出力ポートに接続されているネットワークプレーンが復旧され、そのネットワークプレーンが利用できる状態である。
【０１６７】
この場合、制御回路３２９は、まず、パケット２００が順序保証を必要とするパケットかどうかを調べる（ステップ５３５）。
【０１６８】
パケット２００の順序保証フラグ２０２が“１”である場合、つまり、ステップ５３６の場合、制御回路３２９は、仕掛中レジスタ３１２の値を調べる（ステップ５３７）。
【０１６９】
仕掛中レジスタ３１２が「１」を格納している場合、つまり、ステップ５３８の場合には、制御回路３２９は、パケット２００のラストパケットフラグ２０３を調べる（ステップ５３９）。
【０１７０】
そして、ラストパケットフラグ２０３が、“１”すなわち最後のパケットであることを示している場合、つまり、ステップ５４０の場合は、制御回路３２９は、仕掛中レジスタ３１２の値を「１」から「０」に変更する（ステップ５４１）。
【０１７１】
続いて、制御回路３２９は、切り替え先レジスタ３１０内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る（ステップ５４２）。
【０１７２】
ラストパケットフラグ２０３が、“０”すなわち最後のパケットでないことを示している場合、つまり、ステップ５４３の場合は、制御回路３２９は、仕掛中レジスタ３１２の値を変更せずに、ステップ５４２を実行する。
【０１７３】
仕掛中レジスタ３１２が「０」を格納している場合、つまり、ステップ５４４の場合は、順序保証が必要な複数のパケットの最初のパケットが到着したことを意味する。このため、制御回路３２９は、順序保証が必要な複数のパケットのすべてを、通常の宛先のネットワークプレーンに送ることができる。
【０１７４】
したがって、制御回路３２９は、対応切り替え状態情報を「３」から「０」に変更し（ステップ５４５）、仕掛中レジスタ３１２に「１」を格納する（ステップ５４６）。
【０１７５】
続いて、制御回路３２９は、通常宛先レジスタ３１１内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る（ステップ５４７）。
【０１７６】
パケット２００の順序保証フラグ２０２が“０”である場合、つまり、ステップ５４８の場合は、制御回路３２９は、ステップ５４７を実行する。
【０１７７】
次に、図６Ａ〜６Ｅを用いて、本発明の実施の形態のプレーン間クロスバの動作について説明する。図６Ａ〜６Ｅにおいて、図３に示したものと同一構成のものには同一符号を付してある。
【０１７８】
図６Ａは、ネットワークプレーン１０２に障害が発生する直前の状態を示した説明図である。切り替え状態レジスタ３０９、３１３、３１７および３２１のすべては、切り替え状態情報として、「０」を格納している。
【０１７９】
図６Ｂは、ネットワークプレーン１０２に障害が発生した直後の状態を示した説明図である。切り替え状態レジスタ３０９、３１３、３１７および３２１のすべてにおいて、出力ポート３０６（番号「１」）に対応するレジスタ６０１〜６０４が、切り替え状態情報として「１」を格納している。
【０１８０】
図６Ｃは、入力ポート３０１および３０３にパケットが到着して処理される状況を示した説明図である。
【０１８１】
まず、プロセッサ１１３から、順序保証が必要な、出力ポート３０６宛のパケット６０５が、入力ポート３０１に到着する。
【０１８２】
このとき、入力ポート３０１に対応する仕掛中レジスタ３１２は「１」を格納している。このため、切り替え状態レジスタ３０９内のレジスタ６０１が「１」を格納していても、制御回路３２９は、通常宛先レジスタ３１１内の番号の中から、出力ポート３０６に対応する番号「１」６０６を特定し、その番号「１」が付与されている調停回路３３４にリクエストを送って、ネットワークプレーン１０２にパケット６０５を送る。
【０１８３】
次に、プロセッサ１１５から、順序保証が必要な、出力ポート３０６宛のパケット６０７が、入力ポート３０３に到着する。
【０１８４】
このとき、入力ポート３０３に対応する仕掛中レジスタ３２０は「０」を格納している。このため、制御回路３３１は、パケット６０７が、順序保証が必要な複数のパケットの最初のパケットであると判定する。
【０１８５】
したがって、制御回路３３１は、切り替え状態レジスタ３１７内のレジスタ６０３の値を「１」から「２」に変更し、仕掛中レジスタ３２０の値を「０」から「１」に変更し、切り替え先レジスタ３１８内の番号の中から、出力ポート３０６に対応する番号「２」６０８を特定し、その番号「２」が付与されている調停回路３３５にリクエストを送って、ネットワークプレーン１０３にパケット６０７を送る。
【０１８６】
図６Ｄは、障害が発生して切り離されていたネットワークプレーン１０２が復旧した直後の状態を示した説明図である。切り替え状態レジスタ３０９、３１３、３１７および３２１のすべてにおいて、出力ポート３０６（番号「１」）に対応するレジスタ６０１〜６０４が、切り替え状態情報として「３」を格納している。
【０１８７】
図６Ｅは、入力ポート３０１および３０４にパケットが到着して処理される状況を示した説明図である。
【０１８８】
まず、プロセッサ１１３から、順序保証が必要な、出力ポート３０６宛のパケット６０９が、入力ポート３０１に到着する。
【０１８９】
このとき、入力ポート３０１に対応する仕掛中レジスタ３１２は「０」を格納している。このため、制御回路３２９は、パケット６０９が、順序保証が必要な複数のパケットの最初のパケットであると判定する。
【０１９０】
したがって、制御回路３２９は、切り替え状態レジスタ３０９内のレジスタ６０１の値を「３」から「０」に変更し、仕掛中レジスタ３１２の値を「０」から「１」に変更し、通常宛先レジスタ３１１内の番号の中から、出力ポート３０６に対応する番号「１」６０６を特定し、その番号「１」が付与されている調停回路３３４にリクエストを送って、ネットワークプレーン１０２にパケット６０９を送る。
【０１９１】
次に、プロセッサ１１６から、順序保証が必要な、出力ポート３０６宛の最後のパケット６１０が、入力ポート３０４に到着する。
【０１９２】
このとき、入力ポート３０４に対応する仕掛中レジスタ３２４は「１」を格納している。このため、制御回路３３２は、仕掛中レジスタ３２４の値を「１」から「０」に変更し、切り替え先レジスタ３２２内の番号の中から、出力ポート３０６に対応する番号「２」６１１を特定し、その番号「２」が付与されている調停回路３３５にリクエストを送って、ネットワークプレーン１０３にパケット６１０を送る。
【０１９３】
本実施形態によれば、格納部１０５ａ〜１０５ｂのそれぞれは、自己に対応する入力ポートに接続されているプロセッサが、所定の複数のパケットのうち１個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する。
【０１９４】
制御部１０５ｅは、ある１つの入力ポートから、所定の複数のパケットを構成する個々のパケットを受信すると、そのパケットを、転送先として設定されたネットワークプレーンへ転送する。
【０１９５】
制御部１０５ｅは、格納部１０５ａ〜１０５ｂのうち、ある１つの入力ポートに対応する格納部が通信中情報を格納している状況で、その入力ポートからのパケットの転送先を切り替える旨の切替え指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてが、転送先として設定されたネットワークプレーンへ転送された後、転送先を、複数のネットワークプレーンのうちの他のネットワークプレーンに切り替える。
【０１９６】
このため、切替え指示が受け付けられても、１つのプロセッサから送信される所定の複数のパケットのすべてを同一のネットワークプレーンに転送することが可能になる。よって、所定の複数のパケットの順番を保証することが可能になる。
【０１９７】
本実施形態では、所定の複数のパケットとして、順序保証が必要な複数のパケットが用いられる。この場合、順序保証が必要な複数のパケットについて、順番を保証することが可能になる。
【０１９８】
本実施形態では、制御部１０５ｅは、転送先が他のネットワークプレーンに切り替えられており、かつ、格納部１０５ａ〜１０５ｂのうち、ある１つの入力ポートに対応する格納部が通信中情報を格納している状況で、通信経路を元のネットワークプレーンに切り替える旨の指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてが他のネットワークプレーンへ転送された後、転送先を、他のネットワークプレーンから元のネットワークプレーンに切り替える。
【０１９９】
この場合、例えば、故障したネットワークプレーンが修理された後に復帰した場合でも、１つのプロセッサから送信される所定の複数のパケットを同一のネットワークプレーンに転送することが可能になる。よって、所定の複数のパケットの順番を保証することが可能になる。
【０２００】
本実施形態では、複数の通信経路として、互いに直接接続されていない独立した複数の部分ネットワーク（ネットワークプレーン）が用いられている。
【０２０１】
この場合、複数の通信経路として、複数の部分ネットワークが用いられている場合に、複数のパケットの順番を保証することが可能になる。
【０２０２】
本実施形態では、プロセッサ間ネットワーク２は、複数のネットワークプレーン１０１〜１０４と、少なくとも１つのプレーン間クロスバと、を含む。この場合、プロセッサ間ネットワーク２において、複数のパケットの順番を保証することが可能になる。
【０２０３】
本実施形態では、並列プロセッサシステム１は、複数のプロセッサ１１３〜１４４と、プロセッサ間ネットワーク２と、を含む。この場合、並列プロセッサシステム１において、複数のパケットの順番を保証することが可能になる。
【０２０４】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照して説明する。
【０２０５】
第２の実施の形態の並列プロセッサシステム１の構成は、各プレーン間クロスバ内の各格納部内のレジスタの構成が簡略化されている点を除いて、第１の実施の形態の図１と同じである。
【０２０６】
第２の実施の形態では、各格納部内の各レジスタの構成が簡略化されているプレーン間クロスバ１０５Ａ〜１１２Ａを、プレーン間クロスバ１０５〜１１２の代わりに用いる。
【０２０７】
第２の実施の形態では、通常の場合のパケットの出力先は、プレーン間クロスバの各入力ポートに応じて予め決められている。つまり、プロセッサによって、通常時に使用するネットワークプレーンが決まっている。
【０２０８】
すべてのネットワークプレーン１０１〜１０４は、すべてのプレーン間クロスバ１０５Ａ〜１１２Ａに接続されている。このため、プレーン間クロスバ１０５Ａ〜１１２Ａのそれぞれは、どのネットワークプレーンを使っても、送信先のプレーン間クロスバ、さらに言えば、宛先のプロセッサにパケットを送信することができる。
【０２０９】
図７は、第２の実施の形態で用いるパケット７００の形式を説明するための説明図である。なお、図７において、図２に示したものと同一情報のものには同一符号を付してある。
【０２１０】
パケット７００は、プロセッサ１１３〜１４４のそれぞれによって生成される。本実施形態では、プロセッサ１１３〜１４４のそれぞれは、送信用データを分割することによって、複数のパケット７００を生成する。プロセッサ１１３〜１４４のそれぞれは、個々のパケット７００を、１つずつ順番に、プロセッサ間ネットワーク２に送信する。
【０２１１】
パケット７００は、経路指定情報７０１、順序保証フラグ２０２、ラストパケットフラグ２０３、パケット長２０４、および、データ２０５から構成される。
【０２１２】
経路指定情報７０１は、プロセッサ間ネットワーク２でのルーティングに用いられる。経路指定情報７０１は、第２経路指定情報２０７と、第３経路指定情報２０８と、を含む。
【０２１３】
本実施形態では、プレーン間クロスバ１０５Ａ〜１１２Ａでのネットワークプレーン行き方向のルーティングは、すでに決められている。このため、プレーン間クロスバ１０５Ａ〜１１２Ａでのネットワークプレーン行き方向を指定するルーティング情報は、パケット７００には付加されていない。
【０２１４】
図８は、プレーン間クロスバ１０５Ａの詳細を示した説明図である。図８において、図３に示したものと同一構成のものには同一符号を付してある。
【０２１５】
図８では、プレーン間クロスバ１０５Ａを図示しているが、プレーン間クロスバ１０５Ａ〜１１２Ａは、接続されるプロセッサが変わるだけで、すべて同一構成である。このため、他のプレーン間クロスバについての説明は省略する。
【０２１６】
図８では、プレーン間クロスバ１０５Ａでのネットワークプレーン行き方向のデータパスのみを図示している。なお、プレーン間クロスバ１０５Ａでのプロセッサ行き方向のデータパスは、第１の実施の形態において図４で示した構成と同じである。
【０２１７】
以下では、プレーン間クロスバ１０５Ａについて、プレーン間クロスバ１０５と異なる点を中心に説明を行う。
【０２１８】
プレーン間クロスバ１０５Ａは、格納部１０５ａＡ〜１０５ｄＡと、制御部１０５ｅＡと、を含む。
【０２１９】
格納部１０５ａＡ〜１０５ｄＡのそれぞれは、一般的に格納手段と呼ぶことができる。
【０２２０】
格納部１０５ａＡは、切り替え状態レジスタ８０１と、切り替え先レジスタ８０２と、通常宛先レジスタ８０３と、仕掛中レジスタ８０４と、を含む。格納部１０５ｂＡは、切り替え状態レジスタ８０５と、切り替え先レジスタ８０６と、通常宛先レジスタ８０７と、仕掛中レジスタ８０８と、を含む。格納部１０５ｃＡは、切り替え状態レジスタ８０９と、切り替え先レジスタ８１０と、通常宛先レジスタ８１１と、仕掛中レジスタ８１２と、を含む。格納部１０５ｄＡは、切り替え状態レジスタ８１３と、切り替え先レジスタ８１４と、通常宛先レジスタ８１５と、仕掛中レジスタ８１６と、を含む。
【０２２１】
制御部１０５ｅＡは、一般的に制御手段と呼ぶことができる。
【０２２２】
制御部１０５ｅＡは、マルチプレクサ３２５〜３２８と、制御回路３２９Ａ〜３３２Ａと、調停回路３３３〜３３６と、を含む。
【０２２３】
入力ポート３０１は、格納部１０５ａＡと、制御回路３２９Ａと、に対応づけられている。入力ポート３０２は、格納部１０５ｂＡと、制御回路３３０Ａと、に対応づけられている。入力ポート３０３は、格納部１０５ｃＡと、制御回路３３１Ａと、に対応づけられている。入力ポート３０４は、格納部１０５ｄＡと、制御回路３３２Ａと、に対応づけられている。
【０２２４】
通常宛先レジスタ８０３、８０７、８１１および８１５のそれぞれは、自己に対応する入力ポートにより決定される出力ポート（以下「対応出力ポート」と称する）と対応する調停回路の番号を格納する。
【０２２５】
通常宛先レジスタ８０３は、番号「０」を格納する。通常宛先レジスタ８０７は、番号「１」を格納する。通常宛先レジスタ８１１は、番号「２」を格納する。通常宛先レジスタ８１５は、番号「３」を格納する。
【０２２６】
切り替え先レジスタ８０２、８０６、８１０および８１４のそれぞれは、対応出力ポートから切り替えられる出力ポートの番号を格納する。
【０２２７】
切り替え先レジスタ８０２、８０６、８１０および８１４のそれぞれは、対応出力ポートの番号に１を加えてmod４を計算した値を、切り替え先の出力ポートに対応する調停回路の番号として格納している。
【０２２８】
切り替え状態レジスタ８０１、８０５、８０９および８１３のそれぞれは、対応出力ポートの切り替えの状態を表す切り替え状態情報（「０」〜「３」のいずれか）を格納する。
【０２２９】
ある出力ポートに接続されているネットワークプレーンに障害が発生していない場合は、その出力ポートを他の出力ポートに切り替える必要がない。出力ポートを切り替えない場合、その出力ポートに対応する切り替え状態情報として「０」が格納される。切り替え状態情報が「０」である場合には、通常宛先レジスタ内の番号が使用される。
【０２３０】
ある出力ポートに接続されているネットワークプレーンに障害が発生して他のネットワークプレーンを使用するために、その出力ポートを他の出力ポートに切り替える場合は、切り替え状態情報が、「０」から「１」に変更される。
【０２３１】
切り替え状態情報が「１」である場合には、パケット７００が、順序保証が必要なパケットかどうか、および、パケット７００が、順序保証が必要なパケットの何番目のパケットかによって、通常宛先レジスタ内の番号を使うか、切り替え先レジスタ内の番号を使うかが決まる。
【０２３２】
第２の実施の形態において、使用する番号の決定方法と切り替え状態情報が「１」から「２」になる場合の動作は、図５を用いて説明した第１の実施の形態の動作と同じである。
【０２３３】
切り替え状態情報が「２」の場合には、必ず、切り替え先レジスタ内の番号が使用される。
【０２３４】
プレーン間クロスバ１０５Ａ〜１１２Ａの出力ポートのうち、故障が発生したネットワークプレーンに接続されたすべての出力ポートの切り替え状態情報が、「１」から「２」になると、障害が発生したネットワークプレーンは使われなくなる。
【０２３５】
この時点で、障害が発生したネットワークプレーンを、並列プロセッサシステム１から切り離すことが可能となる。このため、この時点で、障害が発生したネットワークプレーンについて、保守が行われる。
【０２３６】
そして、障害が発生したネットワークプレーンが修理され、再び、並列プロセッサシステム１に組み込まれる。この時点で、障害が発生したネットワークプレーンに接続されていた出力ポートの切り替え状態情報が、「２」から「３」に変更される。
【０２３７】
切り替え状態情報が「３」である場合には、パケット７００が、順序保証が必要なパケットかどうか、および、パケット７００が、順序保証が必要なパケットの何番目のパケットかによって、通常宛先レジスタ内の番号を使うか、切り替え先レジスタ内の番号を使うかが決まる。
【０２３８】
第２の実施の形態において、使用する番号の決定方法と切り替え状態情報が「３」から「０」になる場合の動作は、図５を用いて説明した第１の実施の形態の動作と同じである。
【０２３９】
図８に示した例は、まだ、障害が発生していない状態を示している。このため、切り替え状態情報は、すべて「０」である。
【０２４０】
仕掛中レジスタ８０４、８０８、８１２および８１６のそれぞれは、自己に対応する入力ポートに接続されたプロセッサが、順序保証が必要な複数のパケットのうち１個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報「１」を格納する。
【０２４１】
プロセッサ間ネットワーク２内でパケットの順序が逆転すると、エラーが発生したり、宛先プロセッサによるメモリ（不図示）へのデータの書込みの順序を保証できなくなるなどの問題が発生する。
【０２４２】
制御回路３２９Ａ〜３３２Ａのそれぞれは、自己に対応する入力ポートから、順序保証が必要な複数のパケットのうち最初に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタに、「１」（通信中情報）を格納する。
【０２４３】
そして、制御回路３２９Ａ〜３３２Ａのそれぞれは、自己に対応する入力ポートから、順序保証の必要な複数のパケットのうち最後に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタ内の「１」（通信中情報）を削除して「０」を格納する。
【０２４４】
制御回路３２９Ａ〜３３２Ａのそれぞれは、自己に対応する入力ポートから受信したパケット７００が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであるかどうかを、図７に示したラストパケットフラグ２０２の状態を調べて判定する。
【０２４５】
ラストパケットフラグ２０２が“０”である場合、制御回路３２９Ａ〜３３２Ａのそれぞれは、パケット７００が、順序保証の必要な複数のパケットのうち最後に送信されたパケットでないと判定する。
【０２４６】
一方、ラストパケットフラグ２０２が“１”である場合、制御回路３２９Ａ〜３３２Ａのそれぞれは、パケット７００が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであると判定する。
【０２４７】
また、制御回路３２９Ａ〜３３２Ａのそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「０」で、かつ、順序保証が必要なパケット７００が到着した場合、そのパケット７００が、順序保証の必要な複数のパケットのうち最初に送信されたパケットであると判定する。
【０２４８】
制御回路３２９Ａ〜３３２Ａのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット７００を出力ポート３０５に転送する場合、調停回路３３３に、送信用のリクエストを送信する。
【０２４９】
制御回路３２９Ａ〜３３２Ａのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット７００を出力ポート３０６に転送する場合、調停回路３３４に、送信用のリクエストを送信する。
【０２５０】
制御回路３２９Ａ〜３３２Ａのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット７００を出力ポート３０７に転送する場合、調停回路３３５に、送信用のリクエストを送信する。
【０２５１】
制御回路３２９Ａ〜３３２Ａのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット７００を出力ポート３０８に転送する場合、調停回路３３６に、送信用のリクエストを送信する。
【０２５２】
制御回路３２９Ａ〜３３２Ａのそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「１」で、かつ、順序保証が必要なパケット７００が到着した場合、パケット７００の宛先（転送先）となる出力ポートの切り替えを行わない。
【０２５３】
なぜなら、２つのパケットが異なるネットワークプレーンを通ると、プロセッサ間ネットワーク２内での順序保証ができないからである。
【０２５４】
例えば、先に来たパケットが通るネットワークプレーンが混雑していて、後から来たパケットが通るネットワークプレーンが空いていると、宛先となっているプロセッサへの到着順序が逆転してしまう。
【０２５５】
調停回路３３３〜３３６のそれぞれは、制御回路３２９Ａ〜３３２Ａのいずれかからのリクエストを受信すると、そのリクエストを送信した制御回路に対応する入力ポートを選択する旨の指示を、自己と同じ出力ポートに対応するマルチプレクサに出力する。
【０２５６】
格納部１０５ａＡ〜１０５ｂＡのそれぞれは、自己に対応する入力ポートに接続されているプロセッサが、所定の複数のパケット（例えば、順序保証が必要な複数のパケット）のうち１個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する。
【０２５７】
なお、所定の複数のパケットは、順序保証が必要な複数のパケットであることが望ましいが、順序保証が必要な複数のパケットの他に、他のパケットが含まれてもよい。この場合、他のパケットも含めて、順序を保証することができる。
【０２５８】
制御部１０５ｅＡは、ある１つの入力ポートから、所定の複数のパケットを構成する個々のパケットを受信すると、そのパケットを、転送先として設定されたネットワークプレーンへ転送する。
【０２５９】
制御部１０５ｅＡは、格納部１０５ａＡ〜１０５ｂＡのうち、ある１つの入力ポートに対応する格納部が、通信中情報を格納している状況で、その入力ポートからのパケットの転送先を切り替える旨の切替え指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてが、転送先として設定されたネットワークプレーンへ転送された後、転送先を、複数のネットワークプレーンのうちの他のネットワークプレーンに切り替える。
【０２６０】
本実施形態によれば、通常時に使用する出力ポート、つまり、ネットワークプレーンが、プレーン間クロスバ１０５にて決定されている。このため、第１の実施の形態と同様の効果を奏すると共に、パケットに第１経路指定情報２０６を記載する必要がなくなる。
【０２６１】
次に、上記各実施の形態の効果を説明する。
【０２６２】
上記各実施の形態によれば、プレーン間クロスバが、プロセッサごとに、プロセッサが、順序保証が必要な複数のパケットのうち１個以上のパケットを通信済みで、かつ、最後のパケットがまだ通信されていないかどうかを記憶しており、最後のパケットが通信されてから、パケットの転送先を、障害が発生した部分ネットワークから予め決められた他の部分ネットワークに切り替える。
【０２６３】
このため、パケットの転送先を、障害が発生した部分ネットワークから予め決められた他の部分ネットワークに切り替える際に、順序保証が必要な複数のパケットの順序を保証することができる。
【０２６４】
また、障害が発生した部分ネットワークへ送られる予定であったパケットは、予め決められた他の部分ネットワークに送られる。このため、部分ネットワークを切り替えた場合の通信性能への影響を予測することが可能になる。
【０２６５】
以上、各実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２６６】
この出願は、２００８年１１月２１日に出願された日本出願特願２００８−２９７９８１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０２６７】
１０１〜１０４  ネットワークプレーン
１０５〜１１２  プレーン間クロスバ
１１３〜１４４  プロセッサ
１４５〜１４７  クロスバ
１０５ａ〜１０５ｄ、１０５ａＡ〜１０５ｄＡ  格納部
１０５ｅ、１０５ｅＡ  制御部
２００、７００  パケット
２０１、７０１  経路指定情報
２０２  順序保証フラグ
２０３  ラストパケットフラグ
２０４  パケット長
２０５  データ
２０６  第１経路指定情報
２０７  第２経路指定情報
２０８  第３経路指定情報
３０１〜３０４  入力ポート
３０５〜３０８  出力ポート
３０９、３１３、３１７、３２１、８０１、８０５、８０９、８１３  切り替え状態レジスタ
３１０、３１４、３１８、３２２、８０２、８０６、８１０、８１４  切り替え先レジスタ
３１１、３１５、３１９、３２３、８０３、８０７、８１１、８１５  通常宛先レジスタ
３１２、３１６、３２０、３２４、８０４、８０８、８１２、８１６  仕掛中レジスタ
３２５〜３２８  マルチプレクサ
３２９〜３３２、３２９Ａ〜３３２Ａ  制御回路
３３３〜３３６  調停回路
４０１〜４０４  入力ポート
４０５〜４０８  出力ポート
４０９〜４１２  マルチプレクサ
４１３〜４１６  制御回路
４１７〜４２０  調停回路
６０１〜６０４  レジスタ
６０５、６０７、６０９、６１０  パケット
６０６、６０８、６１１  番号
【図１】
2010058693.tif 000003
【図２】
2010058693.tif 000004
【図３】
2010058693.tif 000005
【図４】
2010058693.tif 000006
【図５】
2010058693.tif 000007
【図６Ａ】
2010058693.tif 000008
【図６Ｂ】
2010058693.tif 000009
【図６Ｃ】
2010058693.tif 000010
【図６Ｄ】
2010058693.tif 000011
【図６Ｅ】
2010058693.tif 000012
【図７】
2010058693.tif 000013
【図８】
2010058693.tif 000014
【国際調査報告】
2010058693.tif 000015
2010058693.tif 000016