JP5061674B2 - フォールトトレラントコンピュータシステム及びデータ送信制御方法 - Google Patents

フォールトトレラントコンピュータシステム及びデータ送信制御方法 Download PDF

Info

Publication number
JP5061674B2
JP5061674B2 JP2007070622A JP2007070622A JP5061674B2 JP 5061674 B2 JP5061674 B2 JP 5061674B2 JP 2007070622 A JP2007070622 A JP 2007070622A JP 2007070622 A JP2007070622 A JP 2007070622A JP 5061674 B2 JP5061674 B2 JP 5061674B2
Authority
JP
Japan
Prior art keywords
input
issued
output
transaction
buffer means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007070622A
Other languages
English (en)
Other versions
JP2008234141A (ja
Inventor
文俊 水谷
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2007070622A priority Critical patent/JP5061674B2/ja
Publication of JP2008234141A publication Critical patent/JP2008234141A/ja
Application granted granted Critical
Publication of JP5061674B2 publication Critical patent/JP5061674B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、フォールトトレラントコンピュータシステム及びそこで行われるデータ送信制御方法に関し、特にロックステップ動作するCPUサブシステムの同期外れ検出後、故障箇所の特定後に故障CPUの切り離しを行い、残りの正常なCPUで処理を継続するためのフォールトトレラントコンピュータシステム及びそこで行われるデータ送信制御方法に関する。
フォールトトレラントコンピュータでは、冗長化したCPUサブシステムの出力を比較し、出力不一致を検出した場合に被疑CPUサブシステムの出力結果を破棄し、システムからの切り離しを行う。しかし、近年のCPUにおける動作速度の向上に伴い、冗長化したCPUの出力結果の出力順序や出力タイミングが必ずしも一意でない場合があった。これを誤って故障として検出することのないような出力比較を行うために、CPUの出力結果を一定量蓄積し、その内容から順序やタイミングに依存せずにその一致性を検証する手段がとられてきた。CPUの出力結果のずれは、大抵はCPU内部で処理されるスレッドの実行タイミングや順序のずれに起因するものであり、各スレッドはお互いの順序依存関係を持たず、それぞれのスレッドが異なる入出力ターゲットに対する処理を実行している。したがって出力結果の到着順序に依存しない比較は、各入出力ターゲット毎にバッファを設けて入出力ターゲット毎に比較を行うことで異なる入出力ターゲット間の追い越しを認めた比較を行うことで実現する。またバッファに蓄積することで異なるタイミングで到着する出力結果を比較することも出来る。
図1は、従来のフォールトトレラントコンピュータシステムにおいて、CPUサブシステムの発行する入出力トランザクションの時間的なずれを許容するトランザクション制御方法の一例を示すブロック図である。CPUサブシステム100は、プロセッサ、メモリ、メモリコントローラから構成され、入出力サブシステムに対して入出力トランザクションを発行する。また、クロックジェネレータ101からクロックが供給されることで動作する。CPUサブシステム100’は、CPUサブシステム100と全く同一の構成となっており、クロックジェネレータ101から供給されるクロックで動作する。CPUサブシステム100およびCPUサブシステム100’は、同一クロックタイミングで同一の処理を実行することで、互いに冗長構成となっている。入出力サブシステム200は、CPUサブシステムから発行された入出力トランザクションを受取り、それぞれのCPUサブシステム毎に接続される入出力ルータ210、210’によって入出力トランザクションの発行先に応じて適切な入出力コントローラ250、250’、250’’へ入出力トランザクションを分配する。FIFO 220、220’、220’’は入出力コントローラ毎に配置され、入出力ルータ210、210’のそれぞれが分配する入出力トランザクションを別々に格納する。比較器240、240’、240’’は、FIFOで別々に格納された入出力トランザクションの比較を行い、その不一致を検出した場合に、故障したものと判断されたCPUサブシステムからの入出力トランザクションを以後破棄する。
次に動作を説明する。冗長化されたCPUサブシステム100と100’の出力する入出力トランザクションはそれぞれ入出力ルータ210と210’において、出力先ターゲットとなる入出力コントローラ 250、250’、250’’ に従ったFIFO形式のバッファ220、220’、220’’へと送られる。それぞれのFIFOは、CPUサブシステム100、100’に対応したFIFOを持ち、両方からの出力結果がそろった時点でそれぞれの比較器240、240’、240’’で一致検証を行う。一致検証後、有効な出力結果はそれぞれ接続されている入出力コントローラ250、250’、250’’へと送られる。
この方式では、CPUサブシステムからの出力がバッファに送られる前に各入出力コントローラに専用のバッファにルーティングされてから待ち合わせが行われるため、異なる入出力コントローラ間での追い越しが許されるが、待ち合わせに使われるバッファが、それぞれの入出力コントローラ専用となるため、CPUサブシステムからの出力が特定の入出力コントローラに偏っている場合には効率的ではない。
図2は別の入出力トランザクションの制御方式をとる構成である。ランダムアクセス方式のバッファ230は、それぞれのCPUサブシステム100、100’が発行する入出力トランザクションを格納、発行先がそれぞれ入出力コントローラ250、250’、250’’に対応する入出力トランザクション同士の組み合わせで、格納された入出力トランザクションを比較器240に送る。入出力ルータ210は、比較器から受取った入出力トランザクションを発行先に応じて適切な入出力コントローラ250、250’、250’’へと分配する。
次に動作を説明する。冗長化されたCPUサブシステム100、100’の出力は一旦、ランダムアクセス方式のバッファ230へと送られて、両系CPUサブシステムの出力のタイミングを合わせる。ここで、出力先ターゲットである入出力コントローラ 250、250’、250’’のうち、両系CPUサブシステムからの出力が揃っているターゲットに対する出力が比較器240で比較され、有効な出力が入出力ルータ210を経由してターゲットとなる入出力コントローラへと送られる。
この方式では、全ての入出力コントローラに対する出力が1つのバッファで共用されるため、入出力コントローラへの出力が偏った場合でも、このバッファを使い切ることができるため効率がよい。しかし、特定の入出力コントローラに対して高負荷になっている場合にバッファがフルとなると、入出力コントローラ間での追い越しができなくなる。
特許第3821806号公報 特開2004−318702号公報
解決しようとする第1の問題点は、CPUの発行する入出力トランザクションの時間的なずれを許容する場合に、入出力トランザクションスループットを低下させないために、入出力トランザクションの一時格納バッファを発行先入出力コントローラ毎に大容量にしなければならないことである。また、バッファ容量の大きさは、入出力サブシステム内の入出力コントローラ数が増加するに従って無視することができなくなる。
その理由は、入出力トランザクション発行の時間的なずれが始まると、対応する入出力トランザクションが揃うまで待ち合わせが行われ、バッファ内に入出力トランザクションが蓄積され続けることにより、滞留する入出力トランザクションが累積されるため、大容量のバッファでこれを吸収する必要があるためである。
第2の問題点は、各入出力コントローラに対応するバッファの共用化を図った場合に、一定以上のバッファ容量を確保しなければ、特定の入出力コントローラへの負荷増大時には、入出力トランザクションの追い越しができなくなる場合があることである。
その理由は、バッファの共用化が行われると入出力トランザクションの発行が大量に行われた場合に、特定の入出力コントローラが一時的に入出力トランザクションを受け付けられない状態になると、当該入出力コントローラへの入出力トランザクションがバッファ中に滞留し続け、他の入出力コントローラへの入出力トランザクションを格納するスペースを圧迫し、最終的に入出力トランザクションの追い越しを許容するだけのバッファ容量を確保できなくなるためである。
フォールトトレラントコンピュータでは、冗長化したCPUサブシステムの出力を比較し、出力不一致を検出した場合に被疑CPUサブシステムの出力結果を破棄し、システムからの切り離しを行う。しかし、近年のCPUにおける動作速度の向上に伴い、冗長化したCPUの出力結果の出力順序や出力タイミングが必ずしも一意でない場合があった。これを誤って故障として検出することのないような出力比較を行うために、CPUの出力結果を一定量蓄積し、その内容から順序やタイミングに依存せずにその一致性を検証する手段がとられてきた。出力結果の到着順序に依存しない比較は、各入出力ターゲット毎にバッファを設けて入出力ターゲット毎に比較を行うことで異なる入出力ターゲット間の追い越しを認めた比較を行うことで実現する。またバッファに蓄積することで異なるタイミングで到着する出力結果を比較することも出来る。しかし、それぞれのバッファ容量を十分に確保しなければ伝送速度の低下につながるが、各入出力ターゲット毎に大容量のバッファを準備するのは効率が悪い。効率を重視してバッファを共有すると一時的に特定の入出力ターゲットが応答できない時に、順序の変わった出力があると、順序追い越しの待ち合わせが出来ずに不一致と判断せざるを得ない場合がある。
本発明の目的は、フォールトトレラントコンピュータシステムにおいて、CPUからの入出力トランザクションの発行時間および順序のずれを許容し、スループットの低下を防ぐための、入出力トランザクション格納バッファを小容量で提供することにある。
CPU出力を蓄積するバッファの領域を分割し、各入出力ターゲットに専用の領域(図3の220、220’、220’’)と共用する領域(図3の260、260’)を設ける。
専用領域で入出力ターゲット間の順序追い越しを確実に許容し、共用領域によって実質的に各入出力ターゲットに対するバッファ容量を大きくすることで速度低下を回避する。
本発明によれば、複数のCPUサブシステムであって、そのそれぞれがCPU及び記憶装置へのアクセスを制御する複数のCPUサブシステムと、前記複数のCPUサブシステムに対する外部からのデータの入出力を制御する入出力サブシステムとを備え、前記複数のCPUサブシステムは共通の内部クロックによって同一の動作を行うロックステップ方式により動作し、前記入出力サブシステムは、複数の入出力コントローラを備え、前記複数のCPUサブシステムと前記入出力システムとはリンクを介して接続されるフォールトトレラントコンピュータであって、前記入出力サブシステムは、制御手段を備え、更に、各前記CPUサブシステムに対して、前記複数の入出力コントローラの共用領域として設けられた第1のバッファ手段と、前記複数の入出力コントローラにそれぞれ対応して設けられた複数の第2のバッファ手段とを備え、前記制御手段は、或る前記CPUサブシステムから新たに入出力トランザクションが発行されたときに、その発行された入出力トランザクションの発行先である入出力コントローラへの既存の入出力トランザクションが前記或るCPUサブシステムに対応する前記第1のバッファ手段にある場合に、その発行された入出力トランザクションを前記或るCPUサブシステムに対応する前記第1のバッファ手段に一時蓄積させ、或る前記CPUサブシステムから新たに入出力トランザクションが発行されたときに、その発行された入出力トランザクションの発行先である入出力コントローラへの既存の入出力トランザクションが前記或るCPUサブシステムに対応する前記第1のバッファ手段にないが、その発行された入出力トランザクションの発行先である入出力コントローラに対応し、前記或るCPUサブシステムにも対応する前記第2のバッファ手段に空きが無い場合に、その発行された入出力トランザクションを前記或るCPUサブシステムに対応する前記第1のバッファ手段に一時蓄積させ、或る前記CPUサブシステムから新たに入出力トランザクションが発行されたときに、その発行された入出力トランザクションの発行先である入出力コントローラへの既存の入出力トランザクションが前記或るCPUサブシステムに対応する前記第1のバッファ手段になく、且つ、その発行された入出力トランザクションの発行先である入出力コントローラに対応し、前記或るCPUサブシステムにも対応する前記第2のバッファ手段に空きがある場合に、その発行された入出力トランザクションをその発行された入出力トランザクションの発行先である入出力コントローラに対応し、前記或るCPUサブシステムにも対応する前記第2のバッファ手段に一時蓄積させることを特徴とするフォールトトレラントコンピュータが提供される。
上記のフォールトトレラントコンピュータにおいて、前記制御手段は、同一の入出力コントローラに対応し、且つ、前記複数のCPUサブシステムにそれぞれ対応する複数の第2のバッファ手段にデータが揃った場合、前記複数の第2のバッファ手段にそれぞれ揃っている複数組のデータを相互に比較し、データが一致している場合には、そのデータを対応する入出力コントローラに送信するようにしてもよい。
専用領域のバッファによって、特定の入出力コントローラに対する入出力トランザクションの当該入出力コントローラからの引き取り待ちとなり共用領域を占有してしまっても、他の入出力コントローラに対する入出力トランザクションはそれぞれの専用領域のバッファに引き取ることができるため、入出力コントローラ間の順序追い越しを確実に許容する。
各入出力コントローラのバッファを共有することで、全体で必要なバッファ容量を従来よりも削減しながらも、実質的なバッファ容量の拡大ができるため、速度低下を回避することができる。
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図3を参照すると、本発明の一実施の形態としてのフォールトトレラントコンピュータシステムが示されている。
図3において、CPUサブシステム100および100’は、プロセッサ、メモリ、メモリコントローラから構成され、入出力サブシステム200に対して入出力トランザクションを発行する。クロックジェネレータ101はCPUサブシステム100および100’にクロックを供給する。入出力サブシステム200は、CPUサブシステム100および100’より発行される入出力トランザクションを受取り、各入出力トランザクションの発行先に応じて適切な入出力コントローラ250、250’、250’’へ入出力トランザクションを分配する。
入出力サブシステム200において、入出力ルータ210はCPUサブシステム100からの入出力トランザクションを受取り、入出力トランザクションの発行先をデコード、適切な入出力コントローラ250、250’、250’’に向けて入出力トランザクションを分配する機能を提供する。同様に入出力ルータ210’はCPUサブシステム100’からの入出力トランザクションを受取り、適切な入出力コントローラ250、250’、250’’に向けて分配する。バッファ220はFIFO形式のバッファであり、入出力ルータ210と入出力ルータ210’からの入出力トランザクションをそれぞれ格納し、両方のルータからの入出力トランザクションが揃うことで格納された入出力トランザクションを比較器240に渡す。比較器240は、入出力トランザクションの比較を行い、トランザクション内容が一致する場合には、そのトランザクションを入出力コントローラ250へ送る。入出力トランザクションの比較の結果、トランザクション内容が不一致の場合には、それ以降、故障したものと判断されるCPUサブシステムからの入出力トランザクションを破棄する。バッファ220および比較器240はそれぞれ関連する入出力コントローラ毎に用意され、入出力コントローラ250’および250’’にそれぞれバッファ220’および220’’、比較器240’および240’’がある。バッファ260は、ランダムアクセス式のバッファで、入出力ルータ210が特定の入出力コントローラに向けて入出力トランザクションを送ろうとした時に、バッファ200または200’または200’’のうち、当該入出力コントローラに対応するバッファがフルの場合に、その入出力トランザクションを一時的に格納する。
次に図3の入出力サブシステム200における入出力トランザクションの制御を説明する。
冗長化されたCPUサブシステム100、100’の発行する入出力トランザクションは、それぞれ入出力ルータ210、210’へと送られる。
ここで、図4は入出力ルータ210における入出力トランザクションの処理を示している。FIFO形式のバッファ220、220’、220’’のうち、入出力トランザクションの発行先となるバッファに空きがあり、かつ、全入出力コントローラ共用のランダムアクセス形式のバッファ260に当該入出力コントローラを発行先とする入出力トランザクションが格納されていない場合にはFIFO 220、220’、220’’へと出力を送る。一方、入出力トランザクションの発行先となるFIFOバッファに空きがない、または、全入出力コントローラ共用バッファに当該入出力コントローラを発行先とするトランザクションが格納されている場合には、入出力コントローラ共用バッファ260へ一時蓄積する。また、入出力ルータ210’も対応する共用バッファ260’を用いて同様の処理を行う。
入出力コントローラ共用バッファ260、260’は、ランダムアクセス方式のバッファで、蓄積された入出力トランザクションは、FIFO 220、220’、200’’のうち、当該入出力トランザクションの発行先に対応する入出力コントローラのFIFOに空きが出来たものから該当FIFOへと送られる。各入出力コントローラに専用で用意されるFIFO 220、220’、220’’は、必要最小限の大きさのFIFOであり、両系のCPUサブシステムからの出力が揃った時点で、対応する比較器240、240’、240’’で比較が行われ、有効な出力がそれぞれに対応する入出力コントローラ250、250’、250’’へと送られる。
別の実施形態を図5で説明する。図5において、CPUサブシステム100、100’、100’’によって3重化冗長構成となっている。これに伴い、入出力ルータ210、210’、210’’と共用バッファ260、260’、260’’がそれぞれのCPUサブシステムに対応する。また、入出力コントローラ専用FIFO 220、220’、220’’も、増加した入出力ルータからの入出力トランザクションをそれぞれ引き取るように増やされる。
本実施形態において、各入出力ルータの入出力トランザクション制御は、図4における制御と同一のものが適用できる。
本実施形態は、フォールトトレラントコンピュータシステムとしてはより高度なCPUサブシステムの3重化によって、故障CPUサブシステムの特定をより確実に行うことができ、故障CPUサブシステムを取り除いた状態でも、CPUの冗長構成を維持するものである。
第1の効果は、各入出力コントローラ毎に大容量のバッファを設ける必要がないということである。
その理由は、 全ての入出力コントローラが共用する1組のバッファを設けるため、バッファの容量を効率的に利用することができるためである。
第2の効果は、 特定の入出力コントローラを出力先とする入出力トランザクションが集中し、当該入出力コントローラが入出力トランザクションを引き取ることが出来なくなったとしても、別の入出力コントローラからの入出力トランザクションが追い越しできることである。
その理由は、特定の入出力コントローラが入出力トランザクションを引き取ることができなくとも、各々の入出力コントローラに専用のFIFOが用意されているため、他の入出力コントローラは入出力トランザクションを引き取ることができるためである。
従来のフォールトトレラントコンピュータのブロック図の例1である。 従来のフォールトトレラントコンピュータのブロック図の例2である。 本発明の第1の実施の形態のブロック図である。 本発明の動作を説明するフローチャートである。 本発明の第2の実施の形態のブロック図である。
符号の説明
100、100’、100’’ CPUサブシステム
101 クロックジェネレータ
200 入出力サブシステム
210、210’、210’’ 入出力サブシステム
220、220’、220’’ 入出力コントローラ専用FIFO
230 入出力コントローラ共用のランダムアクセス形式のバッファ
240、240’、240’’ 入出力トランザクション比較器
250、250’、250’’ 入出力コントローラ
260、260’、260’’ 入出力コントローラ共用のランダムアクセス形式のバッファ

Claims (6)

  1. 複数のCPUサブシステムであって、そのそれぞれがCPU及び記憶装置へのアクセスを制御する複数のCPUサブシステムと、
    前記複数のCPUサブシステムに対する外部からのデータの入出力を制御する入出力サブシステムとを備え、
    前記複数のCPUサブシステムは共通の内部クロックによって同一の動作を行うロックステップ方式により動作し、
    前記入出力サブシステムは複数の入出力コントローラを備え、
    前記複数のCPUサブシステムと前記入出力システムとはリンクを介して接続されるフォールトトレラントコンピュータであって、
    前記入出力サブシステムは、制御手段を備え、更に、各前記CPUサブシステムに対して、前記複数の入出力コントローラの共用領域として設けられた第1のバッファ手段と、前記複数の入出力コントローラにそれぞれ対応して設けられた複数の第2のバッファ手段とを備え、
    前記制御手段は、
    或る前記CPUサブシステムから新たに入出力トランザクションが発行されたときに、その発行された入出力トランザクションの発行先である入出力コントローラへの既存の入出力トランザクションが前記或るCPUサブシステムに対応する前記第1のバッファ手段にある場合に、その発行された入出力トランザクションを前記或るCPUサブシステムに対応する前記第1のバッファ手段に一時蓄積させ、
    或る前記CPUサブシステムから新たに入出力トランザクションが発行されたときに、その発行された入出力トランザクションの発行先である入出力コントローラへの既存の入出力トランザクションが前記或るCPUサブシステムに対応する前記第1のバッファ手段にないが、その発行された入出力トランザクションの発行先である入出力コントローラに対応し、前記或るCPUサブシステムにも対応する前記第2のバッファ手段に空きが無い場合に、その発行された入出力トランザクションを前記或るCPUサブシステムに対応する前記第1のバッファ手段に一時蓄積させ、
    或る前記CPUサブシステムから新たに入出力トランザクションが発行されたときに、その発行された入出力トランザクションの発行先である入出力コントローラへの既存の入出力トランザクションが前記或るCPUサブシステムに対応する前記第1のバッファ手段になく、且つ、その発行された入出力トランザクションの発行先である入出力コントローラに対応し、前記或るCPUサブシステムにも対応する前記第2のバッファ手段に空きがある場合に、その発行された入出力トランザクションをその発行された入出力トランザクションの発行先である入出力コントローラに対応し、前記或るCPUサブシステムにも対応する前記第2のバッファ手段に一時蓄積させることを特徴とするフォールトトレラントコンピュータ。
  2. 前記制御手段は、
    同一の入出力コントローラに対応し、且つ、前記複数のCPUサブシステムにそれぞれ対応する複数の第2のバッファ手段にデータが揃った場合、前記複数の第2のバッファ手段にそれぞれ揃っている複数組のデータを相互に比較し、データが一致している場合には、そのデータを対応する入出力コントローラに送信することを特徴とする請求項1記載のフォールトトレラントコンピュータ。
  3. 複数のCPUサブシステムであって、そのそれぞれがCPU及び記憶装置へのアクセスを制御する複数のCPUサブシステムと、
    前記複数のCPUサブシステムに対する外部からのデータの入出力を制御する入出力サブシステムとを備え、
    前記複数のCPUサブシステムは共通の内部クロックによって同一の動作を行うロックステップ方式により動作し、
    前記入出力サブシステムは複数の入出力コントローラを備え、
    前記複数のCPUサブシステムと前記入出力システムとはリンクを介して接続されるフォールトトレラントコンピュータで行われるデータ送信制御方法であって、
    前記入出力サブシステムは、制御手段を備え、更に、各前記CPUサブシステムに対して、前記複数の入出力コントローラの共用領域として設けられた第1のバッファ手段と、前記複数の入出力コントローラにそれぞれ対応して設けられた複数の第2のバッファ手段とを備え、
    前記制御手段が、
    或る前記CPUサブシステムから新たに入出力トランザクションが発行されたときに、その発行された入出力トランザクションの発行先である入出力コントローラへの既存の入出力トランザクションが前記或るCPUサブシステムに対応する前記第1のバッファ手段にある場合に、その発行された入出力トランザクションを前記或るCPUサブシステムに対応する前記第1のバッファ手段に一時蓄積させるステップと、
    前記制御手段が、
    或る前記CPUサブシステムから新たに入出力トランザクションが発行されたときに、その発行された入出力トランザクションの発行先である入出力コントローラへの既存の入出力トランザクションが前記或るCPUサブシステムに対応する前記第1のバッファ手段にないが、その発行された入出力トランザクションの発行先である入出力コントローラに対応し、前記或るCPUサブシステムにも対応する前記第2のバッファ手段に空きが無い場合に、その発行された入出力トランザクションを前記或るCPUサブシステムに対応する前記第1のバッファ手段に一時蓄積させるステップと、
    前記制御手段が、
    或る前記CPUサブシステムから新たに入出力トランザクションが発行されたときに、その発行された入出力トランザクションの発行先である入出力コントローラへの既存の入出力トランザクションが前記或るCPUサブシステムに対応する前記第1のバッファ手段になく、且つ、その発行された入出力トランザクションの発行先である入出力コントローラに対応し、前記或るCPUサブシステムにも対応する前記第2のバッファ手段に空きがある場合に、その発行された入出力トランザクションをその発行された入出力トランザクションの発行先である入出力コントローラに対応し、前記或るCPUサブシステムにも対応する前記第2のバッファ手段に一時蓄積させるステップと、
    を備えることを特徴とするデータ送信制御方法。
  4. 前記制御手段が、
    同一の入出力コントローラに対応し、且つ、前記複数のCPUサブシステムにそれぞれ対応する複数の第2のバッファ手段にデータが揃った場合、前記複数の第2のバッファ手段にそれぞれ揃っている複数組のデータを相互に比較し、データが一致している場合には、そのデータを対応する入出力コントローラに送信するステップを更に備えることを特徴とする請求項3記載のデータ送信制御方法。
  5. 複数のCPUサブシステムであって、そのそれぞれがCPU及び記憶装置へのアクセスを制御する複数のCPUサブシステムと、
    前記複数のCPUサブシステムに対する外部からのデータの入出力を制御する入出力サブシステムとを備え、
    前記複数のCPUサブシステムは共通の内部クロックによって同一の動作を行うロックステップ方式により動作し、
    前記入出力サブシステムは複数の入出力コントローラを備え、
    前記複数のCPUサブシステムと前記入出力システムとはリンクを介して接続され
    前記入出力サブシステムは、制御手段を備え、更に、各前記CPUサブシステムに対して、前記複数の入出力コントローラの共用領域として設けられた第1のバッファ手段と、前記複数の入出力コントローラにそれぞれ対応して設けられた複数の第2のバッファ手段とを備えたフォールトトレラントコンピュータのプログラムであって、
    前記フォールトトレラントコンピュータを、
    或る前記CPUサブシステムから新たに入出力トランザクションが発行されたときに、その発行された入出力トランザクションの発行先である入出力コントローラへの既存の入出力トランザクションが前記或るCPUサブシステムに対応する前記第1のバッファ手段にある場合に、その発行された入出力トランザクションを前記或るCPUサブシステムに対応する前記第1のバッファ手段に一時蓄積させる手段と、
    或る前記CPUサブシステムから新たに入出力トランザクションが発行されたときに、その発行された入出力トランザクションの発行先である入出力コントローラへの既存の入出力トランザクションが前記或るCPUサブシステムに対応する前記第1のバッファ手段にないが、その発行された入出力トランザクションの発行先である入出力コントローラに対応し、前記或るCPUサブシステムにも対応する前記第2のバッファ手段に空きが無い場合に、その発行された入出力トランザクションを前記或るCPUサブシステムに対応する前記第1のバッファ手段に一時蓄積させる手段と、
    或る前記CPUサブシステムから新たに入出力トランザクションが発行されたときに、その発行された入出力トランザクションの発行先である入出力コントローラへの既存の入出力トランザクションが前記或るCPUサブシステムに対応する前記第1のバッファ手段になく、且つ、その発行された入出力トランザクションの発行先である入出力コントローラに対応し、前記或るCPUサブシステムにも対応する前記第2のバッファ手段に空きがある場合に、その発行された入出力トランザクションをその発行された入出力トランザクションの発行先である入出力コントローラに対応し、前記或るCPUサブシステムにも対応する前記第2のバッファ手段に一時蓄積させる手段と、
    として機能させるためのプログラム。
  6. 更に、前記フォールトトレラントコンピュータを、
    同一の入出力コントローラに対応し、且つ、前記複数のCPUサブシステムにそれぞれ対応する複数の第2のバッファ手段にデータが揃った場合、前記複数の第2のバッファ手段にそれぞれ揃っている複数組のデータを相互に比較し、データが一致している場合には、そのデータを対応する入出力コントローラに送信する手段と、
    して機能させることを特徴とする請求項5記載のプログラム。
JP2007070622A 2007-03-19 2007-03-19 フォールトトレラントコンピュータシステム及びデータ送信制御方法 Expired - Fee Related JP5061674B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007070622A JP5061674B2 (ja) 2007-03-19 2007-03-19 フォールトトレラントコンピュータシステム及びデータ送信制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007070622A JP5061674B2 (ja) 2007-03-19 2007-03-19 フォールトトレラントコンピュータシステム及びデータ送信制御方法

Publications (2)

Publication Number Publication Date
JP2008234141A JP2008234141A (ja) 2008-10-02
JP5061674B2 true JP5061674B2 (ja) 2012-10-31

Family

ID=39906859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007070622A Expired - Fee Related JP5061674B2 (ja) 2007-03-19 2007-03-19 フォールトトレラントコンピュータシステム及びデータ送信制御方法

Country Status (1)

Country Link
JP (1) JP5061674B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6197585B2 (ja) 2013-11-01 2017-09-20 富士通株式会社 情報処理装置、及び、情報処理装置の制御方法
EP3085596B1 (en) 2015-04-20 2017-11-29 Autoliv Development AB A vehicle safety electronic control system
JP2016212485A (ja) * 2015-04-30 2016-12-15 日本電信電話株式会社 仮想マシン同期システム、仮想マシン同期方法および仮想マシン同期プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH066387A (ja) * 1992-06-16 1994-01-14 Hitachi Ltd データ転送制御方法および装置
JP3821806B2 (ja) * 2002-08-30 2006-09-13 エヌイーシーコンピュータテクノ株式会社 フォールトトレラントコンピュータ、そのトランザクション同期制御方法及びプログラム
JP4155088B2 (ja) * 2003-04-18 2008-09-24 日本電気株式会社 情報処理装置

Also Published As

Publication number Publication date
JP2008234141A (ja) 2008-10-02

Similar Documents

Publication Publication Date Title
US7493517B2 (en) Fault tolerant computer system and a synchronization method for the same
US8924772B2 (en) Fault-tolerant system and fault-tolerant control method
EP2525292A1 (en) System and method for using redundancy of controller operation
CA2530921A1 (en) Fault tolerant system and controller, access control method, and control program used in the fault tolerant system
US9477559B2 (en) Control device, control method and recording medium storing program thereof
JPS58221453A (ja) 多重系情報処理装置
CA2794058C (en) Method of providing high integrity processing
JP5061674B2 (ja) フォールトトレラントコンピュータシステム及びデータ送信制御方法
JP2018165913A (ja) 演算処理装置、情報処理装置、及び演算処理装置の制御方法
EP1672504A2 (en) Method and system for resetting fault tolerant computer system
JP3821806B2 (ja) フォールトトレラントコンピュータ、そのトランザクション同期制御方法及びプログラム
US7178058B2 (en) Fault tolerant computer and transaction synchronization control method
WO2010100757A1 (ja) 演算処理システム、再同期方法、およびファームプログラム
CN106294031A (zh) 一种业务管理方法和存储控制器
EP2615548B1 (en) Computing device
JP2011123756A (ja) 安全制御装置、及びその安全制御プログラム
CN115098273A (zh) 双核锁步方法、装置和电子设备
JP5748214B2 (ja) 二重化情報処理システム
JP4640359B2 (ja) フォールトトレラントコンピュータ、フォールトトレラントコンピュータにおける同期制御方法
JP6394727B1 (ja) 制御装置、制御方法、及び、フォールトトレラント装置
JP2008234117A (ja) マルチプロセッサシステムおよびマルチプロセッサシステムにおける復旧方法
JP4117685B2 (ja) フォルトトレラント・コンピュータとそのバス選択制御方法
JP2008210183A (ja) 冗長化制御システム
JP6214346B2 (ja) 二重系制御装置
JP2010224940A (ja) フォールトトレラントシステム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080620

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100302

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100906

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120625

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120723

R150 Certificate of patent or registration of utility model

Ref document number: 5061674

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees