JP2012514257A - 冗長プロセスを同期させるためのステート履歴ストレージ - Google Patents
冗長プロセスを同期させるためのステート履歴ストレージ Download PDFInfo
- Publication number
- JP2012514257A JP2012514257A JP2011543673A JP2011543673A JP2012514257A JP 2012514257 A JP2012514257 A JP 2012514257A JP 2011543673 A JP2011543673 A JP 2011543673A JP 2011543673 A JP2011543673 A JP 2011543673A JP 2012514257 A JP2012514257 A JP 2012514257A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- state
- instructions
- storage
- instruction
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/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/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1691—Temporal synchronisation or re-synchronisation of redundant processing components using a quantum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing the instruction stream
-
- 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/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Hardware Redundancy (AREA)
Abstract
【選択図】図1
Description
Claims (20)
- 複数の命令を実行する第1プロセッサと、
前記複数の命令から前記第1プロセッサが実行する命令のそれぞれに対応する、第1プロセッサステート情報を格納する第1ストレージと、
前記複数の命令を実行する第2プロセッサと、
前記複数の命令から前記第2プロセッサが実行する命令のそれぞれに対応する、第2プロセッサステート情報を格納する第2ストレージと、
前記第1ストレージからの少なくとも1つのエントリ及び前記第2ストレージからの少なくとも1つのエントリに基づいて、前記第1プロセッサと前記第2プロセッサとを同期する制御部と
を備える装置。 - 前記第1ストレージは、前記複数の命令から前記第1プロセッサがリタイアした命令それぞれに対する第1プロセッサステート情報を格納し、
前記第2ストレージは、前記複数の命令から前記第2プロセッサがリタイアした命令それぞれに対する第2プロセッサステート情報を格納する請求項1に記載の装置。 - 前記第1ストレージ内のエントリと、前記第2ストレージ内のエントリとを比較する比較部を更に備える請求項1に記載の装置。
- 前記制御部は、前記比較部が一致を示すのに基づいて、前記第1プロセッサと前記第2プロセッサとを同期する請求項3に記載の装置。
- 前記複数の命令は、1つの命令ストリームにおける命令のクォンタムである請求項1に記載の装置。
- 前記制御部は、同一の命令境界から実行を開始させるべく、前記第1プロセッサと前記第2プロセッサとを同期させる請求項1に記載の装置。
- 前記第1プロセッサ及び前記第2プロセッサに供給される入力を複製する入力複製部を更に備える請求項6に記載の装置。
- 前記制御部は、前記第1プロセッサと前記第2プロセッサとを同期した後に、複製された入力を前記第1プロセッサ及び前記第2プロセッサに供給する請求項7に記載の装置。
- 前記複製された入力は、割り込みである請求項8に記載の装置。
- 前記制御部は、同一ステートから実行を開始させるべく、前記第1プロセッサ及び前記第2プロセッサを同期させる請求項1に記載の装置。
- 前記制御部は、前記第1ストレージから前記第1プロセッサのステート及び前記第2ストレージから前記第2プロセッサのステートのうちの1つを回復させることにより、前記同一ステートから実行を開始させるべく前記第1プロセッサと前記第2プロセッサとを同期させる請求項10に記載の装置。
- 前記第1プロセッサは、前記第1プロセッサステート情報を圧縮し格納する第1ステートストレージロジックを有し、
前記第2プロセッサは、前記第2プロセッサステート情報を圧縮し格納する第2ステートストレージロジックを有する請求項1に記載の装置。 - 複数の命令を第1プロセッサによって実行する段階と、
前記複数の命令を第2プロセッサによって実行する段階と、
前記複数の命令それぞれのリタイア状態における前記第1プロセッサのステートを表す情報を、前記第1プロセッサによって格納する段階と、
前記複数の命令それぞれのリタイア状態における前記第2プロセッサのステートを表す情報を、前記第2プロセッサによって格納する段階と、
格納された前記第1プロセッサの過去のステートを表す情報、及び格納された前記第2プロセッサの過去のステートを表す情報に基づいて、前記第1プロセッサと前記第2プロセッサとを同期させる段階と
を備える方法。 - 格納された前記第1プロセッサの過去のステートを表す情報と、格納された前記第2プロセッサの過去のステートを表す情報とを比較する段階を更に備える請求項13に記載の方法。
- 前記同期させる段階は、格納された前記第1プロセッサの過去のステートを表す情報と、格納された前記第2プロセッサの過去のステートを表す情報との間の一致に基づいて行われる請求項14に記載の方法。
- 前記同期させる段階は、前記第1プロセッサ及び前記第2プロセッサを、前記一致によって示される命令境界から実行を開始させることを含む請求項15に記載の方法。
- 同期させた後であって、前記一致によって示される前記命令境界から実行を開始させる前に、前記第1プロセッサ及び前記第2プロセッサに入力を供給する段階を更に備える請求項16に記載の方法。
- 前記同期させる段階は、格納された前記第1プロセッサの過去のステートを表す情報から前記第1プロセッサのステート、及び格納された前記第2プロセッサの過去のステートを表す情報から前記第2プロセッサのステートのうちの1つを回復させる段階を有する請求項17に記載の方法。
- 複数の命令を実行する実行コアと、
前記実行コアによってリタイアされた命令それぞれに対するステート情報を格納するストレージと
を備えるプロセッサであって、
前記ストレージは、前記プロセッサと冗長プロセッサとを同期させる制御部にアクセス可能であるプロセッサ。 - 前記ステート情報を格納するロジックを更に備える請求項19に記載のプロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/347,961 US8171328B2 (en) | 2008-12-31 | 2008-12-31 | State history storage for synchronizing redundant processors |
US12/347,961 | 2008-12-31 | ||
PCT/US2009/069384 WO2010078187A2 (en) | 2008-12-31 | 2009-12-23 | State history storage for synchronizing redundant processors |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014076695A Division JP6272719B2 (ja) | 2008-12-31 | 2014-04-03 | 装置、方法、及び、プロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012514257A true JP2012514257A (ja) | 2012-06-21 |
Family
ID=42286373
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011543673A Pending JP2012514257A (ja) | 2008-12-31 | 2009-12-23 | 冗長プロセスを同期させるためのステート履歴ストレージ |
JP2014076695A Active JP6272719B2 (ja) | 2008-12-31 | 2014-04-03 | 装置、方法、及び、プロセッサ |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014076695A Active JP6272719B2 (ja) | 2008-12-31 | 2014-04-03 | 装置、方法、及び、プロセッサ |
Country Status (6)
Country | Link |
---|---|
US (1) | US8171328B2 (ja) |
JP (2) | JP2012514257A (ja) |
KR (3) | KR101287266B1 (ja) |
CN (1) | CN101876929B (ja) |
TW (1) | TWI443577B (ja) |
WO (1) | WO2010078187A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018125044A (ja) * | 2012-12-13 | 2018-08-09 | コーヒレント・ロジックス・インコーポレーテッド | 改善された二次相互接続ネットワークを備えたマルチプロセッサシステム |
WO2020016964A1 (ja) * | 2018-07-18 | 2020-01-23 | サンケン電気株式会社 | マルチコアシステム |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8171328B2 (en) | 2008-12-31 | 2012-05-01 | Intel Corporation | State history storage for synchronizing redundant processors |
US20100318746A1 (en) * | 2009-06-12 | 2010-12-16 | Seakr Engineering, Incorporated | Memory change track logging |
DE102009054637A1 (de) * | 2009-12-15 | 2011-06-16 | Robert Bosch Gmbh | Verfahren zum Betreiben einer Recheneinheit |
US8788871B2 (en) * | 2011-06-28 | 2014-07-22 | International Business Machines Corporation | Unified, workload-optimized, adaptive RAS for hybrid systems |
US8806269B2 (en) * | 2011-06-28 | 2014-08-12 | International Business Machines Corporation | Unified, workload-optimized, adaptive RAS for hybrid systems |
US8935694B2 (en) * | 2012-01-23 | 2015-01-13 | International Business Machines Corporation | System and method for selectively saving and restoring state of branch prediction logic through separate hypervisor-mode and guest-mode and/or user-mode instructions |
US9032191B2 (en) | 2012-01-23 | 2015-05-12 | International Business Machines Corporation | Virtualization support for branch prediction logic enable / disable at hypervisor and guest operating system levels |
US8880961B2 (en) * | 2012-01-31 | 2014-11-04 | Infineon Technologies Ag | System and method of computation by signature analysis |
US8799710B2 (en) * | 2012-06-28 | 2014-08-05 | International Business Machines Corporation | 3-D stacked multiprocessor structures and methods to enable reliable operation of processors at speeds above specified limits |
US9274904B2 (en) * | 2013-06-18 | 2016-03-01 | Advanced Micro Devices, Inc. | Software only inter-compute unit redundant multithreading for GPUs |
US9959284B2 (en) * | 2014-01-10 | 2018-05-01 | Appex Networks Holding Limited | System and method for synchronizing history data for compression and decompression |
US10346272B2 (en) * | 2016-11-01 | 2019-07-09 | At&T Intellectual Property I, L.P. | Failure management for data streaming processing system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02202638A (ja) * | 1987-11-09 | 1990-08-10 | Tandem Comput Inc | 多重プロセッサを備えたフォールトトレラントなコンピュータシステム |
US5226152A (en) * | 1990-12-07 | 1993-07-06 | Motorola, Inc. | Functional lockstep arrangement for redundant processors |
JP2004046599A (ja) * | 2002-07-12 | 2004-02-12 | Nec Corp | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム |
JP2004318702A (ja) * | 2003-04-18 | 2004-11-11 | Nec Corp | 情報処理装置 |
JP2006209769A (ja) * | 2005-01-25 | 2006-08-10 | Hewlett-Packard Development Co Lp | 実行される命令に関する情報を交換することによってユーザプログラムの複製コピーの実行ポイントをアラインメントする方法及びシステム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04352240A (ja) * | 1991-05-30 | 1992-12-07 | Nec Corp | 情報処理装置 |
JPH0652004A (ja) * | 1992-08-04 | 1994-02-25 | Yokogawa Electric Corp | ペアcpu装置 |
US5790776A (en) * | 1992-12-17 | 1998-08-04 | Tandem Computers Incorporated | Apparatus for detecting divergence between a pair of duplexed, synchronized processor elements |
JPH0773059A (ja) * | 1993-03-02 | 1995-03-17 | Tandem Comput Inc | フォールトトレラント型コンピュータシステム |
US5896523A (en) * | 1997-06-04 | 1999-04-20 | Marathon Technologies Corporation | Loosely-coupled, synchronized execution |
US6948092B2 (en) * | 1998-12-10 | 2005-09-20 | Hewlett-Packard Development Company, L.P. | System recovery from errors for processor and associated components |
US6751749B2 (en) * | 2001-02-22 | 2004-06-15 | International Business Machines Corporation | Method and apparatus for computer system reliability |
US20040111593A1 (en) * | 2002-12-05 | 2004-06-10 | International Business Machines Corporation | Interrupt handler prediction method and system |
US7747932B2 (en) * | 2005-06-30 | 2010-06-29 | Intel Corporation | Reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system |
US8527741B2 (en) * | 2005-07-05 | 2013-09-03 | Viasat, Inc. | System for selectively synchronizing high-assurance software tasks on multiple processors at a software routine level |
WO2007113346A1 (es) | 2006-03-31 | 2007-10-11 | Intel Corporation | Deteccion de errores transitorios mediante nueva ejecucion selectiva |
US20080126819A1 (en) | 2006-11-29 | 2008-05-29 | International Business Machines Corporation | Method for dynamic redundancy of processing units |
FR2912526B1 (fr) * | 2007-02-13 | 2009-04-17 | Thales Sa | Procede de maintien du synchronisme d'execution entre plusieurs processeurs asynchrones fonctionnant en parallele de maniere redondante. |
US8171328B2 (en) | 2008-12-31 | 2012-05-01 | Intel Corporation | State history storage for synchronizing redundant processors |
-
2008
- 2008-12-31 US US12/347,961 patent/US8171328B2/en active Active
-
2009
- 2009-12-23 WO PCT/US2009/069384 patent/WO2010078187A2/en active Application Filing
- 2009-12-23 JP JP2011543673A patent/JP2012514257A/ja active Pending
- 2009-12-23 KR KR1020127027290A patent/KR101287266B1/ko not_active IP Right Cessation
- 2009-12-23 KR KR1020137000959A patent/KR101351183B1/ko not_active IP Right Cessation
- 2009-12-23 KR KR1020117007649A patent/KR101264494B1/ko not_active IP Right Cessation
- 2009-12-25 CN CN200911000157.XA patent/CN101876929B/zh not_active Expired - Fee Related
- 2009-12-25 TW TW098145098A patent/TWI443577B/zh not_active IP Right Cessation
-
2014
- 2014-04-03 JP JP2014076695A patent/JP6272719B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02202638A (ja) * | 1987-11-09 | 1990-08-10 | Tandem Comput Inc | 多重プロセッサを備えたフォールトトレラントなコンピュータシステム |
US5226152A (en) * | 1990-12-07 | 1993-07-06 | Motorola, Inc. | Functional lockstep arrangement for redundant processors |
JP2004046599A (ja) * | 2002-07-12 | 2004-02-12 | Nec Corp | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム |
JP2004318702A (ja) * | 2003-04-18 | 2004-11-11 | Nec Corp | 情報処理装置 |
JP2006209769A (ja) * | 2005-01-25 | 2006-08-10 | Hewlett-Packard Development Co Lp | 実行される命令に関する情報を交換することによってユーザプログラムの複製コピーの実行ポイントをアラインメントする方法及びシステム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018125044A (ja) * | 2012-12-13 | 2018-08-09 | コーヒレント・ロジックス・インコーポレーテッド | 改善された二次相互接続ネットワークを備えたマルチプロセッサシステム |
WO2020016964A1 (ja) * | 2018-07-18 | 2020-01-23 | サンケン電気株式会社 | マルチコアシステム |
US11327853B2 (en) | 2018-07-18 | 2022-05-10 | Sanken Electric, Ltd. | Multicore system for determining processor state abnormality based on a comparison with a separate checker processor |
Also Published As
Publication number | Publication date |
---|---|
JP2014160483A (ja) | 2014-09-04 |
US20100169693A1 (en) | 2010-07-01 |
KR20110050717A (ko) | 2011-05-16 |
KR101287266B1 (ko) | 2013-07-17 |
CN101876929B (zh) | 2014-07-23 |
KR101264494B1 (ko) | 2013-05-14 |
TWI443577B (zh) | 2014-07-01 |
KR20130012591A (ko) | 2013-02-04 |
US8171328B2 (en) | 2012-05-01 |
CN101876929A (zh) | 2010-11-03 |
WO2010078187A3 (en) | 2010-10-21 |
WO2010078187A2 (en) | 2010-07-08 |
KR20120123613A (ko) | 2012-11-08 |
JP6272719B2 (ja) | 2018-01-31 |
KR101351183B1 (ko) | 2014-01-14 |
TW201030611A (en) | 2010-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6272719B2 (ja) | 装置、方法、及び、プロセッサ | |
CN106933501B (zh) | 用于创建复制品的方法、系统和计算机程序产品 | |
KR101546033B1 (ko) | Smt 기계에서 비교 및 전달 명령어를 사용한 안정적 실행 | |
US7373548B2 (en) | Hardware recovery in a multi-threaded architecture | |
US7308607B2 (en) | Periodic checkpointing in a redundantly multi-threaded architecture | |
US10601890B2 (en) | Recoverable stream processing | |
US20110082832A1 (en) | Parallelized backup and restore process and system | |
Benoit et al. | Assessing general-purpose algorithms to cope with fail-stop and silent errors | |
US20130246358A1 (en) | Online verification of a standby database in log shipping physical replication environments | |
US20140207738A1 (en) | Recovery for long running multithreaded processes | |
JP2005166057A (ja) | 障害検出コンピュータシステム | |
Levitin et al. | Dynamic checkpointing policy in heterogeneous real-time standby systems | |
US10613923B2 (en) | Recovering log-structured filesystems from physical replicas | |
US9053024B2 (en) | Transactions and failure | |
JP2004046356A (ja) | 高信頼性クラスタシステムおよびそれを実現するプログラム | |
JP2006252548A (ja) | 時間的冗長性を実施するための可変遅延命令 | |
CN113326268A (zh) | 一种数据写入、读取方法及装置 | |
Shin et al. | Study on advanced information processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130515 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130702 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131002 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131203 |