EP1543421A2 - Procede de synchronisation d'evenements, notamment pour des processeurs de systemes a tolerance d'erreur - Google Patents

Procede de synchronisation d'evenements, notamment pour des processeurs de systemes a tolerance d'erreur

Info

Publication number
EP1543421A2
EP1543421A2 EP03807779A EP03807779A EP1543421A2 EP 1543421 A2 EP1543421 A2 EP 1543421A2 EP 03807779 A EP03807779 A EP 03807779A EP 03807779 A EP03807779 A EP 03807779A EP 1543421 A2 EP1543421 A2 EP 1543421A2
Authority
EP
European Patent Office
Prior art keywords
cpu
operating mode
separate operating
execution unit
external events
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.)
Withdrawn
Application number
EP03807779A
Other languages
German (de)
English (en)
Inventor
Pavel Peleska
Dirk Schnabel
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.)
Siemens AG
Siemens Corp
Original Assignee
Siemens AG
Siemens 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 Siemens AG, Siemens Corp filed Critical Siemens AG
Priority to EP03807779A priority Critical patent/EP1543421A2/fr
Publication of EP1543421A2 publication Critical patent/EP1543421A2/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Definitions

  • Event synchronization method especially for processors of fault-tolerant systems
  • processor boards In many cases up to a few hundred so-called processor boards are used in telecommunications systems, data centers and other high-availability systems to provide the necessary computing power.
  • a processor board typically consists of a processor or CPU (Central Processing Unit), a chip set, main memory and peripheral components.
  • CPU Central Processing Unit
  • the probability of a hardware defect of a typical processor board occurring per year is in the single-digit percentage range. Due to the large number of processor boards combined into a system, there is a very high probability of a failure of any hardware component in relation to the year, whereby such an individual failure, if suitable precautions are not taken, can cause the failure of the entire system.
  • Known solutions to comply with such high system availability requirements provide redundant system components. The known methods can be divided into two main groups: software-based methods and hardware-based methods.
  • the basic principle of hardware-based methods is based on encapsulating the redundancy at the hardware level so that this is transparent to the software.
  • the main advantage of a redundancy managed by the hardware itself is that the application software is not affected by the redundancy principle and therefore any software can be used in most cases.
  • Lockstep means that identical hardware, for example two boards, is operated in the same isochronous mode.
  • Hardware mechanisms ensure that the redundant hardware experiences identical input stimuli at a given point in time and must therefore come to identical results. The results of the redundant components are compared; in the event of a deviation, an error is identified and suitable measures are initiated (alarm operator, partial or complete safety shutdown, system restart).
  • the basic prerequisite for the implementation of a lockstep system is the deterministic behavior of all components contained in the board, i.e. CPUs, chip sets, main memory etc. Deterministic behavior means that these components deliver identical results at identical times when the components are faultless receive identical stimuli at identical times.
  • Deterministic behavior also requires the use of isochronous interfaces.
  • asynchronous interfaces cause a certain degree of unsharpness in the system, as a result of which the clock-synchronous overall behavior of the system cannot be maintained.
  • asynchronous interfaces offer technological advantages in increasing performance, making clock-synchronous operation using the lockstep method impossible.
  • modern CPUs increasingly use mechanisms that make clock-synchronous operation impossible.
  • These are, for example, internal corrective measures that are not visible to the outside, e.g. Correction of an internal, correctable error in accessing the cache memory, which may lead to a slight delay in command processing, or the speculative execution of commands.
  • Another example is the increasing implementation of CPU-internal clock-free execution units in the future, which will offer considerable advantages in terms of speed and power dissipation, but will prevent clock-synchronous or deterministic work of the CPU.
  • a method for the synchronization of external events which are supplied to a module CPU and influence it, according to which the external events are temporarily stored, the stored external events being called up in a separate operating mode of the module for processing by an execution unit EU of the module and the module enters this operating mode in response to the fulfillment of a condition that can be specified by commands or is predetermined.
  • the predeterminable condition is realized by executing the change to the separate operating mode if the match between a counter element CIC and a register element MIR is determined by a comparator element K of the module, the content of the register element MIR being predeterminable by commands and the counting element CIC contains the number of instructions executed by the execution unit since the last change to the separate operating mode.
  • the method can be used particularly advantageously in connection with redundant systems which have at least two CPU modules and in which an identical sequence of instructions is provided for the CPU modules and in which separate external events are called up by the modules in a separate operating mode.
  • a faster block CPU is left in redundant systems by a controller in a separate operating mode until a slower block has reached the end of the separate operating mode.
  • the invention also provides a processor module CPU which has at least the following:
  • At least one execution unit EU at least one counter element CIC for counting the instructions executed by the execution unit since the last change to the separate operating mode
  • Commands can be specified or fixed, - at least one comparator element K- for switching the
  • Execution unit EU in a separate operating mode in response to the correspondence of the counting element CIC with the register element MIR, wherein in the separate operating mode cached external events to be fed to the processor module and which influence the processor module (CPU) are called up by the processor module CPU.
  • the cached external events can advantageously be retrieved using software, firmware, microcode or hardware.
  • a system comprising at least two processor modules CPU is also provided, the processor modules CPU each having at least the following:
  • At least one counter element CIC for counting the instructions carried out by the execution unit since the last change to the separate operating mode
  • at least one register element MIR the content of which can be predetermined or predefined by commands
  • At least one comparator element K for switching the execution unit EU into a separate operating mode in response to the correspondence of the counting element CIC with the register element MIR, external events temporarily stored in the separate operating mode that are to be supplied to the processor modules and influencing the processor modules being called up by the processor modules.
  • the cached external events can advantageously be called up using software, firmware, microcode or hardware.
  • This system advantageously also has a connection between at least two of the processor modules CPU that execute an identical instruction sequence, the connection being provided for transmitting synchronization information of the separate operating modes.
  • a major advantage of the invention is that it enables the use of any new or existing software on a hardware fault-tolerant platform, in which a CPU supporting the invention can be used without the requirement for clock-synchronous, deterministic operation of the CPU exists and whereby the use of asynchronous high-speed interfaces or links is possible.
  • the CPUs do not have to be identical, they only have to stop after the same number of processed machine instructions and change the operating mode. - The CPUs can be operated with different clock frequencies. - The CPUs can behave differently with regard to the speculative execution of instructions, since only the completed instructions are evaluated.
  • the present invention ensures that external events relevant to the program flow, such as e.g. Interrupts or data generated by external devices, redundant CPUs are presented at identical points in the command execution and the lockstep mode of operation can thereby be emulated.
  • a processor module CPU is shown schematically in FIG. Only the components relevant to this invention are shown.
  • the CPU comprises a cache memory C, one or more execution units EU, at least one comparator K, at least one counter CIC for counting the execution unit led instructions and at least one register element MIR, the content of which can be predetermined by commands or fixed.
  • the following are also shown schematically: address bus, data bus, control bus, connections or links and a system clock.
  • the CPU contains the counter CIC (Completed Instruction Counter), which counts instructions or machine instructions which the CPU has completely executed.
  • the CPU also contains a register MIR (Maximum Instruction Register) which is written by software (ELSO) which supports the emulated lockstep operation.
  • the CPU has the comparator or comparator K, which compares the number of commands executed, that is to say the counter CIC, with the register MIR and, in the case of equality, for example generates an interrupt request which executes the command according to the number of commands carried out by the register MIR given instructions are interrupted and the CPU switches to another operating mode.
  • suitable microcode is executed, for example, or an interrupt service routine is branched out, or hardware signals indicate that this synchronization point has been reached.
  • the external events are then presented to the redundant CPUs in such a way that after leaving this operating mode, all CPUs can evaluate these events in the same way and thus subsequently execute the same commands.
  • the CPU branches into an interrupt service routine in which the state of Interrupt signals kept away from the CPU by the hardware described are queried in such a way that a redundant CPU, which may make this query at a slightly later time, receives the identical information.
  • the counter CIC is reset before leaving the separate operating mode. Then the program jumps back to the point at which the interruption occurred when the counter value CIC specified by the register MIR was reached. The CPU will then again execute the number of machine instructions specified by the register MIR and, when the register value MIR is reached, change the mode by means of the counter CIC and thereby enable the acceptance of external events.
  • software ELSO supporting the emulated lockstep operation can set the register MIR to a value of 10,000.
  • a CPU that operates at a 5 GHz clock frequency and executes an average of one machine command per cycle (length of a cycle: 1/200 ps) would be interrupted after 2 ⁇ s in the execution of the command and enable synchronization with external events.

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)

Abstract

La présente invention concerne des cartes processeurs de construction plusieurs fois identique, à fonctionnement en mode synchrone, qui sont destinées à des systèmes redondants. L'exigence fondamentale pour la mise en oeuvre d'un système à mode synchrone est le comportement déterministe de tous les composants contenus dans la carte, c'est-à-dire les unités centrales, les jeux de puces, la mémoire centrale, etc. Le comportement déterministe signifie que ces composants fournissent des résultats identiques aux mêmes moments lorsqu'il n'y a pas d'erreur, si les composants obtiennent des stimuli identiques aux mêmes moments. Le comportement déterministe implique également l'utilisation d'interfaces synchrones. Des interfaces asynchrones impliquent souvent dans le système certaines incertitudes temporelles qui empêchent de maintenir le comportement global synchrone du système. L'objectif de la présente invention est de pouvoir mettre en oeuvre un mode synchrone. Cet objectif est atteint au moyen d'un procédé de synchronisation d'événements externes qui sont transmis à un module (unité centrale) et influencent celui-ci. Selon ce procédé, les événements externes sont stockés de façon temporaire par des éléments de mémoire tampon. Les événements externes stockés dans les éléments de mémoire tampon sont appelés dans un mode de fonctionnement séparé du module afin d'être traités par une unité d'exécution (EU) du module. Le module entre dans ce mode de fonctionnement qui s'active à la satisfaction d'une condition prédéfinissable ou prédéfinie reflétant la quantité d'instruction exécutée.
EP03807779A 2002-09-12 2003-08-06 Procede de synchronisation d'evenements, notamment pour des processeurs de systemes a tolerance d'erreur Withdrawn EP1543421A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP03807779A EP1543421A2 (fr) 2002-09-12 2003-08-06 Procede de synchronisation d'evenements, notamment pour des processeurs de systemes a tolerance d'erreur

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP02020602A EP1398699A1 (fr) 2002-09-12 2002-09-12 Méthode pour synchroniser des évènements, en particulier pour des systèmes à tolérance de fautes
EP02020602 2002-09-12
PCT/EP2003/008715 WO2004034172A2 (fr) 2002-09-12 2003-08-06 Procede de synchronisation d'evenements, notamment pour des processeurs de systemes a tolerance d'erreur
EP03807779A EP1543421A2 (fr) 2002-09-12 2003-08-06 Procede de synchronisation d'evenements, notamment pour des processeurs de systemes a tolerance d'erreur

Publications (1)

Publication Number Publication Date
EP1543421A2 true EP1543421A2 (fr) 2005-06-22

Family

ID=31725420

Family Applications (2)

Application Number Title Priority Date Filing Date
EP02020602A Withdrawn EP1398699A1 (fr) 2002-09-12 2002-09-12 Méthode pour synchroniser des évènements, en particulier pour des systèmes à tolérance de fautes
EP03807779A Withdrawn EP1543421A2 (fr) 2002-09-12 2003-08-06 Procede de synchronisation d'evenements, notamment pour des processeurs de systemes a tolerance d'erreur

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP02020602A Withdrawn EP1398699A1 (fr) 2002-09-12 2002-09-12 Méthode pour synchroniser des évènements, en particulier pour des systèmes à tolérance de fautes

Country Status (6)

Country Link
US (1) US20060195849A1 (fr)
EP (2) EP1398699A1 (fr)
CN (1) CN1682194A (fr)
AU (1) AU2003260375A1 (fr)
CA (1) CA2498656A1 (fr)
WO (1) WO2004034172A2 (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0602641D0 (en) 2006-02-09 2006-03-22 Eads Defence And Security Syst High speed data processing system
JP4709268B2 (ja) * 2008-11-28 2011-06-22 日立オートモティブシステムズ株式会社 車両制御用マルチコアシステムまたは内燃機関の制御装置
CN102147755B (zh) * 2011-04-14 2012-07-04 中国人民解放军国防科学技术大学 一种基于内存缓存技术的多核系统容错方法
US20130019083A1 (en) * 2011-07-11 2013-01-17 International Business Machines Corporation Redundant Transactional Memory
US8739186B2 (en) * 2011-10-26 2014-05-27 Autodesk, Inc. Application level speculative processing
US9009734B2 (en) 2012-03-06 2015-04-14 Autodesk, Inc. Application level speculative processing
US11645185B2 (en) * 2020-09-25 2023-05-09 Intel Corporation Detection of faults in performance of micro instructions

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3810119A (en) * 1971-05-04 1974-05-07 Us Navy Processor synchronization scheme
DE3235762A1 (de) * 1982-09-28 1984-03-29 Fried. Krupp Gmbh, 4300 Essen Verfahren und vorrichtung zur synchronisation von datenverarbeitungsanlagen
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
CA2003338A1 (fr) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronisation d'un ordinateur insensible aux defaillances a processeurs multiples
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
US5233615A (en) * 1991-06-06 1993-08-03 Honeywell Inc. Interrupt driven, separately clocked, fault tolerant processor synchronization
WO1993009494A1 (fr) * 1991-10-28 1993-05-13 Digital Equipment Corporation Traitement informatique insensible aux pannes utilisant un processeur virtuel fantome
WO1995015529A1 (fr) * 1993-12-01 1995-06-08 Marathon Technologies Corporation Traitement informatique resilient/insensible aux defaillances
DE19625195A1 (de) * 1996-06-24 1998-01-02 Siemens Ag Synchronisationsverfahren
US5896523A (en) * 1997-06-04 1999-04-20 Marathon Technologies Corporation Loosely-coupled, synchronized execution
JP2001523855A (ja) * 1997-11-14 2001-11-27 マラソン テクノロジーズ コーポレイション 故障回復/耐故障計算機
US6374364B1 (en) * 1998-01-20 2002-04-16 Honeywell International, Inc. Fault tolerant computing system using instruction counting
US6772368B2 (en) * 2000-12-11 2004-08-03 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
US6928583B2 (en) * 2001-04-11 2005-08-09 Stratus Technologies Bermuda Ltd. Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep
US6802024B2 (en) * 2001-12-13 2004-10-05 Intel Corporation Deterministic preemption points in operating system execution

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2004034172A2 *

Also Published As

Publication number Publication date
CN1682194A (zh) 2005-10-12
AU2003260375A1 (en) 2004-05-04
WO2004034172A2 (fr) 2004-04-22
AU2003260375A8 (en) 2004-05-04
WO2004034172A3 (fr) 2004-09-23
EP1398699A1 (fr) 2004-03-17
US20060195849A1 (en) 2006-08-31
CA2498656A1 (fr) 2004-04-22

Similar Documents

Publication Publication Date Title
DE68928360T2 (de) Hochleistungsrechnersystem mit fehlertoleranter Fähigkeit; Verfahren zum Betrieb desselben
DE102014002473B4 (de) System und verfahren zur erhöhung der lockstep-kern-verfügbarkeit
DE3855031T2 (de) Kopiesystem mit "Hot-standby"-Speicher
EP1820102A2 (fr) Procede et dispositif de commutation de frequence d'horloge dans un systeme multiprocesseur
DE102005055067A1 (de) Vorrichtung und Verfahren zum Beheben von Fehlern bei einem wenigstens zwei Ausführungseinheiten mit Registern aufweisenden System
DE102015003194A1 (de) Verfahren und Vorrichtung zum Handhaben von sicherheitskritischen Fehlern
EP1537482B1 (fr) Procede et ensemble circuit de synchronisation d'unites de traitement cadencees de maniere synchrone ou asynchrone
EP0543821B1 (fr) Installation pour le controle des fonctions de modules de synchronisation externes dans un systeme a plusieurs ordinateurs
EP1358554B1 (fr) Mise en marche automatique d'un systeme a configuration en grappe apres une erreur reparable
EP1398701A1 (fr) Méthode pour synchronizer des évèments, en particulier pour des systèmes à tolerance de fautes
DE102008004205A1 (de) Schaltungsanordnung und Verfahren zur Fehlerbehandlung in Echtzeitsystemen
EP2962205A1 (fr) Système de processeur multi-coeur pourvu d'une fonction d'analyse d'erreur
EP1543421A2 (fr) Procede de synchronisation d'evenements, notamment pour des processeurs de systemes a tolerance d'erreur
DE4406094C2 (de) Vorrichtung zum Betrieb einer Steuerungsanwendung
DE10302456A1 (de) Vorrichtung für sicherheitskritische Anwendungen und sichere Elektronik-Architektur
EP3311273A1 (fr) Procédé et dispositif de sécurisation d'une structure de compteur de programme d'un système de processeur et de surveillance du traitement d'une demande d'interruption
EP1807760B1 (fr) Systeme de traitement de donnees a frequence d'horloge variable
EP1274014A2 (fr) Unité commandée par programme
DE1966991A1 (de) Ausfallgesicherte datenverarbeitungsanlage
DE69127013T2 (de) Unterbrechungssteuerschaltung und Mikrocomputersystem, das diese enthält
DE102005037245A1 (de) Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten
DE102004051967A1 (de) Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
DE102005054081B3 (de) Schaltungstechnisch realisierte Einheit zur nahezu verzögerungsfreien, nach Altersklassen sortierten Ausgabe zuvor sequenziell zugeführter Datenwortmengen
DE102004051964A1 (de) Verfahren und Vorrichtung zur Überwachung einer Speichereinheit in einem Mehrprozessorsystem
DE102004051992A1 (de) Verfahren und Vorrichtung zur Verzögerung von Zugriffen auf Daten und/oder Befehle eines Mehrprozessorsystems

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20050308

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK

17Q First examination report despatched

Effective date: 20050705

DAX Request for extension of the european patent (deleted)
RBV Designated contracting states (corrected)

Designated state(s): DE FR GB SE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20060117