JP3982353B2 - フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム - Google Patents
フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 25
- 238000012544 monitoring process Methods 0.000 claims description 78
- 230000015654 memory Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 24
- 230000002093 peripheral effect Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 15
- 230000000694 effects Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000009434 installation Methods 0.000 description 3
- 238000011900 installation process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1687—Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1679—Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1683—Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/183—Error 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/184—Error 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
【発明の属する技術分野】
本発明は、複数のコンピューティングモジュールで、同じ命令列をクロック同期させて全く同じに処理するロックステップ方式のフォルトトレラントコンピュータ装置(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に記載のフォルトトレラントコンピュータ装置。 - 前記バス監視制御手段と、前記障害監視制御手段と、前記同期制御手段を複数組備えることを特徴とする請求項1に記載のフォルトトレラントコンピュータ装置。
- 前記バス監視制御手段と、前記障害監視制御手段と、前記同期制御手段が、周辺装置の制御を行う周辺装置制御部内に備えられ、PCIブリッジを介して前記コンピューティングモジュール内の外部バスに続されることを特徴とする請求項1に記載のフォルトトレラントコンピュータ装置。
- プロセッサ、メモリを含むコンピューティングモジュールを複数備え、
前記各コンピューティングモジュールを含む装置全体の故障の有無を監視する障害監視制御手段と、
前記各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視し、各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、その旨をコンピューティングモジュールに通知して前記各プロセッサに割り込みを発生させるバス監視制御手段と、
前記各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで前記各コンピューティングモジュールに対してクロック同期での動作を再開させる同期制御手段とを備える、
各コンピューティングモジュールがクロック同期して同じ命令列を処理する、ロックステップ方式のフォルトトレラントコンピュータ装置における再同期化方法であって、
前記バス監視制御手段が前記各コンピューティングモジュール内の前記各プロセッサ間の外部バスへのアクセス状態の不一致を検出した場合であって、前記障害監視制御手段によって前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、前記バス監視制御手段が全ての前記各プロセッサに対して割り込みを発生させ、同時に前記外部バスの監視を中断し、
前記各プロセッサは同期制御タスクをレディーキューの先頭に最優先タスクとしてキューイングし、クロック同期制御命令を実行することにより、前記同期制御手段が各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対してクロック同期での動作を再開させることを特徴とするフォルトトレラントコンピュータ装置の再同期化方法。 - 前記障害監視制御手段が前記各コンピューティングモジュールを含む装置全体の故障の有無を監視するステップと、
前記バス監視制御手段が前記各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視するステップと、
各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、前記バス監視制御手段がその旨をコンピューティングモジュールに通知して前記各プロセッサに割り込みを発生させるステップと、
前記各プロセッサにクロック同期制御命令を実行させ、各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対して前記同期制御手段がクロック同期での動作を再開させるステップとを備えることを特徴とする請求項5に記載のフォルトトレラントコンピュータ装置の再同期化方法。 - 前記バス監視制御手段が各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記障害監視制御手段によって前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、各コンピューティングモジュール間のクロック同期の再同期を図るための所定のタスクであって、前記バス監視制御手段が前記同期制御手段内の所定のリソースへのアクセスを実行するタスクを前記各プロセッサに割り込ませ、同時に前記プロセッサの前記外部バスへのアクセスの監視を中断し、
前記同期制御手段が全てのコンピューティングモジュールからの前記リソースへのアクセスを待ち合わせて、同時に全てのコンピューティングモジュールに対して前記アクセスに対する応答を行うことを特徴とする請求項6に記載のフォルトトレラントコンピュータ装置の再同期化方法。 - プロセッサ、メモリを含むコンピューティングモジュールを複数備え、
前記各コンピューティングモジュールを含む装置全体の故障の有無を監視する障害監視制御手段と、
前記各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視し、各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、その旨をコンピューティングモジュールに通知して前記各プロセッサに割り込みを発生させるバス監視制御手段と、
前記各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで前記各コンピューティングモジュールに対してクロック同期での動作を再開させる同期制御手段とを備える、
各コンピューティングモジュールがクロック同期して同じ命令列を処理するロックステップ方式のフォルトトレラントコンピュータ装置の再同期化処理を実行する再同期化プログラムであって、
前記バス監視制御手段が、前記各コンピューティングモジュール内の前記各プロセッサ間の外部バスへのアクセス状態の不一致を検出した場合であって、前記障害監視制御手段によって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、前記バス監視制御手段が全ての前記各プロセッサに対して割り込みを発生させ、同時に前記外部バスの監視を中断する機能と、
前記各プロセッサは同期制御タスクをレディーキューの先頭に最優先タスクとしてキューイングし、クロック同期制御命令を実行することにより、前記同期制御手段が各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対してクロック同期での動作を再開させる機能を実行することを特徴とするフォルトトレラントコンピュータ装置の再同期化プログラム。 - 前記各コンピューティングモジュールを含む装置全体の故障の有無を監視する機能と、
前記各コンピューティングモジュールのプロセッサの外部バスへのアクセスを監視する機能と、
各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、その旨をコンピューティングモジュールに通知して前記各プロセッサに割り込みを発生させる機能と、
前記各プロセッサにクロック同期制御命令を実行させ、各コンピューティングモジュールからのアクセスに対する応答タイミングを調整することで各コンピューティングモジュールに対してクロック同期での動作を再開させる機能とを実行することを特徴とする請求項8に記載のフォルトトレラントコンピュータ装置の再同期化プログラム。 - 前記バス監視制御手段が各コンピューティングモジュール間の出力の不一致を検出した場合であって、前記障害監視制御手段によって、前記各コンピューティングモジュールを含む装置の故障が検出されない場合に、各コンピューティングモジュール間のクロック同期の再同期を図るための所定のタスクであって、前記バス監視制御手段が前記同期制御手段内の所定のリソースへのアクセスを実行するタスクを前記各プロセッサに割り込ませ、同時に前記プロセッサの前記外部バスへのアクセスの監視を中断し、
前記同期制御手段が全てのコンピューティングモジュールからの前記リソースへのアクセスを待ち合わせて、同時に全てのコンピューティングモジュールに対して前記アクセスに対する応答を行うことを特徴とする請求項9に記載のフォルトトレラントコンピュータ装置の再同期化プログラム。
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)
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)
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> | 耐故障性システム及びその故障切り分け方法 |
-
2002
- 2002-07-12 JP JP2002204305A patent/JP3982353B2/ja not_active Expired - Fee Related
-
2003
- 2003-07-01 TW TW092117919A patent/TWI226983B/zh not_active IP Right Cessation
- 2003-07-03 AU AU2003208108A patent/AU2003208108A1/en not_active Abandoned
- 2003-07-07 CA CA002434494A patent/CA2434494C/en not_active Expired - Fee Related
- 2003-07-08 US US10/614,000 patent/US7225355B2/en not_active Expired - Fee Related
- 2003-07-10 ES ES03015796T patent/ES2247459T3/es not_active Expired - Lifetime
- 2003-07-10 DE DE60301702T patent/DE60301702T2/de not_active Expired - Lifetime
- 2003-07-10 EP EP03015796A patent/EP1380952B1/en not_active Expired - Fee Related
- 2003-07-11 KR KR1020030047086A patent/KR100566339B1/ko not_active IP Right Cessation
- 2003-07-14 CN CNB031472990A patent/CN1326042C/zh not_active Expired - Fee Related
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 |