JP3982353B2 - フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム - Google Patents

フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム Download PDF

Info

Publication number
JP3982353B2
JP3982353B2 JP2002204305A JP2002204305A JP3982353B2 JP 3982353 B2 JP3982353 B2 JP 3982353B2 JP 2002204305 A JP2002204305 A JP 2002204305A JP 2002204305 A JP2002204305 A JP 2002204305A JP 3982353 B2 JP3982353 B2 JP 3982353B2
Authority
JP
Japan
Prior art keywords
computing
access
computing modules
control means
computing module
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
JP2002204305A
Other languages
English (en)
Other versions
JP2004046611A (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 JP2002204305A priority Critical patent/JP3982353B2/ja
Priority to TW092117919A priority patent/TWI226983B/zh
Priority to AU2003208108A priority patent/AU2003208108A1/en
Priority to CA002434494A priority patent/CA2434494C/en
Priority to US10/614,000 priority patent/US7225355B2/en
Priority to ES03015796T priority patent/ES2247459T3/es
Priority to EP03015796A priority patent/EP1380952B1/en
Priority to DE60301702T priority patent/DE60301702T2/de
Priority to KR1020030047086A priority patent/KR100566339B1/ko
Priority to CNB031472990A priority patent/CN1326042C/zh
Publication of JP2004046611A publication Critical patent/JP2004046611A/ja
Application granted granted Critical
Publication of JP3982353B2 publication Critical patent/JP3982353B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数のコンピューティングモジュールで、同じ命令列をクロック同期させて全く同じに処理するロックステップ方式のフォルトトレラントコンピュータ装置(fault tolerant computer)に関し、特にコンピューティングモジュール間の同一動作性が崩れた場合(ロックステップが外れた場合)の再同期化処理の高速化を実現するフォルトトレラントコンピュータ装置及び高速再同期制御方法に関する。
【0002】
【従来の技術】
従来のロックステップ方式のフォルトトレラントコンピュータ装置では、同じ命令列を同時期に実行している複数のコンピューティングモジュールの中で、故障あるいはその他の外的あるいは内的要因により、他のコンピューティングモジュールと異なる出力を行うコンピューティングモジュールを検出した場合は、以下のような対策を講じている。以降において、他のコンピューティングモジュールと同期して同じ動作を行うことができないコンピューティングモジュールを検出した場合の、当該コンピューティングモジュールをロックステップが外れたコンピューティングモジュールと称する。
【0003】
すなわち、ロックステップが外れたコンピューティングモジュールを一旦運用状態から切り離し、ロックステップが外れる要因に応じて必要によりコンピューティングモジュールを交換し、あるいは交換を必要としない場合は必要に応じた再初期化処理等を行うことにより、運用状態に組み込むといった対策がとられている。
【0004】
この運用状態への組み込みは、従来のロックステップ方式のフォルトトレラントコンピュータ装置では、ロックステップの外れたコンピューティングモジュールを交換したかどうかに関わりなく、その再組み込みのときに、他の運用を継続しているコンピューティングモジュールと再度同期をとって同じ処理をするために、運用状態のコンピューティングモジュールのもつメモリのデータを全て、再組み込みするコンピューティングモジュールのもつメモリへコピーしている。
【0005】
【発明が解決しようとする課題】
従来のロックステップ方式のフォルトトレラントコンピュータ装置は、ロックステップが外れたコンピューティングモジュールの交換やロックステップが外れた原因の部位に応じた再初期化処理などを実施した後、再度運用状態に組み込む場合に、運用状態にあったコンピューティングモジュールを長時間停止させている。
【0006】
すなわち、この従来のロックステップ方式のフォルトトレラントコンピュータ装置では、ロックステップが外れたコンピューティングモジュールの再組み込み処理の間、フォルトトレラントコンピュータ装置全体が長期間(一般に3〜5秒間、乃至分オーダーの時間)、業務を停止してしまうという問題があった。
【0007】
その理由は、ロックステップが外れたコンピューティングモジュールを運用状態に組み込むために、故障の状態に関わらず、常に全てのメモリ内容を、運用を継続しているコンピューティングモジュールから、再度組み込もうとしているコンピューティングモジュールにコピーしているためである。
【0008】
また、このコピー処理中に正常なコンピューティングモジュールの運用を継続すると、正常なコンピューティングモジュールのメモリ内容がコピー処理中にも変更されるため、正しくコピーすることができない。このため、コピー処理中は、運用状態にあったコンピューティングモジュールを一旦停止させて、メモリの内容が更新されないようにしている。
【0009】
現在のコンピューティングモジュール内のメモリの容量は、数ギガバイトに及んでいることから、メモリの全領域をコピーするには長時間を要することになる。
【0010】
ところで、ロックステップ方式のフォルトトレラントコンピュータ装置では、様々な原因により、各コンピューティングモジュール間のロックステップが外れる可能性がある。
【0011】
第1の要因としては、コンピューティングモジュール内部で、固定的な故障が発生した場合である。この場合は、故障したコンピューティングモジュールの交換を行うことになり、交換するコンピューティングモジュールを運用系に組み込む時には、運用状態のコンピューティングモジュールのメモリの全てのデータをコピーする必要がある。
【0012】
ロックステップ方式のフォルトトレラントコンピュータ装置では、上述のような固定的な故障のほかに、コンピューティングモジュール内の各ユニットの製造上の差違により、正常動作はしているものの異なるタイミングで動作していることからロックステップが外れることや、α線等の影響によるメモリの自動訂正可能な間欠障害によってロックステップが外れることがある。
【0013】
これらのケースでは、コンピューティングモジュール自体に固定的な故障が発生しているのではないことから、本来、交換する必要はなく、再度運用中の他のコンピューティングモジュールとの処理の同期化を行い、組み込むことで、フォルトトレラントコンピュータ装置全体として、正常な稼働状態に復旧せしめることができる。
【0014】
本発明の目的は、固定的な故障以外の原因によってロックステップが外れたコンピューティングモジュールを、従来の方式より高速に運用状態に再組み込みすることを可能とし、これによって組み込み処理のために発生する装置の動作の一時停止時間を著しく短縮するフォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラムを提案することにある。
【0015】
本発明の他の目的は、上述の再組み込み処理時間の短縮により、装置の可用性の向上を実現するフォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラムを提案することにある。
【0016】
【課題を解決するための手段】
上記目的を達成する本発明は、プロセッサ、メモリを含むコンピューティングモジュールを複数備え、各コンピューティングモジュールがクロック同期して同じ命令列を処理するロックステップ方式のフォルトトレラントコンピュータ装置において、前記各コンピューティングモジュール内の前記各プロセッサ間の外部バスへのアクセス状態の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、全ての前記各プロセッサに対して割り込みを発生させ、前記各プロセッサにクロック同期制御命令を実行させることにより、同期制御タスクをレディーキューの先頭に最優先タスクとしてキューイングし、待ち合わせを行い、各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで前記各コンピューティングモジュールに対してクロック同期での動作の再開処理を行うことを特徴とする。
【0017】
請求項2の本発明のフォルトトレラントコンピュータ装置は、前記各コンピューティングモジュールを含む装置全体の故障の有無を監視する障害監視制御手段と、前記各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視し、各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、その旨をコンピューティングモジュールに通知して前記各プロセッサに割り込みを発生させるバス監視制御手段と、各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対してクロック同期での動作を再開させる同期制御手段とを備えることを特徴とする。
【0018】
請求項3の本発明のフォルトトレラントコンピュータ装置は、前記バス監視制御手段が、各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、各コンピューティングモジュール間のクロック同期の再同期を図るための所定のタスクであって、前記同期制御手段内の所定のリソースへのアクセスを実行するタスクを前記各プロセッサに割り込ませ、同時に前記プロセッサの前記外部バスへのアクセスの監視を中断し、前記同期制御手段が、全てのコンピューティングモジュールからの前記リソースへのアクセスを待ち合わせて、同時に全てのコンピューティングモジュールに対して前記アクセスに対する応答を行うことを特徴とする。
【0019】
請求項4の本発明のフォルトトレラントコンピュータ装置は、前記バス監視制御手段と、前記障害監視制御手段と、前記同期制御手段を複数組備えることを特徴とする。
【0020】
請求項5の本発明のフォルトトレラントコンピュータ装置は、前記バス監視制御手段と、前記障害監視制御手段と、前記同期制御手段が、周辺装置の制御を行う周辺装置制御部内に備えられ、PCIブリッジを介して前記コンピューティングモジュール内の外部バスに続されることを特徴とする。
【0021】
請求項6の本発明は、プロセッサ、メモリを含むコンピューティングモジュールを複数備え、各コンピューティングモジュールがクロック同期して同じ命令列を処理するロックステップ方式のフォルトトレラントコンピュータ装置における再同期化方法であって、前記各コンピューティングモジュール内の前記各プロセッサ間の外部バスへのアクセス状態の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、全ての前記各プロセッサに対して割り込みを発生させ、前記各プロセッサにクロック同期制御命令を実行させることにより、同期制御タスクをレディーキューの先頭に最優先タスクとしてキューイングし、待ち合わせを行い、各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対してクロック同期での動作を再開させることを特徴とする。
【0022】
請求項7の本発明の再同期化方法は、前記各コンピューティングモジュールを含む装置全体の故障の有無を監視するステップと、前記各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視するステップと、各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、その旨をコンピューティングモジュールに通知して前記各プロセッサに割り込みを発生させるステップと、前記各プロセッサにクロック同期制御命令を実行させ、各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対してクロック同期での動作を再開させるステップとを備えることを特徴とする。
【0023】
請求項8の本発明の再同期化方法は、各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、各コンピューティングモジュール間のクロック同期の再同期を図るための所定のタスクであって、前記同期制御手段内の所定のリソースへのアクセスを実行するタスクを前記各プロセッサに割り込ませ、同時に前記プロセッサの前記外部バスへのアクセスの監視を中断し、全てのコンピューティングモジュールからの前記リソースへのアクセスを待ち合わせて、同時に全てのコンピューティングモジュールに対して前記アクセスに対する応答を行うことを特徴とする。
【0024】
請求項9の本発明は、プロセッサ、メモリを含むコンピューティングモジュールを複数備え、各コンピューティングモジュールがクロック同期して同じ命令列を処理するロックステップ方式のフォルトトレラントコンピュータ装置の再同期化処理を実行する再同期化プログラムであって、前記各コンピューティングモジュール内の前記各プロセッサ間の外部バスへのアクセス状態の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、全ての前記各プロセッサに対して割り込みを発生させる機能と、前記各プロセッサにクロック同期制御命令を実行させることにより、同期制御タスクをレディーキューの先頭に最優先タスクとしてキューイングし、待ち合わせを行い、各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対してクロック同期での動作を再開させる機能を実行することを特徴とする。
【0025】
請求項10の本発明の再同期化プログラムは、前記各コンピューティングモジュールを含む装置全体の故障の有無を監視する機能と、前記各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視する機能と、各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、その旨をコンピューティングモジュールに通知して前記各プロセッサに割り込みを発生させる機能と、前記各プロセッサにクロック同期制御命令を実行させ、各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対してクロック同期での動作を再開させる機能とを実行することを特徴とする。
【0026】
請求項11の本発明の再同期化プログラムは、各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、各コンピューティングモジュール間のクロック同期の再同期を図るための所定のタスクであって、前記同期制御手段内の所定のリソースへのアクセスを実行するタスクを前記各プロセッサに割り込ませ、同時に前記プロセッサの前記外部バスへのアクセスの監視を中断し、全てのコンピューティングモジュールからの前記リソースへのアクセスを待ち合わせて、同時に全てのコンピューティングモジュールに対して前記アクセスに対する応答を行うことを特徴とする。
【0027】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施の形態によるロックステップ方式のフォルトトレラントコンピュータ装置の構成を示すブロック図である。
【0028】
図1を参照すると、本実施の形態によるフォルトトレラントコンピュータ装置は、複数のコンピューティングモジュール100、200、300を備えて構成され、各コンピューティングモジュール100、200、300はそれぞれクロック同期して同じ命令列を処理し、各コンピューティングモジュールの処理結果を比較し、1個のコンピューティングモジュールで故障が発生しても、残りのコンピューティングモジュールにより処理を継続することができる。
【0029】
各コンピューティングモジュール100、200は、それぞれ複数のプロセッサ101、102、201、202、301、302と、プロセッサ外部バス103、203、303と、メモリ104、204、304と、メモリ制御部105、205、305とを備えて構成されている。
【0030】
また、各コンピューティングモジュール100、200、300は、メモリ制御部105、205、305及びインタフェース信号線600、601、602、610、611、612を介して周辺装置の制御を行う周辺装置制御部400、500と接続されている。
【0031】
上記フォルトトレラントコンピュータ装置は、さらに、バス監視制御部700と、障害監視制御部702と、同期制御手段701とを備えている。
【0032】
バス監視制御部700は、各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視する。このバス監視制御部700は、各コンピューティングモジュール100、200、300のプロセッサ外部バス103、203、303とインタフェース信号線710、711、712を介して接続されている。
【0033】
障害監視制御部702は、各コンピューティングモジュールを含む装置全体の故障の有無を監視する。
【0034】
そして、同期制御部701は、各コンピューティングモジュールと接続され、各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対してクロック同期での動作を再開させる。この同期制御部701は、各コンピューティングモジュール100、200、300のメモリ制御部105、205、305とインタフェース信号線730、731、732を介して接続されている。
【0035】
次いで、上記のように構成される本実施の形態によるフォルトトレラントコンピュータ装置の動作について説明する。
【0036】
障害監視制御部702は、各コンピューティングモジュール100、200、300と各周辺装置制御部400、500を含むフォルトトレラントコンピュータ装置全体の故障の有無を監視し、その結果をバス監視制御部700に通知する。
【0037】
バス監視制御部700は、各コンピューティングモジュール100、200、300のプロセッサ外部バス103、203、303とインタフェース信号線710、711、712を介して接続され、各プロセッサ101、102、201、202、301、302の外部アクセス制御信号を比較して、各プロセッサ101、102、201、202、301、302がクロック同期によって同じタイミングで外部バス103、203、303をアクセスしているかどうかを監視する。
【0038】
バス監視制御部700は、上記監視動作により、いずれかのプロセッサ101、102、201、202、301、302が他と異なるタイミングで動作していることを検出した時であって、障害監視制御部702がフォルトトレラントコンピュータ装置のどこにも故障を検出していなかった場合、このロックステップ外れの原因が故障によるものでないことを検知する。該検知結果は全てのコンピューティングモジュール100、200、300にインタフェース信号線710、711、712を介して通知され、各プロセッサに割り込まれる。また、同時にバス監視制御部700は、プロセッサの外部バス103、203、303の監視の中断モードに遷移する。
【0039】
ここで、バス監視制御部700は、プロセッサのメモリアクセスを含む全ての外部バス103、203、303へのアクセスを監視しており、かつ、コンピューティングモジュール間の動作の不一致を検出したとき、即座に全てのプロセッサ101、102、201、202、301、302に割り込んで、その処理を中断させるため、割り込みの発生した時点では各コンピューティングモジュール100、200、300内のメモリ104、204、304の内容は全て一致した状態である。
【0040】
以下、図2を参照して、本実施の形態によるフォルトトレラントコンピュータ装置の具体的な動作内容を説明する。
【0041】
バス監視制御部700でコンピューティングモジュール間の動作の不一致を検出すると(図2のステップ201)、インタフェース信号線710、711、712を介して通知され、各プロセッサに割り込みが発生する。
【0042】
全てのプロセッサ101、102、201、202、301、302は、その割り込み処理中で、各コンピューティングモジュール100、200、300間のクロック同期動作の再同期を図るための同期制御タスクをレディーキューの先頭に最優先のタスクとしてキューイングする(図2のステップ202)。
【0043】
この同期制御タスクは、同期制御部701内の特別に規定されたリソースへのアクセス命令を実行する機能を有する。その後、OSによって上記同期制御タスクが実行状態に移されたとき、該タスクは同期制御部701内の規定されたリソースへのアクセス命令を実行する(図2のステップ203)。
【0044】
この時点では、ロックステップの外れたコンピューティングモジュールからの上記規定のリソースへのアクセスと、他のロックステップ状態にあるコンピューティングモジュールからの上記規定のリソースへのアクセスは、当然ながら時間的にずれた状態で同期制御部701に伝達される。
【0045】
同期制御部701は、内部の特別に規定されたリソースへのコンピューティングモジュール100、200、300からのアクセスを検出すると、それが最初のものである場合、すぐに対応するコンピューティングモジュールに対する応答を返さず、その他の全てのコンピューティングモジュールからのアクセスがあるまで待ち合わせる(図2のステップ204)。全てのコンピューティングモジュール100、200、300からのアクセスが伝達されたとき、全てのコンピューティングモジュール100、200、300に対して同時にそのアクセスに対する応答を返却する。
【0046】
各コンピューティングモジュール100、200、300内の全てのプロセッサは、同期制御部701からの応答を受けて、上記同期制御タスクの実行を終了する(図2のステップ205)。そして、その後全てのプロセッサは、通常のプログラム動作を継続する(図2のステップ206)。
【0047】
以上説明した動作により、再び各コンピューティングモジュール100、200、300はクロック同期した状態で動作を継続することができる。このとき、前記した通り、各コンピューティングモジュール100、200、300内のメモリ104、204、304の内容が不一致となる前に再同期処理が実行されるため、再度クロック同期して動作したあとは、再び全てのコンピューティングモジュール100、200、300が、同じタイミングで同じ命令列を実行できる。このことにより、従来のフォルトトレラントコンピュータ装置のごとく再同期のためにメモリをコピーする必要がなくなり、再同期処理を高速に実行することができる。
【0048】
図3は、本発明の第2の実施の形態によるフォルトトレラントコンピュータ装置の構成を示すブロック図である。
【0049】
図3を参照すると、本発明の実施の形態によるフォルトトレラントコンピュータ装置は、プロセッサ、メモリを含むコンピューティングモジュール100、200とPCIブリッジ703を含む周辺装置制御部400、500をそれぞれ複数備え、各コンピューティングモジュール100、200はクロック同期して同じ命令列を処理し、各コンピューティングモジュールの処理結果を比較し、1個のコンピューティングモジュールで故障が発生しても、残りのコンピューティングモジュールにより処理を継続できる構成であり、また、各周辺装置制御部400、500は、ソフトウェア制御によって多重化され、1個の周辺装置制御部で故障が発生しても、他の周辺装置制御部を利用して処理を継続できる構成となっている。
【0050】
各周辺装置制御部400には、それぞれ各コンピューティングモジュール100、200内部のメモリ制御部105、205とPCIを介して接続され、周辺装置との接続を行うPCIブリッジ703と、各コンピューティングモジュール100、200内部の各プロセッサの外部バスへのアクセスを監視するバス監視制御部700と、各コンピューティングモジュール100、200を含むフォルトトレラントコンピュータ装置全体の故障の有無を監視する障害監視制御部702と、各コンピューティングモジュールと前記PCIブリッジ703を介して接続され、各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールのクロック同期を回復せしめる同期制御部701が備えられている。
【0051】
なお、図示を省略しているが、周辺装置制御部500も、周辺装置制御部400と同様に上記各構成要素を備えている。
【0052】
本実施の形態のロックステップ方式のフォルトトレラントコンピュータ装置においては、通常、周辺装置制御部400を使用することにより、各コンピューティングモジュール100、200のクロック同期の動作の監視と、周辺装置の制御を行う。周辺装置制御部400に故障が発生した場合は、周辺装置制御部500に切り替えることにより同様の処理を行う。
【0053】
また、本実施の形態では、図2で示す同期制御部701内の規定のリソースへのアクセス命令実行(図2のステップ203)は、周辺装置制御部400内部の同期制御部701内部にあるレジスタへのリード命令の実行によって行い、そのリード命令は、PCIバス800、801とPCIブリッジ703を介して同期制御部701に伝達し、その応答も同じ経路で各コンピューティングモジュール100、200に伝達する。
【0054】
本実施の形態における再同期化処理の内容については、図2に示した内容と同様である。
【0055】
また、本実施の形態では、コンピューティングモジュールが2個の場合の実施例を示しているが、図1の第1の実施の形態に示すようなコンピューティングモジュールが3つの構成、あるいは4つ以上の構成であっても、同様に作用する。
【0056】
図4は、本発明の第3の実施の形態によるフォルトトレラントコンピュータ装置の構成を示すブロック図である。
【0057】
本実施の形態では、バス監視制御部700は、PCIブリッジ703を介してコンピューティングモジュール100、200と接続される構成を示している。
【0058】
この実施の形態においては、各プロセッサの外部バス103、203の監視は、各コンピューティングモジュール100、200のメモリ制御部105、205とPCIバス800、801、及びPCIブリッジ703を経由してバス監視制御部700に伝達される信号(PCIバスプロトコル)によって実施される。また、バス監視制御部700から各コンピューティングモジュールへの割り込みの伝達は、上記と逆の経路を経由して実施される。
【0059】
本実施の形態における再同期化処理の内容については、図2に示した内容と同様である。
【0060】
なお、第2及び第3の実施の形態において、PCIを使って各コンピューティングモジュールとバス監視制御部等を接続しているが、これらの間の接続は、たとえばPCI−Xなどの他の規格のインタフェースや、あるいは一般に規格化されていない専用のインタフェースであってもよく、本発明の効果にはなんら影響を与えない。
【0061】
本発明のフォルトトレラントコンピュータ装置では、再同期化処理を実行する各手段の機能をハードウェア的に実現することは勿論として、上記した各手段の機能を実行する再同期化処理プログラム1000をコンピュータ処理装置のメモリにロードしてコンピュータ処理装置を制御することで実現することができる。この再同期化処理プログラム1000は、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【0062】
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも上記実施の形態に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【0063】
上述した各実施の形態では、各コンピューティングモジュール内のプロセッサが2つの構成の場合を示したが、該プロセッサが1つ、あるいは3つ以上であってもまったく同様に作用する。
【0064】
また、各実施の形態では、各プロセッサが1つの外部バスを共有し、同一バス上に接続されている場合を示しているが、例えば、メモリ制御部から複数のプロセッサが星形接続されるような構成であっても、あるいは1つのコンピューティングモジュールを構成するプロセッサが、物理的に複数のボードにわかれて構成されていても、本発明の効果になんら影響しない。
【0065】
【発明の効果】
以上説明したように本発明によれば、以下に述べるような効果が得られるものである。
【0066】
第1の効果は、フォルトトレラントコンピュータ装置のあるコンピューティングモジュールが、固定故障以外の要因でロックステップ状態から外れた場合に、極めて短時間でロックステップ状態に回復させられることである。
【0067】
その理由は、バス監視制御手段によって、ロックステップ外れの発生の初期の段階であって、各コンピューティングモジュール内のメモリがまだ不一致となっていない時期にプロセッサに割り込ませ、再同期を制御するための命令列を実行するタスクを優先的に実行させることにより、メモリのコピーを行うことなく同期を回復させられるからである。
【0068】
第2の効果は、フォルトトレラントコンピュータ装置の可用性を向上させられることである。その理由は、ロックステップ外れがおこったときの再組み込み時間を著しく高速化することによって、装置全体が停止する期間を大幅に短縮することができるからである。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態によるフォルトトレラントコンピュータ装置の構成を示すブロック図である。
【図2】 本発明の第1の実施の形態によるフォルトトレラントコンピュータ装置の再同期化処理の内容を説明する図である。
【図3】 本発明の第1の実施の形態によるフォルトトレラントコンピュータ装置の構成を示すブロック図である。
【図4】 本発明の第1の実施の形態によるフォルトトレラントコンピュータ装置の構成を示すブロック図である。
【符号の説明】
100、200、300 コンピューティングモジュール
101、102、201、202、301、302 プロセッサ
103、203、303 プロセッサ外部バス
104、204、304 メモリ
105、205、305 メモリ制御部
400、500 周辺装置制御部
600、601、602、610、611、612、710、711、712、730、731、732 インタフェース信号線
700 バス監視制御部
701 同期制御部
702 障害監視制御部
703 PCIブリッジ
800、801、802 PCIバス

Claims (10)

  1. プロセッサ、メモリを含むコンピューティングモジュールを複数備え、各コンピューティングモジュールがクロック同期して同じ命令列を処理するロックステップ方式のフォルトトレラントコンピュータ装置において、
    前記各コンピューティングモジュールを含む装置全体の故障の有無を監視する障害監視制御手段と、
    前記各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視し、各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、その旨をコンピューティングモジュールに通知して前記各プロセッサに割り込みを発生させるバス監視制御手段と、
    前記各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで前記各コンピューティングモジュールに対してクロック同期での動作を再開させる同期制御手段とを備え、
    前記バス監視制御手段が前記各コンピューティングモジュール内の前記各プロセッサ間の外部バスへのアクセス状態の不一致を検出した場合であって、前記障害監視制御手段によって前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、前記バス監視制御手段は全ての前記各プロセッサに対して割り込みを発生させ、同時に前記外部バスの監視を中断し、前記各プロセッサは同期制御タスクをレディーキューの先頭に最優先タスクとしてキューイングし、クロック同期制御命令を実行することにより、前記同期制御手段が各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで前記各コンピューティングモジュールに対してクロック同期での動作の再開処理を行うことを特徴とするフォルトトレラントコンピュータ装置。
  2. 前記バス監視制御手段が、
    各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、各コンピューティングモジュール間のクロック同期の再同期を図るための所定のタスクであって、前記同期制御手段内の所定のリソースへのアクセスを実行するタスクを前記各プロセッサに割り込ませ、同時に前記プロセッサの前記外部バスへのアクセスの監視を中断し、
    前記同期制御手段が、
    全てのコンピューティングモジュールからの前記リソースへのアクセスを待ち合わせて、同時に全てのコンピューティングモジュールに対して前記アクセスに対する応答を行うことを特徴とする請求項1に記載のフォルトトレラントコンピュータ装置。
  3. 前記バス監視制御手段と、前記障害監視制御手段と、前記同期制御手段を複数組備えることを特徴とする請求項1に記載のフォルトトレラントコンピュータ装置。
  4. 前記バス監視制御手段と、前記障害監視制御手段と、前記同期制御手段が、周辺装置の制御を行う周辺装置制御部内に備えられ、PCIブリッジを介して前記コンピューティングモジュール内の外部バスに続されることを特徴とする請求項1に記載のフォルトトレラントコンピュータ装置。
  5. プロセッサ、メモリを含むコンピューティングモジュールを複数備え、
    前記各コンピューティングモジュールを含む装置全体の故障の有無を監視する障害監視制御手段と、
    前記各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視し、各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、その旨をコンピューティングモジュールに通知して前記各プロセッサに割り込みを発生させるバス監視制御手段と、
    前記各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで前記各コンピューティングモジュールに対してクロック同期での動作を再開させる同期制御手段とを備える、
    各コンピューティングモジュールがクロック同期して同じ命令列を処理する、ロックステップ方式のフォルトトレラントコンピュータ装置における再同期化方法であって、
    前記バス監視制御手段が前記各コンピューティングモジュール内の前記各プロセッサ間の外部バスへのアクセス状態の不一致を検出した場合であって、前記障害監視制御手段によって前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、前記バス監視制御手段が全ての前記各プロセッサに対して割り込みを発生させ、同時に前記外部バスの監視を中断し、
    前記各プロセッサは同期制御タスクをレディーキューの先頭に最優先タスクとしてキューイングし、クロック同期制御命令を実行することにより、前記同期制御手段が各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対してクロック同期での動作を再開させることを特徴とするフォルトトレラントコンピュータ装置の再同期化方法。
  6. 前記障害監視制御手段が前記各コンピューティングモジュールを含む装置全体の故障の有無を監視するステップと、
    前記バス監視制御手段が前記各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視するステップと、
    各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、前記バス監視制御手段がその旨をコンピューティングモジュールに通知して前記各プロセッサに割り込みを発生させるステップと、
    前記各プロセッサにクロック同期制御命令を実行させ、各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対して前記同期制御手段がクロック同期での動作を再開させるステップとを備えることを特徴とする請求項5に記載のフォルトトレラントコンピュータ装置の再同期化方法。
  7. 前記バス監視制御手段が各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記障害監視制御手段によって前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、各コンピューティングモジュール間のクロック同期の再同期を図るための所定のタスクであって、前記バス監視制御手段が前記同期制御手段内の所定のリソースへのアクセスを実行するタスクを前記各プロセッサに割り込ませ、同時に前記プロセッサの前記外部バスへのアクセスの監視を中断し、
    前記同期制御手段が全てのコンピューティングモジュールからの前記リソースへのアクセスを待ち合わせて、同時に全てのコンピューティングモジュールに対して前記アクセスに対する応答を行うことを特徴とする請求項6に記載のフォルトトレラントコンピュータ装置の再同期化方法。
  8. プロセッサ、メモリを含むコンピューティングモジュールを複数備え、
    前記各コンピューティングモジュールを含む装置全体の故障の有無を監視する障害監視制御手段と、
    前記各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視し、各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、その旨をコンピューティングモジュールに通知して前記各プロセッサに割り込みを発生させるバス監視制御手段と、
    前記各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで前記各コンピューティングモジュールに対してクロック同期での動作を再開させる同期制御手段とを備える、
    各コンピューティングモジュールがクロック同期して同じ命令列を処理するロックステップ方式のフォルトトレラントコンピュータ装置の再同期化処理を実行する再同期化プログラムであって、
    前記バス監視制御手段が、前記各コンピューティングモジュール内の前記各プロセッサ間の外部バスへのアクセス状態の不一致を検出した場合であって、前記障害監視制御手段によって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、前記バス監視制御手段が全ての前記各プロセッサに対して割り込みを発生させ、同時に前記外部バスの監視を中断する機能と、
    前記各プロセッサは同期制御タスクをレディーキューの先頭に最優先タスクとしてキューイングし、クロック同期制御命令を実行することにより、前記同期制御手段が各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対してクロック同期での動作を再開させる機能を実行することを特徴とするフォルトトレラントコンピュータ装置の再同期化プログラム。
  9. 前記各コンピューティングモジュールを含む装置全体の故障の有無を監視する機能と、
    前記各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視する機能と、
    各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、その旨をコンピューティングモジュールに通知して前記各プロセッサに割り込みを発生させる機能と、
    前記各プロセッサにクロック同期制御命令を実行させ、各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対してクロック同期での動作を再開させる機能とを実行することを特徴とする請求項8に記載のフォルトトレラントコンピュータ装置の再同期化プログラム。
  10. 前記バス監視制御手段が各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記障害監視制御手段によって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、各コンピューティングモジュール間のクロック同期の再同期を図るための所定のタスクであって、前記バス監視制御手段が前記同期制御手段内の所定のリソースへのアクセスを実行するタスクを前記各プロセッサに割り込ませ、同時に前記プロセッサの前記外部バスへのアクセスの監視を中断し、
    前記同期制御手段が全てのコンピューティングモジュールからの前記リソースへのアクセスを待ち合わせて、同時に全てのコンピューティングモジュールに対して前記アクセスに対する応答を行うことを特徴とする請求項9に記載のフォルトトレラントコンピュータ装置の再同期化プログラム。
JP2002204305A 2002-07-12 2002-07-12 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム Expired - Fee Related JP3982353B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP2002204305A JP3982353B2 (ja) 2002-07-12 2002-07-12 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
TW092117919A TWI226983B (en) 2002-07-12 2003-07-01 Fault-tolerant computer system, re-synchronization method thereof and storage medium storing re-synchronization program thereof
AU2003208108A AU2003208108A1 (en) 2002-07-12 2003-07-03 Fault-tolerant Computer System, Re-synchronization Method Thereof and Re-synchronization Program Thereof
CA002434494A CA2434494C (en) 2002-07-12 2003-07-07 Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
US10/614,000 US7225355B2 (en) 2002-07-12 2003-07-08 Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
EP03015796A EP1380952B1 (en) 2002-07-12 2003-07-10 Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
ES03015796T ES2247459T3 (es) 2002-07-12 2003-07-10 Sistema de computadores tolerante a fallos, metodo para la resincronizacion del mismo y programa para su resincronizacion.
DE60301702T DE60301702T2 (de) 2002-07-12 2003-07-10 Fehlertolerantes Computersystem, Verfahren zur Resynchronisation desselben und Programm zur Resynchronisation desselben
KR1020030047086A KR100566339B1 (ko) 2002-07-12 2003-07-11 폴트 톨러런트 컴퓨터 시스템, 그 재동기화 방법, 및 그 재동기화 프로그램을 갖는 컴퓨터 판독가능 저장매체
CNB031472990A CN1326042C (zh) 2002-07-12 2003-07-14 容错计算机系统及其再同步方法和再同步程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002204305A JP3982353B2 (ja) 2002-07-12 2002-07-12 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム

Publications (2)

Publication Number Publication Date
JP2004046611A JP2004046611A (ja) 2004-02-12
JP3982353B2 true JP3982353B2 (ja) 2007-09-26

Family

ID=29728536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002204305A Expired - Fee Related JP3982353B2 (ja) 2002-07-12 2002-07-12 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム

Country Status (10)

Country Link
US (1) US7225355B2 (ja)
EP (1) EP1380952B1 (ja)
JP (1) JP3982353B2 (ja)
KR (1) KR100566339B1 (ja)
CN (1) CN1326042C (ja)
AU (1) AU2003208108A1 (ja)
CA (1) CA2434494C (ja)
DE (1) DE60301702T2 (ja)
ES (1) ES2247459T3 (ja)
TW (1) TWI226983B (ja)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949856B2 (en) * 2004-03-31 2011-05-24 Icera Inc. Method and apparatus for separate control processing and data path processing in a dual path processor with a shared load/store unit
US8484441B2 (en) 2004-03-31 2013-07-09 Icera Inc. Apparatus and method for separate asymmetric control processing and data path processing in a configurable dual path processor that supports instructions having different bit widths
US9047094B2 (en) 2004-03-31 2015-06-02 Icera Inc. Apparatus and method for separate asymmetric control processing and data path processing in a dual path processor
US7529807B1 (en) * 2004-05-05 2009-05-05 Sun Microsystems, Inc. Common storage in scalable computer systems
DE102004032405A1 (de) * 2004-07-03 2006-02-09 Diehl Bgt Defence Gmbh & Co. Kg Weltraum-taugliche Rechnerarchitektur
US7308605B2 (en) * 2004-07-20 2007-12-11 Hewlett-Packard Development Company, L.P. Latent error detection
US7487395B2 (en) * 2004-09-09 2009-02-03 Microsoft Corporation Method, system, and apparatus for creating an architectural model for generating robust and easy to manage data protection applications in a data protection system
US7502958B2 (en) * 2004-10-25 2009-03-10 Hewlett-Packard Development Company, L.P. System and method for providing firmware recoverable lockstep protection
US7516359B2 (en) * 2004-10-25 2009-04-07 Hewlett-Packard Development Company, L.P. System and method for using information relating to a detected loss of lockstep for determining a responsive action
US7627781B2 (en) 2004-10-25 2009-12-01 Hewlett-Packard Development Company, L.P. System and method for establishing a spare processor for recovering from loss of lockstep in a boot processor
US7818614B2 (en) * 2004-10-25 2010-10-19 Hewlett-Packard Development Company, L.P. System and method for reintroducing a processor module to an operating system after lockstep recovery
US7624302B2 (en) * 2004-10-25 2009-11-24 Hewlett-Packard Development Company, L.P. System and method for switching the role of boot processor to a spare processor responsive to detection of loss of lockstep in a boot processor
JP2006178616A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム
JP2006178636A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ、およびその制御方法
US20060212677A1 (en) * 2005-03-15 2006-09-21 Intel Corporation Multicore processor having active and inactive execution cores
US7590885B2 (en) * 2005-04-26 2009-09-15 Hewlett-Packard Development Company, L.P. Method and system of copying memory from a source processor to a target processor by duplicating memory writes
US7496786B2 (en) * 2006-01-10 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining lock step operation
JP5220281B2 (ja) * 2006-03-31 2013-06-26 日本電気株式会社 情報処理システムのコアセル変更制御方式及びその制御プログラム
CN103646009B (zh) 2006-04-12 2016-08-17 索夫特机械公司 对载明并行和依赖运算的指令矩阵进行处理的装置和方法
US7480827B2 (en) 2006-08-11 2009-01-20 Chicago Mercantile Exchange Fault tolerance and failover using active copy-cat
US7434096B2 (en) * 2006-08-11 2008-10-07 Chicago Mercantile Exchange Match server for a financial exchange having fault tolerant operation
US8041985B2 (en) 2006-08-11 2011-10-18 Chicago Mercantile Exchange, Inc. Match server for a financial exchange having fault tolerant operation
CN101627365B (zh) 2006-11-14 2017-03-29 索夫特机械公司 多线程架构
US8756402B2 (en) * 2007-09-14 2014-06-17 Intel Mobile Communications GmbH Processing module, processor circuit, instruction set for processing data, and method for synchronizing the processing of codes
CN101383690B (zh) * 2008-10-27 2011-06-01 西安交通大学 一种基于socket的容错计算机系统的网络同步方法
GB2471138B (en) 2009-06-19 2014-08-13 Advanced Risc Mach Ltd Handling integer and floating point registers during a context switch
CN101882098B (zh) * 2009-07-10 2012-07-11 威盛电子股份有限公司 微处理器集成电路以及相关除错方法
US8645286B2 (en) * 2010-02-23 2014-02-04 Prior Knowledge, Inc. Configurable circuitry for solving stochastic problems
US8058916B2 (en) 2010-04-15 2011-11-15 Xilinx, Inc. Lockstep synchronization and maintenance
EP3156896B1 (en) 2010-09-17 2020-04-08 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
EP2628072B1 (en) 2010-10-12 2016-10-12 Soft Machines, Inc. An instruction sequence buffer to enhance branch prediction efficiency
US9733944B2 (en) 2010-10-12 2017-08-15 Intel Corporation Instruction sequence buffer to store branches having reliably predictable instruction sequences
GB2489000B (en) 2011-03-14 2019-09-11 Advanced Risc Mach Ltd Diagnosing code using single step execution
WO2012135041A2 (en) 2011-03-25 2012-10-04 Soft Machines, Inc. Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines
EP2689327B1 (en) 2011-03-25 2021-07-28 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
CN103635875B (zh) 2011-03-25 2018-02-16 英特尔公司 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段
TWI603198B (zh) 2011-05-20 2017-10-21 英特爾股份有限公司 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行
KR101639854B1 (ko) 2011-05-20 2016-07-14 소프트 머신즈, 인크. 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 상호접속 구조
JP5699057B2 (ja) * 2011-08-24 2015-04-08 株式会社日立製作所 プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス
US9811338B2 (en) 2011-11-14 2017-11-07 Intel Corporation Flag non-modification extension for ISA instructions using prefixes
KR101703401B1 (ko) 2011-11-22 2017-02-06 소프트 머신즈, 인크. 다중 엔진 마이크로프로세서용 가속 코드 최적화기
US20150039859A1 (en) 2011-11-22 2015-02-05 Soft Machines, Inc. Microprocessor accelerated code optimizer
CN102521086B (zh) * 2011-12-08 2014-07-16 上海交通大学 基于锁步同步的双模冗余系统及其实现方法
US8832720B2 (en) * 2012-01-05 2014-09-09 Intel Corporation Multimedia driver architecture for reusability across operating systems and hardware platforms
US8930674B2 (en) 2012-03-07 2015-01-06 Soft Machines, Inc. Systems and methods for accessing a unified translation lookaside buffer
US10146545B2 (en) 2012-03-13 2018-12-04 Nvidia Corporation Translation address cache for a microprocessor
US9880846B2 (en) * 2012-04-11 2018-01-30 Nvidia Corporation Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries
US10241810B2 (en) 2012-05-18 2019-03-26 Nvidia Corporation Instruction-optimizing processor with branch-count table in hardware
US9916253B2 (en) 2012-07-30 2018-03-13 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US9229873B2 (en) 2012-07-30 2016-01-05 Soft Machines, Inc. Systems and methods for supporting a plurality of load and store accesses of a cache
US9740612B2 (en) 2012-07-30 2017-08-22 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
DE102012219180A1 (de) * 2012-10-22 2014-05-08 Robert Bosch Gmbh Recheneinheit für ein Steuergerät und Betriebsverfahren hierfür
US20140189310A1 (en) 2012-12-27 2014-07-03 Nvidia Corporation Fault detection in instruction translations
US9563579B2 (en) 2013-02-28 2017-02-07 Intel Corporation Method, apparatus, system for representing, specifying and using deadlines
US10108424B2 (en) 2013-03-14 2018-10-23 Nvidia Corporation Profiling code portions to generate translations
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
KR101708591B1 (ko) 2013-03-15 2017-02-20 소프트 머신즈, 인크. 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
KR102083390B1 (ko) 2013-03-15 2020-03-02 인텔 코포레이션 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US9792121B2 (en) * 2013-05-21 2017-10-17 Via Technologies, Inc. Microprocessor that fuses if-then instructions
US9183155B2 (en) * 2013-09-26 2015-11-10 Andes Technology Corporation Microprocessor and method for using an instruction loop cache thereof
US9952620B2 (en) 2014-04-10 2018-04-24 Intel Corporation Time-synchronizing a group of nodes
JP6360387B2 (ja) * 2014-08-19 2018-07-18 ルネサスエレクトロニクス株式会社 プロセッサシステム、エンジン制御システム及び制御方法
US9697094B2 (en) * 2015-02-06 2017-07-04 Intel Corporation Dynamically changing lockstep configuration
TWI514148B (zh) * 2015-03-16 2015-12-21 Univ Nat Sun Yat Sen 快取記憶體
JP6436031B2 (ja) * 2015-09-18 2018-12-12 信越半導体株式会社 単結晶引き上げ装置、及び単結晶引き上げ方法
JP6083480B1 (ja) * 2016-02-18 2017-02-22 日本電気株式会社 監視装置、フォールトトレラントシステムおよび方法
US10152427B2 (en) 2016-08-12 2018-12-11 Google Llc Hybrid memory management
US10037173B2 (en) * 2016-08-12 2018-07-31 Google Llc Hybrid memory management
JP6853162B2 (ja) * 2017-11-20 2021-03-31 ルネサスエレクトロニクス株式会社 半導体装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3864670A (en) * 1970-09-30 1975-02-04 Yokogawa Electric Works Ltd Dual computer system with signal exchange system
US5020024A (en) 1987-01-16 1991-05-28 Stratus Computer, Inc. Method and apparatus for detecting selected absence of digital logic synchronism
JPH0432955A (ja) 1990-05-23 1992-02-04 Oki Electric Ind Co Ltd プロセッサ障害検出装置
JPH05298134A (ja) 1991-12-16 1993-11-12 Internatl Business Mach Corp <Ibm> コンピュータシステムにおける処理誤りの処理機構及び方法
EP0974912B1 (en) 1993-12-01 2008-11-05 Marathon Technologies Corporation Fault resilient/fault tolerant computing
US5832253A (en) * 1993-12-06 1998-11-03 Cpu Technology, Inc. Multiprocessors system for selectively wire-oring a combination of signal lines and thereafter using one line to control the running or stalling of a selected processor
JPH08235015A (ja) 1995-02-27 1996-09-13 Mitsubishi Electric Corp プロセッサ装置並びにプロセッサ故障診断方法
JP3241997B2 (ja) 1996-06-28 2001-12-25 富士通株式会社 情報処理装置
US5805870A (en) * 1996-06-28 1998-09-08 International Business Machines Corporation System and method for correcting clock drift in multiprocessor systems
US5875320A (en) * 1997-03-24 1999-02-23 International Business Machines Corporation System and method for synchronizing plural processor clocks in a multiprocessor system
US5903717A (en) * 1997-04-02 1999-05-11 General Dynamics Information Systems, Inc. Fault tolerant computer system
US5923830A (en) 1997-05-07 1999-07-13 General Dynamics Information Systems, Inc. Non-interrupting power control for fault tolerant computer systems
DE69804489T2 (de) 1997-11-14 2002-11-14 Marathon Techn Corp Verfahren zur erhaltung von synchronisierter ausführung bei fehler-betriebssicheren/ fehlertoleranten rechnersystemen
US6175930B1 (en) * 1998-02-17 2001-01-16 International Business Machines Corporation Demand based sync bus operation
GB2340627B (en) * 1998-08-13 2000-10-04 Plessey Telecomm Data processing system
US6757847B1 (en) * 1998-12-29 2004-06-29 International Business Machines Corporation Synchronization for system analysis
JP2000200255A (ja) 1999-01-07 2000-07-18 Hitachi Ltd プロセッサ間の同期化方法及び同期回路
US6643787B1 (en) * 1999-10-19 2003-11-04 Rambus Inc. Bus system optimization
US6980617B1 (en) * 2000-11-15 2005-12-27 Advantest Corporation Reception data synchronizing apparatus and method, and recording medium with recorded reception data synchronizing program
US6480966B1 (en) * 1999-12-07 2002-11-12 International Business Machines Corporation Performance monitor synchronization in a multiprocessor system
JP2002049501A (ja) 2000-08-04 2002-02-15 Nippon Telegr & Teleph Corp <Ntt> 耐故障性システム及びその故障切り分け方法

Also Published As

Publication number Publication date
US7225355B2 (en) 2007-05-29
US20040010789A1 (en) 2004-01-15
CN1495611A (zh) 2004-05-12
AU2003208108A1 (en) 2004-01-29
CA2434494A1 (en) 2004-01-12
CA2434494C (en) 2008-11-25
KR20040007322A (ko) 2004-01-24
DE60301702D1 (de) 2005-11-03
TW200401187A (en) 2004-01-16
TWI226983B (en) 2005-01-21
KR100566339B1 (ko) 2006-03-31
DE60301702T2 (de) 2006-07-06
JP2004046611A (ja) 2004-02-12
ES2247459T3 (es) 2006-03-01
EP1380952A1 (en) 2004-01-14
CN1326042C (zh) 2007-07-11
EP1380952B1 (en) 2005-09-28

Similar Documents

Publication Publication Date Title
JP3982353B2 (ja) フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
KR100566338B1 (ko) 폴트 톨러런트 컴퓨터 시스템, 그의 재동기화 방법 및 재동기화 프로그램이 기록된 컴퓨터 판독가능 기억매체
US7493517B2 (en) Fault tolerant computer system and a synchronization method for the same
JP2006178616A (ja) フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム
CA2530018A1 (en) Securing time for identifying cause of asynchronism in fault-tolerant computer
CA2530913A1 (en) Fault tolerant computer system and interrupt control method for the same
JP5287974B2 (ja) 演算処理システム、再同期方法、およびファームプログラム
JP2008046942A (ja) フォールトトレラントコンピュータ、そのトランザクション同期制御方法
JP2004046455A (ja) 情報処理装置
JP3774826B2 (ja) 情報処理装置
CA2435001C (en) Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
JPH086800A (ja) データ処理装置及びマイクロプロセッサ
JPH10116261A (ja) 並列計算機システムのチェックポイントリスタート方法
JP3536293B2 (ja) 二重化コンピュータ装置
JP2001175545A (ja) サーバシステムおよび障害診断方法ならびに記録媒体
JPH05216855A (ja) マルチcpu制御方式
JP4640359B2 (ja) フォールトトレラントコンピュータ、フォールトトレラントコンピュータにおける同期制御方法
JPH07200334A (ja) 二重化同期運転方式
JPH0635880A (ja) マイクロプロセッサ装置
JPH09114687A (ja) プロセッサ診断回路とこれを備えたディスクコントローラ
JP2815730B2 (ja) アダプタ及びコンピュータシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061031

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20061130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061130

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070110

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070517

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: 20070612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070625

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130713

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees