(57)【要約】【課題】ネットワーク構成のマルチプロセッサシステムにおいて、当該ネットワークを高効率に運用する。【解決手段】入力データを供給する入力側のプロセッサバスと、この入力側のプロセッサバスに接続された第１のプロセッサ群と、この第１のプロセッサ群とネットワークを介して接続され、前記第１のプロセッサ群により処理されたデータが転送される第２のプロセッサ群と、この第２のプロセッサ群が接続され、前記第２のプロセッサ群により処理された処理データを出力する出力側のプロセッサバスと、前記入力側及び出力側のプロセッサバスにそれぞれ接続され、対応するプロサッセバスに接続されたプロセッサ群の異常情報を記録する入力側及び出力側のレジスタとを備え、前記第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群の異常情報を記録したレジスタの異常情報を他方のレジスタに通知するようにした。【選択図】        図１
2004206339.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサをネットワークを介して接続するマルチプロセッサシステムにおいて、入力データを供給する入力側のプロセッサバスと、この入力側のプロセッサバスに接続された第１のプロセッサ群と、この第１のプロセッサ群とネットワークを介して接続され、前記第１のプロセッサ群により処理されたデータが転送される第２のプロセッサ群と、この第２のプロセッサ群が接続され、前記第２のプロセッサ群により処理された処理データを出力する出力側のプロセッサバスと、前記入力側及び出力側のプロセッサバスにそれぞれ接続され、対応するプロサッセバスに接続されたプロセッサ群の異常情報を記録する入力側及び出力側のレジスタと、これら入力側及び出力側のレジスタを相互に接続し、前記第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群の異常情報を記録したレジスタの異常情報を他方のレジスタに通知する共有伝送路とを備えたことを特徴とするマルチプロセッサシステム。
【請求項２】
前記入力側及び出力側のプロセッサバスに前記ネットワークと接続する予備プロセッサをそれぞれ接続し、前記第１又は第２のプロセッサ群に異常が発生したときに、当該異常が発生したプロセッサの処理を停止させ、前記予備プロセッサにより処理するようにしたことを特徴とする請求項１記載のマルチプロセッサシステム。
【請求項３】
前記入力側及び出力側のプロセッサバスのそれぞれに前記予備プロセッサの指定情報を記録する第２のレジスタを接続し、前記第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群からの指定情報を対応するプロセッサバスに接続した第２のレジスタに記録し、かつ、その指定情報を他方の第２のレジスタに通知するようにしたことを特徴とする請求項２記載のマルチプロセッサシステム。
【請求項４】
複数のプロセッサをネットワークを介して接続するマルチプロセッサシステムにおいて、入力データを供給する入力側のプロセッサバスと、この入力側のプロセッサバスに接続された第１のプロセッサ群と、この第１のプロセッサ群とネットワークを介して接続され、前記第１のプロセッサ群により処理されたデータが転送される第２のプロセッサ群と、この第２のプロセッサ群が接続され、前記第２のプロセッサ群により処理された処理データを出力する出力側のプロセッサバスと、前記入力側及び出力側のプロセッサバスにそれぞれ接続され、対応するプロサッセバスに接続されたプロセッサ群の異常情報を記録する入力側及び出力側のレジスタとを備え、前記第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群の異常情報を記録したレジスタの異常情報を前記ネットワークを介して他方のレジスタに通知するようにしたことを特徴とするマルチプロセッサシステム
【請求項５】
複数のプロセッサをネットワークを介して接続するマルチプロセッサシステムにおいて、入力データを供給する入力側のプロセッサバスと、この入力側のプロセッサバスに接続された第１のプロセッサ群と、この第１のプロセッサ群とネットワークを介して接続され、前記第１のプロセッサ群により処理されたデータが転送される第２のプロセッサ群と、この第２のプロセッサ群が接続され、前記第２のプロセッサ群により処理された処理データを出力する出力側のプロセッサバスと、前記ネットワークに接続され、前記第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群の処理機能を代替する予備プロセッサ群と、前記入力側及び出力側のプロセッサバス、並びに前記予備プロセッサ群が接続した予備プロセッサバスにそれぞれ接続され、対応するプロサッセバスに接続されたプロセッサ群の異常情報を記録する入力側及び出力側、並びに予備側のレジスタと、これら入力側及び出力側、並びに予備側のレジスタを相互に接続し、前記第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群の異常情報を記録したレジスタの異常情報を他方のレジスタ及び予備のレジスタに通知する共有伝送路とを備えたことを特徴とするマルチプロセッサシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数のプロセッサ間をネットワークにより接続したネットワーク構成のマルチプロセッサシステムに関する。
【０００２】
【従来の技術】
近年、プロセッサの処理能力の向上を図るため、複数のシングルプロセッサをＬＡＮ等のネットワーク回線により接続したネットワーク構成のマルチプロセッサシステムについて提案が行われている。例えば、ＴＣＰ／ＩＰプロトコルを用いたＩＰパケットベースの通信方式を適用することができれば、汎用のワークステーション、パーソナルコンピュータ等によりネットワーク構成のマルチプロセッサを構成することができる。
【０００３】
【特許文献１】
特開２００１−２４３２０１公報（第２頁左欄第３３頁乃至同頁右欄第３５行目の記載事項、図１の内容を参照。）
【０００４】
【発明が解決しようとする課題】
しかし、従来のマルチプロセッサシステムは以上のように構成されているので、例えば、複数のプロセッサ間がデータの再送制御を行うＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク回線のみによって接続されている場合には、プロセッサに異常が発生したのかネットワーク伝送路に異常が発生したのかを判別することができず、送信側のプロセッサにおいてデータの授受が正しく行われていないと判断されると、当該データの授受が正しく行われるようプロセッサの異常かネットワーク伝送路の異常かに拘わらず受信側のプロセッサに対するデータの再送が繰り返され、その期間はネットワークが占有されることとなり、他のネットワーク伝送路における伝送負荷に影響を与えるという問題点があった。
【０００５】
図７はネットワーク構成のマルチプロセッサシステムの例を示すシステム構成図であり、ネットワーク８を介して接続されたプロセッサ間、例えばプロセッサ１ａとプロセッサ１ｂとの間においてパイプラインによる信号処理を行うように構成されたものである。図８は図７に示すマルチプロセッサシステムの処理内容であって、プロセッサ１ｂに異常が生じた場合における負荷分散の処理例を示す処理説明図である。例えば図８に示すように、図７に示すデータ授受側のプロセッサ１ｂにおいて異常が生じた場合、データ転送側のプロセッサ１ａは転送したデータがプロセッサ１ｂにおいて正しく授受されていないと判断し、データが正しく授受されるまでデータの転送を継続する。
【０００６】
また、データ転送側のプロセッサ１ａに異常が発生すると、リブートと呼ばれる異常プロセッサを切り離す処理が実行されるが、このリブート期間中はシステムの運用が中断される一方、リブート後はプロセッサ１ａだけでなく、対応するデータ授受側のプロセッサ１ｂも休止状態となるという問題点もあった。
【０００７】
図９は図７に示すマルチプロセッサシステムの処理内容であって、例えば、プロセッサ１ａに異常が生じた場合における負荷分散の処理例を示す処理説明図である。プロセッサ１ａにおいて異常の発生が検知されると、プロセッサ１ａはリブートされるが、図９に示すように、リブート後は対応するプロセッサ１ｂも休止状態となる。
【０００８】
なお、各プロセッサは、自身のＩＤ番号（認識番号）を有しており、ブートもしくはＯＳ稼動時に何らかの異常が発生した場合には、自身のＩＤ番号をレジスタ５ｂに記録するソフトウェアをそれぞれ備えている。
【０００９】
この発明は上記のような課題を解消するためになされたもので、ネットワークを介して接続された複数のプロセッサのうち、異常の発生したプロセッサをシステムから切り離すと共に、データの再送を防止して当該ネットワークを高効率に運用することができる新規なマルチプロセッサシステムを提供することを目的とする。
【００１０】
また、複数のプロセッサに異常が発生した場合にもネットワークを高効率に運用することができるより信頼性の高い新規なマルチプロセッサシステムを提供することを目的とする。
【００１１】
【課題を解決するための手段】
請求項１の発明に係るマルチプロセッサシステムは、複数のプロセッサをネットワークを介して接続するマルチプロセッサシステムにおいて、入力データを供給する入力側のプロセッサバスと、この入力側のプロセッサバスに接続された第１のプロセッサ群と、この第１のプロセッサ群とネットワークを介して接続され、前記第１のプロセッサ群により処理されたデータが転送される第２のプロセッサ群と、この第２のプロセッサ群が接続され、前記第２のプロセッサ群により処理された処理データを出力する出力側のプロセッサバスと、前記入力側及び出力側のプロセッサバスにそれぞれ接続され、対応するプロサッセバスに接続されたプロセッサ群の異常情報を記録する入力側及び出力側のレジスタと、これら入力側及び出力側のレジスタを相互に接続し、前記第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群の異常情報を記録したレジスタの異常情報を他方のレジスタに通知する共有伝送路とを備えたものである。
【００１２】
請求項２の発明に係るマルチプロセッサシステムは、前記入力側及び出力側のプロセッサバスに前記ネットワークと接続する予備プロセッサをそれぞれ接続し、前記第１又は第２のプロセッサ群に異常が発生したときに、当該異常が発生したプロセッサの処理を停止させ、前記予備プロセッサにより処理するようにしたものである。
【００１３】
請求項３の発明に係るマルチプロセッサシステムは、前記入力側及び出力側のプロセッサバスのそれぞれに前記予備プロセッサの指定情報を記録する第２のレジスタを接続し、前記第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群からの指定情報を対応するプロセッサバスに接続した第２のレジスタに記録し、かつ、その指定情報を他方の第２のレジスタに通知するようにしたものである。
【００１４】
請求項４の発明に係るマルチプロセッサシステムは、複数のプロセッサをネットワークを介して接続するマルチプロセッサシステムにおいて、入力データを供給する入力側のプロセッサバスと、この入力側のプロセッサバスに接続された第１のプロセッサ群と、この第１のプロセッサ群とネットワークを介して接続され、前記第１のプロセッサ群により処理されたデータが転送される第２のプロセッサ群と、この第２のプロセッサ群が接続され、前記第２のプロセッサ群により処理された処理データを出力する出力側のプロセッサバスと、前記入力側及び出力側のプロセッサバスにそれぞれ接続され、対応するプロサッセバスに接続されたプロセッサ群の異常情報を記録する入力側及び出力側のレジスタとを備え、前記第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群の異常情報を記録したレジスタの異常情報を前記ネットワークを介して他方のレジスタに通知するようにしたものである。
【００１５】
請求項５の発明に係るマルチプロセッサシステムは、複数のプロセッサをネットワークを介して接続するマルチプロセッサシステムにおいて、入力データを供給する入力側のプロセッサバスと、この入力側のプロセッサバスに接続された第１のプロセッサ群と、この第１のプロセッサ群とネットワークを介して接続され、前記第１のプロセッサ群により処理されたデータが転送される第２のプロセッサ群と、この第２のプロセッサ群が接続され、前記第２のプロセッサ群により処理された処理データを出力する出力側のプロセッサバスと、前記ネットワークに接続され、前記第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群の処理機能を代替する予備プロセッサ群と、前記入力側及び出力側のプロセッサバス、並びに前記予備プロセッサ群が接続した予備プロセッサバスにそれぞれ接続され、対応するプロサッセバスに接続されたプロセッサ群の異常情報を記録する入力側及び出力側、並びに予備側のレジスタと、これら入力側及び出力側、並びに予備側のレジスタを相互に接続し、前記第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群の異常情報を記録したレジスタの異常情報を他方のレジスタ及び予備のレジスタに通知する共有伝送路とを備えたものである。
【００１６】
【発明の実施の形態】
実施の形態１．
以下、この発明の実施の形態１について図１及び図２を用いて説明する。図１は実施の形態１によるマルチプロセッサシステムを示すブロック構成図である。図１において、１ａ，２ａ及び３ａはデータ転送側のプロセッサ、１ｂ，２ｂ及び３ｂはデータ授受側のプロセッサ、４ａ，４ｂはデータ転送側あるいはデータ授受側において各プロセッサが共通接続されたプロセッサバス、５ａ，５ｂは各プロセッサバス４ａ，４ｂにそれぞれ接続され、異常が発生したプロセッサのＩＤ番号が書き込まれるレジスタ、６ａ，６ｂはシステムリセットのＯＮ／ＯＦＦ信号により設定あるいはリセットされ、各プロセッサ自身がマスタプロセッサであるか否かを参照するための情報が書き込まれるフラグ、７ａ，７ｂ及び７ｃはデータ転送側のプロセッサ１ａ，２ａ及び３ａにそれぞれ接続されるネットワーク伝送路、７ｄ，７ｅ及び７ｆはデータ授受側のプロセッサ１ｂ，２ｂ及び３ｂにそれぞれ接続されるネットワーク伝送路、８はネットワーク伝送路７ａ，７ｂ，７ｃ，７ｄ，７ｅ及び７ｆがそれぞれ接続され、データ転送先の振り分け等を行うネットワーク・スイッチである。
【００１７】
また、９は入力データを入力する入力伝送路、１０は入力された入力データを一時的に記憶する入力メモリ、１１はデータ授受側のプロセッサによって処理された信号処理後の出力データを一時的に記憶する出力メモリ、１２は出力メモリに記憶された出力データを出力する出力伝送路、１３はデータ転送側のレジスタ５ａとデータ授受側のレジスタ５ｂとを相互に接続し、データ転送側のレジスタ５ａに記録されたデータ転送側のプロセッサ群（プロセッサ１ａ，２ａ及び３ａ）の異常情報はデータ授受側のレジスタ５ｂに、データ授受側のレジスタ５ｂに記録されたデータ授受側のプロセッサ群（プロセッサ１ｂ，２ｂ及び３ｂ）の異常情報はデータ転送側のレジスタ５ａに通知し、これらレジスタ５ａ及び５ｂ間で異常が発生した異常プロセッサの異常情報（例えば、異常が発生したプロセッサのＩＤ番号）を共有するための共有伝送路である。
【００１８】
図１に示すように、この実施の形態１によるマルチプロセッサシステムは、データ転送側のプロセッサ群（プロセッサ１ａ，２ａ及び３ａ）とデータ授受側のプロセッサ群（プロセッサ１ｂ，２ｂ及び３ｂ）との間でパイプラインによる信号処理を実行するものである。すなわち、入力側のプロセッサバスであるプロセッサバス４ａを介して供給された入力データは、データ転送側のプロセッサ１ａ，２ａ及び３ａによって処理された後、ネットワーク伝送路７ａ，７ｂ及び７ｃ、ネットワーク・スイッチ８、さらにネットワーク伝送路７ｄ，７ｅ及び７ｆを介してデータ授受側の対応するプロセッサ１ｂ，２ｂ及び３ｂにそれぞれ転送され、これらデータ授受側のプロセッサ１ｂ，２ｂ及び３ｂにより処理された後、入力側のプロセッサバスであるプロセッサバス４ｂから入力伝送路１２を介して出力データとして出力される。
【００１９】
次に、図１に示すマルチプロセッサシステムの動作について説明する。まず、システムのブート又はＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の通常稼動時においていずれかのプロセッサに異常が発生した場合について説明する。例えば、プロセッサ１ｂに異常が発生すると、プロセッサ１ｂは異常処理のシーケンスに入る。その際、先ずレジスタ５ｂに対し自身のＩＤ番号、例えば“Ａ”を書き込む。レジスタ５ｂに異常プロセッサ１ｂのＩＤ番号が書き込まれると、書き込まれたＩＤ番号は共有伝送路１３を介してレジスタ５ａに通知される。このように、実施の形態１によるマルチプロセッサシステムにおいては、共有伝送路１３を介してレジスタ５ａ又は５ｂに記録された異常情報を他方のレジスタに通知するようにしたので、たとえ、ネットワーク伝送路において故障等の異常が生じていても確実に他方のレジスタに異常情報を通知することができる。
【００２０】
このように、データ転送側のプロセッサ群とデータ授受側のプロセッサ群との間において異常プロセッサ情報の共有化を実現することができる。レジスタ５ａに異常プロセッサ１ｂのＩＤ番号が通知されると、プロセッサ１ｂは異常処理を継続し、それが終了するとリブート（再起動）する。
【００２１】
リブートが開始すると、各プロセッサ１ｂ，２ｂ及び３ｂはレジスタ５ｂを参照し、書き込まれたＩＤ番号のプロセッサ（ここでは１ｂ）をマスタプロセッサとして選択しないように処理を行う。具体的には、システムリセットの解除と共にフラグ６ｂが初期化されるので、各プロセッサ１ｂ，２ｂ及び３ｂはブートＲＯＭと呼ばれる領域に記録されたブートプログラムの実行をそれぞれ開始し、フラグ６ｂを参照して自身が”０”である場合はマスタプロセッサであると判断する。フラグ６ｂを参照して自身が”１”である場合はマスタプロセッサでないと判断して無限ループに入る。
【００２２】
なお、レジスタ５ｂを参照した際に自身のＩＤ番号が登録されている場合はマスタプロセッサではないと判断して同じく無限ループに入る。この実施の形態の場合、レジスタ５ｂにはプロセッサ１ｂのＩＤ番号が記録されているので、プロセッサ１ｂはレジスタ５ｂを参照して無限ループに入る。
【００２３】
一方、異常プロセッサ１ｂとネットワーク伝送路７ｄ、ネットワークスイッチ８を介して接続されているデータ転送側のプロセッサ群（プロセッサ１ａ，２ａ及び３ａ）は、レジスタ５ａに通知された異常プロセッサのＩＤ番号を読み出すことにより、データ授受側のプロセッサ群のいずれのプロセッサに異常が発生したのかを検知することができる。
【００２４】
図２は図１に示すマルチプロセッサシステムの処理内容であって、システムのブートもしくはＯＳの通常稼動時にプロセッサ１ｂで異常が発生した場合における負荷分散の処理例を示す処理説明図である。図２に示すように、データ転送側のプロセッサ群を構成するプロセッサ１ａは、レジスタ５ａに通知された異常プロセッサの情報を読み出すことによりデータ授受側のプロセッサ１ｂに異常が発生したことを素早く検知することができ、データの送付先からプロセッサ１ｂを除いて他のプロセッサ２ｂ、３ｂへデータを転送することが可能となる。
【００２５】
すなわち、データ転送側のプロセッサ１ａは、異常が発生していないデータ授受側のプロセッサを選択することができるので、入力メモリ１０に一時的に記憶された入力データを処理した後、例えばプロセッサ２ｂを選択して処理後のデータを転送することができる。
【００２６】
データ転送側のプロセッサ１ａがデータ授受側のプロセッサ２ｂを選択すると、プロセッサ１ａにより処理されたデータはネットワーク伝送路７ａ、ネットワークスイッチ８及びネットワーク伝送路７ｅを介してデータ授受側のプロセッサ２ｂに転送され、このプロセッサ２ｂにより授受される。プロセッサ２ｂにおいて正常にデータの授受が行われると、プロセッサ２ｂによる処理が実行され、処理後のデータがプロセッサバス４ｂを介して出力メモリ１１に一時的に記憶される。出力メモリ１１に記憶されたデータは出力データとして出力伝送路１２から出力される。なお、他のプロセッサ２ａ及び３ａも同様であり、図２に示すように、異常が発生していないデータ授受側のプロセッサを選択して処理後のデータを転送する。
【００２７】
このように、本実施の形態１によれば、ネットワーク伝送路７ａ，７ｂ，７ｃ，７ｄ，７ｅ及び７ｆ、並びにネットワークスイッチ８を介して接続された各プロセッサ群は、レジスタ５ａ又はレジスタ５ｂに記録した異常プロセッサの異常情報、例えばＩＤ番号を共有伝送路１３を介して相互に通知して共有化するようにしたので、ネットワークを介して接続された一方のプロセッサ群の異常プロセッサの情報を別のプロセッサバスに接続された他方のプロセッサ群に確実に知らせることができ、プロセッサの異常発生に基づいて継続するネットワークのデータ再送処理を省略でき、より迅速にシステムを正常復帰させることができると共に、ネットワーク伝送路を高効率で運用することができるマルチプロセッサシステムを実現することができる。
【００２８】
実施の形態２．
次に、この発明の実施の形態２について図３を用いて説明する。図３は実施の形態２によるマルチプロセッサシステムを示すブロック構成図である。図３において、１４ａ，１４ｂは図１に示すような共通のプロセッサバスに接続されていないプロセッサ群間において異常プロセッサのＩＤ番号を共有するために設けられた第二のレジスタである。なお、図中、同一符号は同一又は相当部分を示し、これらについての詳細な説明は省略する。
【００２９】
すなわち、実施の形態２によるマルチプロセッサシステムは、各プロセッサ群のマスタプロセッサが自身のプロセッサバスに接続されているいずれかのプロセッサに異常が発生した場合に、その異常プロセッサのＩＤ番号を図１に示すような共有伝送路１３ではなく、ネットワーク伝送路７ａ，７ｂ，７ｃ，７ｄ，７ｅ及び７ｆ、並びにネットワークスイッチ８を通じて他のプロセッサ群のマスタプロセッサに対して通知するというものである。通知を受けたプロセッサ群のマスタプロセッサは、他のプロセッサ群の異常プロセッサのＩＤ番号を自身のプロセッサバスに接続された第二のレジスタに記憶する。
【００３０】
次に、動作について説明する。図３において、ブートもしくはＯＳの通常稼動時にプロセッサ１ｂにおいて異常が発生したとする。このとき、プロセッサ１ｂは異常処理のシーケンスに入るが、その先頭でレジスタ５ａに対し自身のＩＤ、ここでは例えば“Ａ”を書き込む。レジスタ５ａにプロセッサ１ｂのＩＤ番号が書き込まれると、マスタプロセッサ（ここでは例えばプロセッサ２ｂが該当するものとする）がこれを参照し、ネットワーク伝送路７ｅ、ネットワークスイッチ８を通じてデータの授受を行う他のプロセッサ群のマスタプロセッサ（ここでは例えばプロセッサ２ａが該当するものとする）に対し、プロセッサ１ｂに異常が生じたことを通知する。
【００３１】
プロセッサ２ａは、ネットワーク伝送路７ｂを通じて異常プロセッサ情報の通知を受けると自身のプロセッサバス４ａに接続されている、他のプロセッサ群の異常プロセッサのＩＤ番号を記録しておく第二のレジスタ１４ａに対して異常プロセッサ１ｂのＩＤ番号、つまり“Ａ”を書き込む。この第二のレジスタ１４ａに記録された異常プロセッサ１ｂのＩＤ番号は、異常プロセッサ情報の通知を受けたプロセッサ群の各プロセッサ１ａ，２ａ及び３ａのソフトウェアによりそれぞれ参照され、各プロセッサ１ａ，２ａ及び３ａにおいてネットワーク接続先の異常プロセッサを検知することができる。これにより、実施の形態２によるマルチプロセッサシステムにおいても実施の形態１と同様に異常時のデータ再送処理を省略することができる。
【００３２】
実施の形態３．
次に、この発明の実施の形態３について図４を用いて説明する。図４は実施の形態３によるマルチプロセッサシステムを示すブロック構成図である。図４において、１５ａはデータ転送側のプロセッサ１ａ，２ａ及び３ａのいずれかに故障等の異常が発生した場合にこれらのプロセッサの処理を引き継ぐことが可能な予備プロセッサ、１５ｂは同様にデータ授受側のプロセッサ１ｂ，２ｂ及び３ｂに故障等が生じた場合にこれらのプロセッサの処理を引き継ぐことが可能な予備プロセッサ、１６ａ，１６ｂは予備プロセッサ１５ａ，１５ｂのＩＤ番号をそれぞれ記録するソフトウェアにより参照可能な第三のレジスタ、１７はレジスタ１６ａ及び１６ｂとを接続し、レジスタ１６ａ，１６ｂに記録された予備プロセッサ１５ａ，１５ｂのＩＤ番号を相互に伝送する予備プロセッサ用共有伝送路である。なお、図中、同一符号は同一又は相当部分を示し、これらについての詳細な説明は省略する。
【００３３】
次に動作について説明する。図４において、ブートもしくはＯＳの通常稼動時にプロセッサ１ｂで異常を検出したものとする。このとき、プロセッサ１ｂは異常処理のシーケンスに入るが、その先頭でレジスタ５ｂに対し自身のＩＤ番号、ここでは例えば“Ａ”を書き込む。また、レジスタ１６ｂに対しても予備プロセッサ１５ｂを指定する指定情報である予備プロセッサ１５ｂのＩＤ番号、ここでは例えば“Ｂ”を書き込む。異常プロセッサ１ｂのＩＤ番号がレジスタ５ｂに書き込まれると、書き込まれたＩＤ番号は共有伝送路１３を通じてレジスタ５ａに通知される。
【００３４】
また、予備プロセッサ１５ｂのＩＤ番号がレジスタ１６ｂへ書き込まれると、書き込まれたＩＤ番号は予備プロセッサ用共有伝送路１７を通じてレジスタ１６ａに通知される。この後、プロセッサ１ｂは異常処理を継続し、それが終了するとリブートする。一方、異常プロセッサ１ｂとネットワーク伝送路で接続されているプロセッサ群のプロセッサ１ａ、２ａ、３ａは、自身のレジスタに通知された異常プロセッサＩＤ番号を読み取ることにより、データの授受の相手側プロセッサに異常が生じたことを検知することができる。
【００３５】
データ転送側のプロセッサ群（プロセッサ１ａ，２ａ及び３ａ：予備プロセッサ１５ａを使用している場合は、この予備プロセッサ１５ａを含む。以下同様である。）は、プロセッサバス４ａに接続された第三のレジスタ１６ａに通知された予備プロセッサ１ｂのＩＤ番号をそれぞれ読み取ることにより、プロセッサ１ｂの処理が予備プロセッサ１５ｂへ機能移管されることを検知することができる。そして、データ転送側の各プロセッサ１ａ，２ａ及び３ａは、プロセッサバス４ｂに共通接続されたプロセッサ１ｂ，２ｂ及び予備プロセッサ１５ｂが正常なデータの授受を行うことができるプロセッサであると判断し、処理したデータの転送を行う。
【００３６】
例えば、データ転送側のプロセッサ群（プロセッサ１ａ，２ａ及び３ａ）において信号処理された各データは、ネットワーク伝送路７ａ，７ｂ及び７ｃ、ネットワークスイッチ８及びネットワーク伝送路７ｈを経由して予備プロセッサ１５ｂに転送される。予備プロセッサ１５ｂにおいて正常にデータの授受が行われると、予備プロセッサ１５ｂによる処理が実行され、処理後のデータがプロセッサバス４ｂを介して出力メモリ１１に一時的に記憶される。出力メモリ１１に記憶されたデータは出力データとして出力伝送路１２から出力される。なお、データ転送側のプロセッサ群に異常が発生した場合も同様であり、詳細な説明については省略する。
【００３７】
このように、実施の形態３によるマルチプロセッサシステムは、プロセッサバス４ａ，４ｂにさらに予備プロセッサ１５ａ，１５ｂをそれぞれ共通接続し、この予備プロセッサ１５ａ又は１５ｂにより共通接続されているプロセッサ群の処理を引き継ぐように構成したので、各プロセッサ群のいずれかのプロセッサに異常が発生したとしても、入力データの再負荷配分によりシステム全体として効率的な処理を継続することが可能であり、さらに異常プロセッサの処理を予備プロセッサ１５ａ，１５ｂに引き継ぐことことによって迅速な処理を継続することができ、、信頼性の高いマルチプロセッサシステムを実現することができる。
【００３８】
なお、このプロセッサ機能の移管については、ネットワーク伝送路に異常が発生し、そのネットワーク伝送路に接続したプロセッサによる処理を実行できない又は実行した処理結果を転送できないという場合にも前記と同様の手順により予備プロセッサ１５ａ，１５ｂへそれぞれ機能移管することができる。例えば、ネットワーク伝送路７ｄに異常が発生し、データ授受側のプロセッサ１ｂに対するデータ転送ができない場合、この異常が発生したネットワーク伝送路７ｄに接続したプロセッサ１ｂのＩＤ番号をレジスタ５ｂに書き込むと共に、予備プロセッサ１５ｂのＩＤ番号をレジスタ１６ｂに書き込むことにより、書き込まれた各ＩＤ番号が共有伝送路１３，予備プロセッサ用共有伝送路１７を通じてレジスタ５ａ、第三のレジスタ１６ａに通知され、これによりネットワーク伝送路の異常時にも予備プロセッサへの機能移管を実現することができる。
【００３９】
実施の形態４．
次に、この発明の実施の形態４について図５を用いて説明する。図５は実施の形態４によるマルチプロセッサシステムを示すブロック構成図である。図５において、４ｃは予備プロセッサ群（１５ａ，１５ｂ及び１５ｃ：以下、同様である。）が共通接続されるプロセッサバス、７ｇ，７ｈ及び７ｉはネットワークスイッチ８と予備プロセッサ群とをそれぞれ接続するネットワーク伝送路、１０ｂは入力伝送路９から供給された入力データを一時的に記録する入力メモリ、１１ｂは一時的に記憶した出力データを出力伝送路１２に出力する出力メモリである。
【００４０】
また、１５ａ，１５ｂ及び１５ｃはプロセッサ１ａ，２ａ及び３ａあるいはプロセッサ１ｂ，２ｂ及び３ｂに故障が生じた場合に、これら各プロセッサの各処理を引き継ぐように設けられた予備プロセッサ、１８ａ，１８ｂ及び１８ｃは各プロセッサ群のプロセッサバス４ａ，４ｂ及び４ｃにそれぞれ接続され、予備プロセッサ１５ａ，１５ｂ及び１５ｃのＩＤ番号を記録するソフトウェアにより参照可能な第４のレジスタ、１９は第４のレジスタ１８ａ，１８ｂ及び１８ｃを相互に接続する第２の予備プロセッサ用共有伝送路である。なお、図中、同一符号は同一又は相当部分を示し、これらについての詳細な説明は省略する。
【００４１】
次に動作について説明する。図５において、ブートもしくはＯＳの通常稼動時にプロセッサ１ｂとプロセッサ２ｂにおいて異常が発生したものとする。このとき、プロセッサ１ｂとプロセッサ２ｂは異常処理のシーケンスに入るが、その先頭でレジスタ５ｂに対し自身のＩＤ番号、ここでは例えば“Ａ”と“Ｂ”を書き込む。さらに、レジスタ１８ｂに対して予備プロセッサ群の例えば予備プロセッサ１５ａ及び予備プロセッサ１５ｂを指定する指定情報である予備プロセッサ１５ａ及び予備プロセッサ１５ｂのＩＤ番号、ここでは例えば“Ｃ”と“Ｄ”を書き込む。異常プロセッサのＩＤ番号がレジスタ５ｂへ書き込まれると、書き込まれたＩＤ番号は共有伝送路１３を通じてレジスタ５ａ及び５ｃに通知される。
【００４２】
また、予備プロセッサ１５ａ，１５ｂのＩＤ番号がレジスタ１８ｂに書き込まれると、書き込まれたＩＤ番号は予備プロセッサ用共有伝送路１９を通じてレジスタ１８ａに通知される。この後、異常プロセッサ１ｂ，２ｂは異常処理を継続し、それが終了するとリブートする。一方、異常プロセッサ１ｂ，２ｂとネットワーク伝送路で接続されているプロセッサ群のプロセッサ１ａ、２ａ、３ａは、自身のレジスタ５ａに通知された異常プロセッサ１ｂ，２ｂのＩＤ番号を読み取ることにより、データの授受の相手側プロセッサに異常が生じたことを検知することができる。
【００４３】
なお、プロセッサ１ｂ，２ｂ及び３ｂは、自身の第四のレジスタ１８ｂに通知された予備プロセッサ群の各予備プロセッサ１５ａ，１５ｂのＩＤ番号を読み取ることにより、プロセッサ１ｂから予備プロセッサ１５ａへ、プロセッサ２ｂから予備プロセッサ１５ｂへ機能移管することを検知することができる。
【００４４】
データ転送側のプロセッサ群（プロセッサ１ａ，２ａ及び３ａ：以下同様である。）は、プロセッサバス４ａに接続された第４のレジスタ１８ａに通知された予備プロセッサ１ｂ，２ｂのＩＤ番号をそれぞれ読み取ることにより、プロセッサ１ｂ，２ｂの処理が予備プロセッサ１５ａ，１５ｂに機能移管されたことを検知することができる。そして、データ転送側の各プロセッサ１ａ，２ａ及び３ａは、プロセッサバス４ｂに共通接続されたプロセッサ３ｂ及び予備プロセッサ１５ａ，１５ｂが正常なデータの授受を行うことができるプロセッサであると判断し、処理したデータの転送を行う。
【００４５】
このように、実施の形態４によるマルチプロセッサシステムは、各プロセッサ群の処理を引き継ぐ予備プロセッサ群を設けるように構成したので、各プロセッサ群の複数のプロセッサに異常が発生しても、入力データの再負荷配分によりシステム全体として効率的な処理を継続することが可能であり、さらに異常プロセッサの処理を予備プロセッサ１５ａ，１５ｂに引き継ぐことことによって迅速な処理を継続することができ、信頼性の高いマルチプロセッサシステムを実現することができる。
【００４６】
同様に、複数のネットワーク伝送路に異常があった際にも、前記と同じ手順にて予備プロセッサ群へ機能移管し、ネットワーク伝送路を切り替える。機能移管された予備プロセッサのＩＤ番号は第二の予備プロセッサＩＤ番号共有化伝送路１９によって、伝達されるため、ネットワーク伝送路の異常時にも予備プロセッサへスムーズに移管することが可能となる。
【００４７】
なお、このプロセッサ機能の移管については、ネットワーク伝送路に異常が発生し、そのネットワーク伝送路に接続したプロセッサによる処理を実行できない又は実行した処理結果を転送できないという場合にも前記と同様の手順により予備プロセッサ群の予備プロセッサ１５ａ，１５ｂ及び１５ｃにそれぞれ機能移管することができる。
【００４８】
例えば、ネットワーク伝送路７ｄ，７ｅに異常が発生し、データ授受側のプロセッサ１ｂ，２ｂに対するデータ転送ができない場合、この異常が発生したネットワーク伝送路７ｄ，７ｅに接続したプロセッサ１ｂ，２ｂのＩＤ番号をレジスタ５ｂに書き込むと共に、予備プロセッサ１５ａ，１５ｂのＩＤ番号をレジスタ１８ｂに書き込むことにより、書き込まれた各ＩＤ番号が共有伝送路１３，予備プロセッサ用共有伝送路１９を通じてレジスタ５ａ、第三のレジスタ１８ａに通知され、これによりネットワーク伝送路の異常時にも予備プロセッサへの機能移管を行うことができる。
【００４９】
【発明の効果】
以上のように、この発明によれば、ネットワークに接続されたプロセッサ群の異常情報を記録する入力側及び出力側のレジスタを設け、これら入力側及び出力側のレジスタを相互に接続し、前記第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群の異常情報を記録したレジスタの異常情報を他方のレジスタに通知するようにしたので、データの再送等を防止することができ、当該ネットワークを高効率に運用することができる。
【００５０】
また、第１又は第２のプロセッサ群に異常が発生したときに、そのプロセッサ群の処理機能を代替する予備プロセッサ群を設けたので、複数のプロセッサに異常が発生した場合にもネットワークを高効率に運用することができ、システムの信頼性をより向上させることができる。
【図面の簡単な説明】
【図１】実施の形態１によるマルチプロセッサシステムを示すブロック構成図である。
【図２】本発明の実施の形態１に係るマルチプロセッサシステムのプロセッサ１ｂに異常が生じた際の処理配分を示す説明図である。
【図３】実施の形態２によるマルチプロセッサシステムを示すブロック構成図である。
【図４】実施の形態３によるマルチプロセッサシステムを示すブロック構成図である。
【図５】実施の形態４によるマルチプロセッサシステムを示すブロック構成図である。
【図６】従来のマルチプロセッサシステムを示すブロック図である。
【図７】従来のマルチプロセッサシステムのプロセッサ１ｂに異常が発生した場合の処理配分を示す説明図である。
【図８】従来のマルチプロセッサシステムのプロセッサ１ｂに異常が発生した場合の処理配分を示す説明図である。
【符号の説明】
１ａ，２ａ，３ａ  データ転送側のプロセッサ、
１ｂ，２ｂ，３ｂ  データ授受側のプロセッサ、
４ａ，４ｂ，４ｃ  プロセッサバス、
５ａ，５ｂ，５ｃ  レジスタ、６ａ，６ｂ，６ｃ  フラグ、
７ａ，７ｂ，７ｃ  データ転送側のネットワーク伝送路、
７ｄ，７ｅ，７ｆ  データ授受側のネットワーク伝送路、
７ｇ，７ｈ，７ｉ  予備プロセッサ群のネットワーク伝送路、
８  ネットワークスイッチ、９  入力伝送路、１０  入力メモリ、
１１  出力メモリ、１２  出力伝送路、
１３，１７  異常プロセッサ用共有伝送路、
１４ａ，１４ｂ  第二のレジスタ、
１５ａ，１５ｂ，１５ｃ  予備プロセッサ、
１６ａ，１６ｂ  第三のレジスタ、
１８ａ，１８ｂ，１８ｃ  第四のレジスタ、
１９  第二の予備プロセッサ用共有伝送路。
【図１】
2004206339.tif 000003
【図２】
2004206339.tif 000004
【図３】
2004206339.tif 000005
【図４】
2004206339.tif 000006
【図５】
2004206339.tif 000007
【図６】
2004206339.tif 000008
【図７】
2004206339.tif 000009
【図８】
2004206339.tif 000010