(57)【要約】【課題】各ハードウェアを同期させて動作させる。【解決手段】初期化管理部１３１，１３２が、それぞれ、ハードウェアとしてのプロセッサ１０１、チップセット１０２の初期化動作がConfigから初期動作完了直前のActive状態に遷移する条件が成立したと判定したとき、ＦＴ制御部１３３にReady(1)信号、Ready(2)信号を出力し、初期化動作を保留させる。システム１００のＦＴ制御部１３３は、システム２００のＦＴ制御部２３３からReady(4)信号を受信すると、初期化管理部１３１，１３２に、それぞれ、Go(1)信号、Go(2)信号を送信する。初期化管理部１３１，１３２は、それぞれ、保留を解除し、プロセッサ１０１、チップセット１０２は初期化動作を再開させる。初期化動作は、Active状態に遷移し、各ハードウェアは同期させて動作する。【選択図】図１
2010211635.tif 000002
【特許請求の範囲】
【請求項１】
複数のシステムが互いに接続されて多重化されたフォールトトレラントコンピュータにおいて、
各システムは、
初期化動作を実行する複数の処理部と、
前記複数の処理部にそれぞれ接続されて、接続された処理部が実行する初期化動作が完了する直前の状態に遷移したときに、前記初期化動作が完了直前であることを示す準備完了信号を出力して前記初期化動作の完了を保留させ、保留解除信号が供給されて前記保留を解除し、前記処理部の前記初期化動作を完了させる複数の初期化制御部と、
前記複数の初期化制御部からすべて前記準備完了信号が出力されたときに、前記複数の初期化制御部に、それぞれ、前記保留解除信号を供給することにより、前記複数の処理部の動作を同期させる同期制御部と、を備えた、
ことを特徴とするフォールトトレラントコンピュータ。
【請求項２】
前記同期制御部は、前記複数の初期化制御部から前記準備完了信号がすべて出力されたとき、さらに、他のシステムに、自システムの初期化動作が完了直前の状態であることを示すシステム準備完了信号を送信し、前記他のシステムから送信された前記システム準備完了信号を受信したとき、前記複数の初期化制御部に、それぞれ、前記保留解除信号を供給する、
ことを特徴とする請求項１に記載のフォールトトレラントコンピュータ。
【請求項３】
他のシステムの前記処理部に接続された初期化制御部を備えた、
ことを特徴とする請求項１又は２に記載のフォールトトレラントコンピュータ。
【請求項４】
各システムは、前記各処理部の初期化動作の遷移状態を示すデータ格納用の記憶部を備え、
前記複数の初期化制御部は、それぞれ、前記記憶部に記憶されたデータを参照することにより、接続された処理部が実行する初期化動作が完了する直前の状態に遷移したか否かを判定する、
ことを特徴とする請求項１乃至３のいずれか１項に記載のフォールトトレラントコンピュータ。
【請求項５】
複数の処理部を有する複数のシステムが互いに接続されて多重化されたフォールトトレラントコンピュータの同期制御方法であって、
前記複数の処理部にそれぞれ接続されて、接続された処理部が実行する初期化動作が、完了する直前の状態に遷移したときに、前記初期化動作の完了を保留させるステップと、
前記各処理部の初期化動作がすべて完了直前の状態に遷移したか否かを判定するステップと、
前記各処理部の初期化動作がすべて完了直前の状態に遷移したと判定したときに、前記保留を解除して前記複数の処理部の初期化動作を完了させるステップと、を備えた、
ことを特徴とするフォールトトレラントコンピュータの同期制御方法。
【請求項６】
複数の処理部を有する複数のシステムが互いに接続されて多重化されたフォールトトレラントコンピュータの各システムに、
前記複数の処理部にそれぞれ接続されて、接続された処理部が実行する初期化動作が完了する直前の状態に遷移したと判定したとき、前記処理部に接続されて前記処理部の初期化動作を制御する初期化制御部に、保留前記初期化動作の完了を保留させる手順、
前記複数の初期化制御部からすべて準備完了信号が出力されたときに、前記複数の初期化制御部に、それぞれ、保留解除信号を供給して前記保留を解除させ、前記処理部の前記初期化動作を完了させる手順、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォールトトレラントコンピュータ、その同期制御方法及びコンピュータプログラムに関するものである。
【背景技術】
【０００２】
フォールトトレラントコンピュータ（Fault Tolerant Computer）は、耐障害性を有するように複数のＣＰＵユニットと複数のＩ／Ｏユニット等（処理部）とを備え、ハードウェアを多重化し、同一クロックで同期するように構成されている（例えば、特許文献１参照）。
【０００３】
各ＣＰＵユニットは、リセットが解除されて動作を開始するとき、全く同じ動作を行うデターミニズム（Determinism；同期一意性）が保証されている。
【０００４】
関連するフォールトトレラントコンピュータでは、使用されるプロセッサやチップセットがデターミニズムに従って動作することを前提としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２８０７３２号公報（第５頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、近年のプロセッサ高速化やプロセッサ−メモリ間の高バンド幅化に伴い、各ＣＰＵユニットに搭載されるプロセッサやチップセットは、非同期回路を含むようになり、このような構成では、各ハードウェア（処理部）を同期させて動作させることが困難であり、デターミニズムを保証することが難しくなっている。
【０００７】
本発明は、このような問題点に鑑みてなされたもので、複数の処理部を同期させて動作させることが可能なフォールトトレラントコンピュータ、その同期制御方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この目的を達成するため、本発明の第１の観点に係るフォールトトレラントコンピュータは、
複数のシステムが互いに接続されて多重化されたフォールトトレラントコンピュータにおいて、
各システムは、
初期化動作を実行する複数の処理部と、
前記複数の処理部にそれぞれ接続されて、接続された処理部が実行する初期化動作が完了する直前の状態に遷移したときに、前記初期化動作が完了直前であることを示す準備完了信号を出力して前記初期化動作の完了を保留させ、保留解除信号が供給されて前記保留を解除し、前記処理部の前記初期化動作を完了させる複数の初期化制御部と、
前記複数の初期化制御部からすべて前記準備完了信号が出力されたときに、前記複数の初期化制御部に、それぞれ、前記保留解除信号を供給することにより、前記複数の処理部の動作を同期させる同期制御部と、を備えたことを特徴とする。
【０００９】
本発明の第２の観点に係るフォールトトレラントコンピュータの同期制御方法は、
複数の処理部を有する複数のシステムが互いに接続されて多重化されたフォールトトレラントコンピュータの同期制御方法であって、
前記複数の処理部にそれぞれ接続されて、接続された処理部が実行する初期化動作が、完了する直前の状態に遷移したときに、前記初期化動作の完了を保留させるステップと、
前記各処理部の初期化動作がすべて完了直前の状態に遷移したか否かを判定するステップと、
前記各処理部の初期化動作がすべて完了直前の状態に遷移したと判定したときに、前記保留を解除して前記複数の処理部の初期化動作を完了させるステップと、を備えたことを特徴とする。
【００１０】
本発明の第３の観点に係るコンピュータプログラムは、
複数の処理部を有する複数のシステムが互いに接続されて多重化されたフォールトトレラントコンピュータの各システムに、
前記複数の処理部にそれぞれ接続されて、接続された処理部が実行する初期化動作が完了する直前の状態に遷移したと判定したとき、前記処理部に接続されて前記処理部の初期化動作を制御する初期化制御部に、保留前記初期化動作の完了を保留させる手順、
前記複数の初期化制御部からすべて準備完了信号が出力されたときに、前記複数の初期化制御部に、それぞれ、保留解除信号を供給して前記保留を解除させ、前記処理部の前記初期化動作を完了させる手順、を実行させるためのものである。
【発明の効果】
【００１１】
本発明によれば、複数の処理部を同期させて動作させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るフォールトトレラントコンピュータの構成を示すブロック図である。
【図２】初期化動作の遷移状態を示す図である。
【図３】各システムの初期化管理部、ＦＴ制御部がそれぞれ実行する初期化管理処理（１），（２）、ＦＴ制御処理を示すフローチャートである。
【図４】各システムの初期化管理部、ＦＴ制御部の動作を示す図である。
【図５】フォールトトレラントコンピュータの応用例を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係るフォールトトレラントコンピュータを図面を参照して説明する。
本実施形態に係るフォールトトレラントコンピュータの構成を図１に示す。
本実施形態に係るフォールトトレラントコンピュータ（以後、「ＦＴコンピュータ」と記す。）１は、システム１００，２００からなり、システム１００，２００は、耐障害性を有するように、互いに接続されて多重化されたものである。
【００１４】
システム１００は、プロセッサ１０１と、チップセット１０２と、ブリッジ回路１０３と、を備える。
【００１５】
プロセッサ１０１は、プログラム処理を実行する処理部であり、チップセット１０２等と非同期で動作する非同期回路を含むハードウェアである。
【００１６】
チップセット１０２は、例えば、Ｉ／Ｏユニットのようなデータの入出力処理を実行する処理部であり、プロセッサ１０１と同様、プロセッサ１０１等と非同期で動作する非同期回路を含むハードウェアである。
【００１７】
プロセッサ１０１、チップセット１０２は、それぞれ、リセットが解除されると、図２に示すように、初期化動作を実行し、初期化動作の状態を、Reset，Detect，Polling，Config，Activeの状態へと遷移させる。
【００１８】
尚、システム１００は、この初期化動作の遷移状態を示すデータを格納する記憶部としてのレジスタ（図示せず）を備える。
【００１９】
尚、本実施形態のプロセッサ１０１、チップセット１０２は、それぞれ、Config状態から初期化動作完了直前のActive状態への遷移を制御可能とする機能を予め備えている。
【００２０】
ブリッジ回路１０３は、プロセッサ１０１とチップセット１０２とを接続する回路であり、初期化管理部１３１，１３２と、ＦＴ制御部１３３と、を備える。
【００２１】
初期化管理部１３１は、プロセッサ１０１の初期化動作を管理・制御するものである。初期化管理部１３１は、システム１００が備えるレジスタのデータを参照し、プロセッサ１０１の初期化動作がConfig状態から初期化動作完了直前のActive状態に遷移する条件が成立したか否かを判定する。
【００２２】
そして、初期化管理部１３１は、この条件が成立したと判定したとき、初期化動作が完了直前であることを示す準備完了信号として、Ready(1)信号をＦＴ制御部１３３に出力し、プロセッサ１０１の初期化動作を保留させる。
【００２３】
保留後、初期化管理部１３１は、保留を解除させる保留解除信号として、ＦＴ制御部１３３から、Go(1)信号が供給されると初期化動作の保留を解除し、プロセッサ１０１の初期化動作を完了させる。
【００２４】
初期化管理部１３２は、チップセット１０２の初期化動作を管理・制御するものである。初期化管理部１３２は、システム１００が備えるレジスタのデータを参照し、チップセット１０２の初期化動作がConfig状態から初期化動作完了直前のActive状態に遷移する条件が成立したか否かを判定する。
【００２５】
初期化管理部１３２は、この条件が成立したと判定したとき、初期化動作が完了直前であることを示す準備完了信号として、Ready(2)信号をＦＴ制御部１３３に出力し、チップセット１０２の初期化動作を保留させる。
【００２６】
保留後、初期化管理部１３２は、初期化動作を完了させることを示す初期化完了指令信号として、ＦＴ制御部１３３から、Go(2)信号が供給されると初期化動作の保留を解除し、チップセット１０２の初期化動作を完了させる。
【００２７】
ＦＴ制御部１３３は、エラーチェックによる故障の検出、故障モジュールの切り離し制御等を行うものである。また、ＦＴ制御部１３３は、プロセッサ１０１とチップセット１０２とのそれぞれの初期化完了タイミングを制御し、システム１００，２００を同期させて動作させる。
【００２８】
ＦＴ制御部１３３は、初期化管理部１３１からReady(1)信号が出力され、かつ、初期化管理部１３２から、Ready(2)信号が出力されると、初期化動作完了直前の遷移状態であることを判別し、システム１００の初期化動作が完了直前であることを示すシステム準備完了信号として、Ready(3)信号をシステム２００に送信する。
【００２９】
ＦＴ制御部１３３は、システム２００のシステム準備完了信号として、同じようなReady(4)信号を受信したとき、システム２００も初期化動作が完了直前であることを判別し、Go(1)信号、Go(2)信号を、それぞれ、初期化管理部１３１，１３２に供給する。
【００３０】
このようにして、ＦＴ制御部１３３は、初期化管理部１３１と初期化管理部１３２とからの初期化動作の遷移状態を判別するとともに、システム２００の遷移状態も判別して、初期化完了タイミングを合わせる。
【００３１】
システム２００も同じように、プロセッサ２０１と、チップセット２０２と、ブリッジ回路２０３と、を備える。
【００３２】
プロセッサ２０１、チップセット２０２、ブリッジ回路２０３は、それぞれ、プロセッサ１０１、チップセット１０２、ブリッジ回路１０３と同等のものである。
【００３３】
ブリッジ回路２０３は、プロセッサ２０１とチップセット２０２とを接続する回路であり、初期化管理部２３１，２３２と、ＦＴ制御部２３３と、を備える。ＦＴ制御部２３３とシステム１００のＦＴ制御部１３３とは接続され、互いにReady(3)信号、Ready(4)信号を送受信する。
【００３４】
次に本実施形態に係るＦＴコンピュータ１の動作を説明する。
尚、ここでは、システム２００を他系システム、システム１００を自系システムとして、システム１００について説明する。
【００３５】
システム１００は、リセットが解除されたとき、システム１００のプロセッサ１０１、チップセット１０２は、図２に示すように、Resetから順に、初期化動作を実行する。
【００３６】
初期化管理部１３１，１３２、ＦＴ制御部１３３は、図３に示すように、それぞれ、初期化管理処理（１），初期化管理処理（２）、ＦＴ制御処理を実行する。
【００３７】
初期化管理部１３１，１３２は、それぞれ、リセットが解除されると、プロセッサ１０１、チップセット１０２との間で初期化動作を開始し、この状態管理を開始する（ステップＳ１１１，Ｓ１２１）。
【００３８】
初期化管理部１３１，１３２は、それぞれ、プロセッサ１０１、チップセット１０２との間で動作状態がConfigからActive状態に遷移する条件が成立したか否かを判定する（ステップＳ１１２，Ｓ１２２）。
【００３９】
初期化管理部１３１，１３２は、それぞれ、動作状態がConfigからActive状態に遷移する条件が成立していないと判定した場合（ステップＳ１１２においてＮｏ，Ｓ１２２においてＮｏ）、遷移する条件が成立まで待機する。
【００４０】
初期化管理部１３１は、プロセッサ１０１との間で動作状態がConfigからActive状態に遷移する条件が成立したと判定した場合（ステップＳ１１２においてＹｅｓ）、図４に示すように、ＦＴ制御部１３３に、初期化動作の遷移状態を示すState(1)信号を送信する（ステップＳ１１３）。
【００４１】
初期化管理部１３２は、チップセット１０２との間で動作状態がConfigからActive状態に遷移する条件が成立したと判定した場合（ステップＳ１２２においてＹｅｓ）、図４に示すように、ＦＴ制御部１３３に、State(2)信号を送信する（ステップＳ１２３）。
【００４２】
ＦＴ制御部１３３は、初期化管理部１３１，１３２から、それぞれ、State(1)信号、State(2)信号を受信する（ステップＳ２０１，Ｓ２０２）。
【００４３】
初期化管理部１３１は、図４に示すように、ＦＴ制御部１３３にReady(1)信号を出力し、プロセッサ１０１の初期化動作を保留させる（ステップＳ１１４）。
【００４４】
初期化管理部１３２は、図４に示すように、ＦＴ制御部１３３にReady(2)信号を出力し、チップセット１０２の初期化動作を保留させる（ステップＳ１２４）。
【００４５】
ＦＴ制御部１３３は、初期化管理部１３１，１３２から、それぞれ、このReady(1)信号、Ready(2)信号を受信する（ステップＳ２０３，Ｓ２０４）。
【００４６】
ＦＴ制御部１３３は、Ready(1)信号、Ready(2)信号を受信すると、プロセッサ１０１、チップセット１０２の初期化動作がすべて完了直前の状態に遷移したと判定し、図４に示すように、システム２００のＦＴ制御部２３３にReady(3)信号を送信する（ステップＳ２０５）。
【００４７】
ＦＴ制御部１３３は、図４に示すように、システム２００からReady(4)信号を受信すると（ステップＳ２０６）、初期化管理部１３１にGo(1)信号を送信し（図３のステップＳ２０７、以降、ステップ番号は図３を参照）、初期化管理部１３２にGo(2)信号を送信する（ステップＳ２０８）。
【００４８】
初期化管理部１３１は、図４に示すように、Go(1)信号を受信すると（ステップＳ１１５）、プロセッサ１０１の初期化動作の保留を解除し、初期化動作を再開させる（ステップＳ１１６）。
【００４９】
また、初期化管理部１３２は、図４に示すように、Go(2)信号を受信すると（ステップＳ１２５）、チップセット１０２の初期化動作の保留を解除し、初期化動作を再開させる（ステップＳ１２６）。
【００５０】
初期化管理部１３１，１３２、ＦＴ制御部１３３がこのような処理を実行することにより、プロセッサ１０１、チップセット１０２の初期化動作は、図２に示すReset，Detect，Polling，Configの状態まで遷移した後、保留となってActiveの状態へは遷移しなくなる（ステップＳ１１３，Ｓ１２３）。
【００５１】
そして、システム２００の初期化動作が完了直前の状態になってから（ステップＳ２０６）、プロセッサ１０１、チップセット１０２の初期化動作は、Activeの状態に遷移する。
【００５２】
このため、プロセッサ１０１、チップセット１０２に非同期回路が含まれるような場合でも、システム１００，２００の初期化タイミングは一致し、各ハードウェアは同期動作する。
【００５３】
以上説明したように、本実施形態によれば、初期化管理部１３１，１３２は、初期化動作完了直前の状態で、それぞれ、Ready(1)信号、Ready(2)信号をＦＴ制御部１３３に送信してプロセッサ１０１、チップセット１０２の初期化動作を保留させる。
【００５４】
そして、ＦＴ制御部１３３は、システム２００からReady(4)信号を受信したとき、それぞれ、初期化管理部１３１，１３２に、Go(1)信号、Go(2)信号を出力し、初期化管理部１３１，１３２は、初期化動作の保留を解除するようにした。
【００５５】
従って、リセット解除後の初期化動作に差違が生じた場合でも、初期化動作の完了タイミングは調整され、プロセッサ１０１、チップセット１０２が非同期回路を含むような場合でも、システム１００，２００の初期化タイミングは一致し、デターミニズムを保証することができる。そして、各ハードウェアを同期動作させることができる。
【００５６】
尚、本発明を実施するにあたっては、種々の形態が考えられ、上記実施形態に限られるものではない。
例えば、図５に示すように、プロセッサ１０１とプロセッサ２０２との間に、さらに、ブリッジ回路３０３を設けるようにしてもよい。
【００５７】
この場合、ブリッジ回路３０３は、上記実施形態と同様の初期化管理部を２つ備え、各初期化管理部は、それぞれ、プロセッサ１０１，２０１に接続される。このようにしても、本実施形態を、同様に適用でき、プロセッサ１０１，２０１間の初期動作のタイミングを一致させることができる。
【００５８】
また、上記実施形態では、ＦＴコンピュータ１のシステムをシステム１００，２００の２つとして説明した。しかし、システムは、２つに限られるものではなく、３つ以上であってもよい。
【００５９】
また、上記実施形態では、プログラムが、それぞれメモリ等に予め記憶されているものとして説明した。しかし、ＦＴコンピュータ１を、装置の全部又は一部として動作させ、あるいは、上述の処理を実行させるためのプログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【００６０】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【符号の説明】
【００６１】
１  フォールトトレラントコンピュータ（ＦＴコンピュータ）
１００，２００  システム
１０３，２０３  ブリッジ回路
１３１，１３２，２３１，２３２  初期化管理部
１３３，２３３  ＦＴ制御部
【図１】
2010211635.tif 000003
【図２】
2010211635.tif 000004
【図３】
2010211635.tif 000005
【図４】
2010211635.tif 000006
【図５】
2010211635.tif 000007