EP3338189A2 - Verfahren zum betrieb eines mehrkernprozessors - Google Patents

Verfahren zum betrieb eines mehrkernprozessors

Info

Publication number
EP3338189A2
EP3338189A2 EP16790913.4A EP16790913A EP3338189A2 EP 3338189 A2 EP3338189 A2 EP 3338189A2 EP 16790913 A EP16790913 A EP 16790913A EP 3338189 A2 EP3338189 A2 EP 3338189A2
Authority
EP
European Patent Office
Prior art keywords
distance
result
arithmetic operation
difference
cycle
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
EP16790913.4A
Other languages
English (en)
French (fr)
Inventor
Michael Armbruster
Martin Bischoff
Christian Buckl
Ludger Fiege
Andreas Zirkler
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
Original Assignee
Siemens AG
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 filed Critical Siemens AG
Publication of EP3338189A2 publication Critical patent/EP3338189A2/de
Withdrawn legal-status Critical Current

Links

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1497Details of time redundant execution on a single processing unit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware

Definitions

  • the invention relates to a method for operating a multi-core processor according to the preamble of patent claim 1.
  • Modern and future vehicles will be equipped with a plurality of electronically controlled functions which filters with regard to their safety and availability increased Anforde ⁇ approximations to the control system of the vehicle.
  • Silent behavior achieved By providing another duplex control computer, which handles its processing in the event of a fault on the first duplex control computer, even a "fail operational" behavior can be achieved. This guaranteed by a dual-lane operation using two independently operating processors error detection probability is high
  • the invention has for its object to provide an apparatus and a method for implementing a control system with high availability and integrity, which requires less hardware and at the same time ei ⁇ ne optimal utilization of hardware resources possible.
  • an operating a multicore processor on which a preferably safe ⁇ uniform critical application is put into effect, wel ⁇ surface comprises a plurality of cyclic calculations.
  • cyclic computational operations comprises a multi-stage calculation of control variables, in which supplied to discrete points in time the control system of digitized control values calculated there synchronously and are output as a digital output signal from ⁇ .
  • a time-based work cycle is provided, which is preferably substantially smaller than a smallest time constant of an underlying control loop.
  • a distribution scheme vorzuse ⁇ hen according to the calculation of an arithmetic operation is supplied to a core of the multi-core processor.
  • the processor cores may be used a multi-core processor ⁇ for a multi-channel calculating a safe ⁇ uniform critical application, wherein the processor cores are changed in each working cycle.
  • the comparison according to the invention of at least one distance between the current result and at least one result of an arithmetic operation at least one working cycle based on a comparison scheme makes it possible to detect random errors.
  • the quality of the error detection according to the invention is somewhat below that in a known from the prior art "dual-lane operation" with a parallel-redundant multi-channel calculation.
  • the quality of the error detection can over the need egg nes lower expenses of processing power disregard, particularly where an economic Ver ⁇ realization is required for the control system.
  • the invention thus combines on ⁇ requirements to a reasonable error detection with an economic interpretation of the computing power.
  • This embodiment of the invention is particularly in an operation of two- ⁇ or multi-core processors with a two-channel calculation of the safety-critical application the agent of choice, wherein the processor cores are changed in each working cycle.
  • a comparison scheme is provided, according to which a first distance is determined from the result of an arithmetic operation which precedes a work cycle and the result of the current work cycle. This first distance exceeds a maximum value or, in other words, this is outside an expected for the first distance value, an error in ⁇ dication is output according to the invention.
  • a faulty calculation of a processor core detected in the work cycle i in which the calculated by a processor core result of the other processor core calculated result in the duty cycle i-1 to the effect that the current result of the other result has a distance which outside a predetermined maximum value or Maximum distance is.
  • the consistency check provided by the invention on the basis of the comparison scheme is not based on bit identity, as in the dual-lane operation known from the prior art.
  • the reason for this is that input data from successive working cycles are also used for arithmetic operation in successive working cycles. Since the input data from successive working cycles are usually different, the results or output data may be different by a permissible distance. For this permissible distance, a permissible maximum distance can be specified or, alternatively or additionally, a permissible distance can be calculated from the distances of the results from past working cycles. The latter calculation of an allowable distance from the distances of the results from past work cycles will be explained in the following embodiments.
  • a second distance is determined from the result of an arithmetic operation two working cycles and the result of the current working cycle; and or;
  • a third distance is determined from the result of an arithmetic operation two working cycles back and the result of an arithmetic operation one working cycle past; and or;
  • a first difference is determined from a difference between the result of the one working cycle and the result of the current working cycle; and or;
  • a second difference is determined from a difference between the result of the two working cycles and the result of the arithmetic operation one working cycle ago.
  • an error indication is issued if the second distance is less than the first distance
  • the second distance is less than the third distance
  • the first difference has a different sign from the second difference.
  • the second distance of the results calculated in the working cycles i-1 and i + 1 is less than the first distance of the results from the working cycles i and i + 1 and less than the third distance of the results from the working cycles i- 1 and i.
  • the first difference of the results of working cycles i-1 and i has a sign different from the second difference of the results of working cycles i and i + 1.
  • a fourth distance is determined from the result of an arithmetic operation three working cycles and the result of an arithmetic operation one working cycle past; and or;
  • a fifth distance is determined from the result of an arithmetic operation three working cycles back and the result of an arithmetic operation two working cycles ago; and or;
  • a third difference is determined from a difference between the result of the three working cycles and the result of the arithmetic operation two working cycles ago. According to one embodiment of the invention, an error indication is issued if
  • the second distance is less than the first distance
  • the second distance is less than the third distance
  • the fourth distance is less than the third distance
  • the fourth distance is less than the fifth distance
  • the first difference has a sign different from the third difference
  • the third difference has a sign different from the second difference.
  • a miscalculation of a processor core in the work cycle i + 2 is detected, in which the results calculated by one processor core deviate systematically from the results calculated by the other processor core.
  • the second distance of the results calculated in the duty cycles i and i + 2 is less than the first distance of the results of the duty cycles i + 1 and i + 2 and less than the third distance of the results of the duty cycles i and i +. 1
  • the fourth distance of the results calculated in the work cycles i-1 and i + 1 is less than the third distance of the results from the work cycles i and i + 1 and less than the fifth distance of the results from the work cycles i- 1 and i.
  • the first difference of the results of working cycles i and i + 1 has a sign different from the third difference of the results of working cycles i-1 and i, the third difference again being one of the second difference of the results from the working cycles i and i + 1 have different signs.
  • a comparison scheme is provided, which provides in each work cycle Be ⁇ mood of at least one distance and a comparison with previous distances and / or differences.
  • a determination of distances or differences and / or their comparison takes place only in reserved working cycles, for example in every fourth or nth working cycle.
  • an increase in the comparison cycles may also be provided if the results determined per processor core diverge and / or move in the direction of a limit value.
  • Fig. 5 he two is a schematic representation of results alternately calculated respectively Rechenoperatio ⁇ NEN discrete duty cycles with a second sampling rate, wherein the underlying arithmetic operators ⁇ tion contains an integrating control element.
  • FIGs 1 and 2 there is shown a timing diagram, on the ordinate thereof, results C2i-1, Cli, C2i + 1, Cli + 2, C2i + 3 of two alternately from one of two processor cores - with a respective corresponding reference numeral prefix Cl for a first processor core and C2 for a second processor core - computed arithmetic operations are plotted at discrete points in time.
  • the cores which process the two substantially identical computing operations cyclically, in each operating cycle i-1, i, i + 1, i + 2, i + ⁇ gewech rare. 3
  • a processor core that is not involved in the processing of the computing operation can process other tasks so that no redundant computing power is wasted.
  • errors in the processing of the arithmetic operation also affect the respective other arithmetic operation on the other processor core.
  • a first distance calculated in the working ⁇ cycles i and i + 1 results Cli and C2i + 1 is exceeded a maximum value as shown in FIG 1. In other words there is the in the cycle i + 1 calculated result C2i + 1 outside the triangular area of a maximum distance expected value.
  • cycle i + 1 The second distance in the Ar ⁇ beitszyklen i-1 and i + 1 calculated results C2i-1 and C2i + 1 is less than the first distance calculated in the working ⁇ cycles i and i + 1 results Cli and C2i + 1.
  • the fourth distance of the results C2i-1 and C2i + 1 calculated in the working cycles i-1 and i + 1 is less than the third distance of the results Cli and C2i + 1 calculated in the working cycles i and i + 1 and less than that in For the work cycles i-1 and i calculated fifth distance of the result ⁇ se Cli and C2i-1 and Cli.
  • the first difference of the results calculated in the working cycles i and i + 1 (Cli) - (C2i + 1) has a result calculated from the third difference of the working cycles i-1 and i (C2i-1) - (Cli) different sign, wherein the third difference ⁇ umum one of the second difference of calculated in the working cycles i and i + 1 results (Cli) - (C2i + 1) under defenceli ⁇ ches sign has.
  • Fig. 2 shows the first distance AI, the second distance A2, the third distance A3, the fourth distance A4 and the fifth distance A5.
  • the output data may be different by a permissible delta.
  • a permissible value may be known or calculated from the distances of the input data.
  • the advantage of the invention is a halving of the benötig ⁇ th computing power, without increasing a cycle time of a ⁇ Ap plication realized digital controller with respect to the two-channel calculation. Although this results in a reduction in the quality of the consistency check - delta consistency instead of bit identity - and a slowdown of the error response by up to two working cycles, the cycle time of the controller in error-free case is not increased compared to the two-channel calculation.
  • Fig. 3 shows a schematic representation of two respective of a first processor core Cl and a second processor core C2 shown calculated results of an arithmetic operation over time, wherein the underlying arithmetic operators ⁇ tion contains an integrating control element. While the result curve determined by the second processor core C2 essentially follows an ideal value profile ID of the arithmetic operation, the result profile determined by the first processor core C1 drifts off.
  • the output values may also be slightly different. This is permissible in the context of the delta consistency test according to the invention.
  • the integrator variables in the two processor cores can steadily increase as each processor core steadily sees a slight deviation in the same direction. This can lead to a trembling of a controlled aggregate, since the two controllers regulate more and more in opposite directions.
  • a critical situation is achieved as soon as the integrator variables a limit, for example, the value range limit of the variable Errei ⁇ chen in the controller. Now one of the controllers can no longer counteract accordingly and the control value drifts off.
  • the values of the integrators can be mutually exchanged in the processing paths .
  • a limitation of the integrator values is not critical since it, but can not lead to instability in the worst case to a Verlangsa ⁇ tion of the controller response.
  • Instabilities may occur when the input signal of the regulator is at a frequency that is the duty cycle frequency
  • Controllers should always be designed so that the sampling rate is much higher than the frequency of the controlled variables. Are proven in operation Factors of four or greater, cf. Fig. 5. For all controlled systems whose dynamics are well known, this measure can and should be used.
  • Changing the processor core in a "waltz" or similarity ⁇ Liche discontinuous change If the dynamics of the controlled system is unknown, the rhythm in which the processor core to be changed can be changed. For example, the calculation of an arithmetic operation could always be supplied twice to the first processor core C1, then once to the second processor core C2. Due to the asymmetric period duration when changing the processor cores, there can be no frequency of a controller size, which leads to the behavior described above associated with an unwanted error detection.
  • At least two processor cores of a multi-core processor are used to calculate a security-critical application using two channels.
  • the arithmetic operations are not calculated redundantly on each processor cycle in each processor cycle, but both processor cores are utilized in different work cycles with different applications.
  • a doubling of the required computing capacity is advantageously avoided.
  • the quality of the error detection according to the invention is somewhat below that in a "dual-lane operation" known from the prior art with a parallel redundant multi-channel calculation.
  • the quality of error detection may be less stringent than the requirement for less computational power, especially if the control system requires commercialization.
  • the invention thus combines requirements provides a reasonable ⁇ accordingly reliable fault detection with an economic interpretation account the processing power.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)

Abstract

Erfindungsgemäß werden mindestens zwei Prozessorkerne eines Mehrkernprozessors dazu genutzt, eine sicherheitskritische Applikation zweikanalig zu berechnen. Dabei werden die Rechenoperationen nicht in jedem Rechenzyklus auf beiden Prozessorkernen redundant berechnet, sondern beide Prozessorkerne werden in verschiedenen Arbeitszyklen mit verschiedenen Applikationen ausgelastet. Somit wird eine Verdoppelung der benötigten Rechenkapazität in vorteilhafter Weise vermieden. Um eine gegenseitige Überwachung der Prozessorkerne zu erreichen, werden die Rechenoperationen abwechselnd auf beiden Prozessorkernen zur berechnet. Durch die beschriebenen Fehlererkennungsmechanismen können zufällige Fehler erkannt werden. Zwar liegt die Güte der erfindungsgemäßen Fehlererkennung etwas unter dem bei einem aus dem Stand der Technik bekannten »Dual-Lane-Betrieb« mit einer parallel-redundanten mehrkanaligen Berechnung. Die Güte der Fehlererkennung kann allerdings gegenüber dem Erfordernis eines geringeren Aufwands an Rechenleistung hintanstehen, insbesondere wenn für das Steuersystem eine wirtschaftliche Verwirklichung gefordert ist. Die Erfindung vereinigt somit Anforderungen an eine hinreichend sichere Fehlererkennung mit einer ökonomischen Auslegung der Rechenleistung.

Description

Beschreibung
Verfahren zum Betrieb eines Mehrkernprozessors Die Erfindung betrifft ein Verfahren zum Betrieb eines Mehrkernprozessors gemäß dem Oberbegriff des Patentanspruchs 1.
Moderne und zukünftige Fahrzeuge werden mit einer Vielzahl an elektronisch gesteuerten Funktionen ausgestattet, welche hin- sichtlich ihrer Sicherheit und Verfügbarkeit erhöhte Anforde¬ rungen an das Steuersystem des Fahrzeugs stellen.
Derzeit werden hochsichere und hochverfügbare Steuersysteme auf der Basis von Duplex-Control-Computern (DCC) eingesetzt, mit denen eine fehlersichere Ausführung von Software- Funktionen gewährleistet werden kann. Dazu wird eine identi¬ sche Software auf zwei unabhängigen Mikroprozessoren zur Ausführung gebracht. Auch die Peripheriefunktionen der Mikroprozessoren, also nichtflüchtige und flüchtige Speichereinhei- ten, Netzwerkverbindungseinheiten, Ressourcenmanager, usw., erfolgen auf zwei getrennten Bearbeitungswegen, auf welche auch als »Lanes« einer gedoppelten »Dual Lane«-Verarbeitungs- weise Bezug genommen wird. Zu bestimmten Zeitpunkten werden die Ergebnisse der beiden Mikroprozessoren gegenseitig ausge- tauscht und in beiden Mikroprozessoren miteinander verglichen .
Falls in einer dieser so genannten Lanes oder in deren Kommunikationsverbindung ein Fehler auftritt, wird mit diesem Ver- gleich in zumindest einer der Lanes ein abweichendes Ergebnis erkannt. In Folge dessen wird der Duplex-Control-Computer als fehlerhaft betrachtet und schaltet sich ab. Damit ist garan¬ tiert, dass kein falsches Steuersignal von einem Duplex- Control-Computer ausgesendet wird und somit ein »Fail
Silent«-Verhalten erreicht. Durch die Bereitstellung eines weiteren Duplex-Control-Computers, der bei einem Fehler des ersten Duplex-Control-Computers dessen Bearbeitung übernimmt, kann sogar ein »Fail Operational«-Verhalten erreicht werden. Diese durch einen Dual-Lane-Betrieb unter Verwendung zweier unabhängig arbeitender Prozessoren gewährleistete Fehlererkennungswahrscheinlichkeit wird durch einen hohen
Hardwareaufwand erzielt.
Der Erfindung liegt die Aufgabe zugrunde, eine Vorrichtung und ein Verfahren zur Realisierung eines Steuersystems mit hoher Verfügbarkeit und Integrität zu schaffen, welches einen geringeren Aufwand an Hardware erfordert und gleichzeitig ei¬ ne optimale Ausnutzung der Hardware-Ressourcen ermöglicht.
Die Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 gelöst.
Beim erfindungsgemäßen Verfahren ist ein Betrieb eines Mehrkernprozessors vorgesehen, auf dem eine vorzugsweise sicher¬ heitskritische Applikation zur Ausführung gebracht wird, wel¬ che eine Mehrzahl zyklischer Rechenoperationen umfasst. Der Begriff zyklische Rechenoperationen umfasst insbesondere eine mehrstufige Berechnung von Regelgrößen, bei denen zu diskreten Zeitpunkten dem Steuersystem digitalisierte Stellgrößen zugeführt, dort zeitsynchron berechnet und als digitales Aus¬ gangssignal ausgegeben werden. Zur Berechnung einer jeweili- gen Rechenoperation ist ein zeitlich bemessener Arbeitszyklus vorgesehen, welcher vorzugsweise wesentlich kleiner als eine kleinste Zeitkonstante eines zugrundliegenden Regelkreises ist . Erfindungsgemäß ist vorgesehen, ein Verteilungschema vorzuse¬ hen, gemäß dem eine Berechnung einer Rechenoperation einem Kern des Mehrkernprozessors zugeführt wird. Nach Erhalt eines Ergebnisses einer aktuellen Rechenoperation wird innerhalb des aktuellen Arbeitszyklus und abhängig von einem Ver- gleichsschema mindestens ein Abstand zwischen dem aktuellen
Ergebnis und mindestens einem Ergebnis einer mindestens einen Arbeitszyklus zurückliegenden Rechenoperation durchgeführt. Falls mindestens ein Abstand außerhalb eines erwarteten Werts ist, wird eine Fehlerindikation ausgegeben. Anschließend erfolgt die Berechnung einer darauffolgenden Rechenoperation auf einem gemäß dem Verteilungschema zugewiesenen anderen Kern des Mehrkernprozessors.
Erfindungsgemäß werden die Prozessorkerne (Cores) eines Mehr¬ kernprozessors für eine mehrkanalige Berechnung einer sicher¬ heitskritischen Applikation verwendet, wobei die Prozessorkerne in jedem Arbeitszyklus gewechselt werden.
Durch den erfindungsgemäßen Vergleich mindestens eines Abstand zwischen dem aktuellen Ergebnis und mindestens einem Ergebnis einer mindestens einen Arbeitszyklus zurückliegenden Rechenoperation anhand eines Vergleichsschemas können zufäl- lige Fehler erkannt werden. Zwar liegt die Güte der erfindungsgemäßen Fehlererkennung etwas unter dem bei einem aus dem Stand der Technik bekannten »Dual-Lane-Betrieb« mit einer parallel-redundanten mehrkanaligen Berechnung. Die Güte der Fehlererkennung kann allerdings gegenüber dem Erfordernis ei- nes geringeren Aufwands an Rechenleistung hintanstehen, insbesondere wenn für das Steuersystem eine wirtschaftliche Ver¬ wirklichung gefordert ist. Die Erfindung vereinigt somit An¬ forderungen an eine hinreichend sichere Fehlererkennung mit einer ökonomischen Auslegung der Rechenleistung.
In vorteilhafter Weise können auf den übrigen Prozessorkernen, welche derzeit nicht mit der Bearbeitung der sicherheitskritischen Applikation beaufschlagt sind, Rechenoperati¬ onen für andere sicherheitskritische oder nicht sicherheits- kritische Applikationen durchgeführt werden, sodass trotz der mehrkanaligen Berechnung insgesamt kein merklicher Mehrbedarf an Rechenleistung aufgewendet wird. Insbesondere wird eine Verdoppelung der benötigten Rechenleistung vermieden, welche aus dem Stand der Technik bei einem Dual-Lane-Betrieb mit ei- ner redundanten Berechnung auf jeweils einem Prozessorkern bekannt ist. Weitere vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der abhängigen Ansprüche.
Gemäß einer Ausgestaltung der Erfindung ist eine jeweils wechselweise Zuweisung der Rechenoperationen zu einem der
Kerne des Mehrkernprozessors vorgesehen. Diese Ausgestaltung der Erfindung ist insbesondere bei einem Betrieb von Zwei¬ oder Mehrkernprozessoren mit einer zweikanaligen Berechnung der sicherheitskritischen Applikation das Mittel der Wahl, wobei die Prozessorkerne in jedem Arbeitszyklus gewechselt werden .
Die im folgendem erläuterten Ausgestaltungen der Erfindung basieren auf einem mehrstufigen Vergleichsschema, welches auf folgenden Überlegungen beruht: Falls in einem ersten Prozessorkern oder in einem dem ersten Prozessorkern zugeordneten Speicher in einem beispielhaften Arbeitszyklus i ein Fehler auftritt, ist das durch diesen ersten Prozessorkern errechnete Ergebnis verfälscht. In einem darauf folgenden Arbeitszyk- lus i+1 berechnet nun der zweite Prozessorkern ein unverfälschtes Ergebnis. Im Arbeitszyklus i+2 wird wiederum ein verfälschtes Ergebnis im ersten Prozessorkern berechnet. In jedem Arbeitszyklus wird auf jedem der beiden Prozessorkerne der Abstand zwischen dem aktuellen Ergebnis und mindestens einem zurückliegenden Ergebnis verglichen. Dabei wird frühestens im Arbeitszyklus i und spätestens im Arbeitszyklus i+2 ein Fehler feststellbar sein.
Gemäß einer Ausgestaltung der Erfindung ist ein Vergleichs- Schema vorgesehen, gemäß dem aus dem Ergebnis einer einen Arbeitszyklus zurückliegenden Rechenoperation und dem Ergebnis des aktuellen Arbeitszyklus ein erster Abstand bestimmt wird. Überschreitet dieser erste Abstand einen Maximalwert oder, mit anderen Worten, ist dieser außerhalb eines für den ersten Abstand erwarteten Werts, wird erfindungsgemäß eine Fehlerin¬ dikation ausgegeben. Gemäß dieser Ausgestaltung wird bei einer zweikanaligen Berechnung der sicherheitskritischen Applikation auf einem jeweils wechselnden Prozessorkern eine Fehl- berechnung eines Prozessorkerns im Arbeitszyklus i erkannt, bei der das von einem Prozessorkern errechnete Ergebnis von dem vom anderen Prozessorkern errechneten Ergebnis im Arbeitszyklus i-1 dahingehend abweicht, dass das aktuelle Er- gebnis vom anderen Ergebnis einen Abstand aufweist, welcher außerhalb eines vorgebbaren Maximalwerts bzw. Maximalabstands liegt .
Die durch die Erfindung vorgegebene Konsistenzüberprüfung auf Basis des Vergleichsschemas erfolgt nicht auf Bit-Identität wie etwa in dem aus dem Stand der Technik bekannten Dual- Lane-Betrieb . Der Grund hierfür liegt darin, dass für Rechen¬ operation in aufeinanderfolgenden Arbeitszyklen auch Eingangsdaten aus aufeinanderfolgenden Arbeitszyklen verwendet werden. Da die Eingangsdaten aus aufeinanderfolgenden Arbeitszyklen üblicherweise verschieden sind können auch die Ergebnisse bzw. Ausgangsdaten um einen zulässigen Abstand verschieden sein. Für diesen zulässigen Abstand kann ein zulässiger Maximalabstand vorgebbar sein oder, alternativ oder zusätzlich, ein zulässiger Abstand aus den Abständen der Ergebnisse aus zurückliegenden Arbeitszyklen berechnet werden. Die zuletzt genannte Berechnung eines zulässigen Abstands aus den Abständen der Ergebnisse aus zurückliegenden Arbeitszyklen wird in den folgenden Ausgestaltungen erläutert.
Durch die erfindungsgemäßen Maßnahmen können zufällige Fehler erkannt werden. Bei einem Ausführen derselben Software auf verschiedenen Prozessorkernen können generell systematische Fehler nicht erkannt werden. Dies gilt im Übrigen auch für den im Stand der Technik bekannten Dual-Lane-Betrieb .
Sollen auch systematische Fehler erkannt werden, ist es im Stand der Technik bekannt, auf zwei Prozessoren eines Dual- Lane-Computers verschiedenartige Software auszuführen, die damit sehr wahrscheinlich nicht den gleichen Fehler enthält. Dabei kann die zweite Software entweder denselben Funktions¬ umfang haben wie die erste, oder eine vereinfachte Berechnung durchführen. Letztere wird auch als Envelope-Funktion be- zeichnet. In beiden Fällen kann auch beim Dual-Lane-Computer kein Vergleich einer Bit-Identität, sondern nur ein Vergleich der Ergebnisse durchgeführt werden. In vorteilhafter Weise sind beide genannten Verfahren mit dem vorliegenden erfin- dungsgemäßen Verfahren kombinierbar. Dazu würde beispielsweise die Applikation AI im Zyklus i auf Core Cl und die Appli¬ kation A2 im Zyklus i+1 auf Core C2 ausgeführt. Im fehler¬ freien Fall würde die beschriebene Fehlererkennung unverändert funktionieren, gegebenenfalls mit einem vergrößerten zu- lässigen Delta. Insbesondere wenn eine der Applikationen eine Envelope-Funktion ist, wird ein größeres Delta vorzusehen sein, wie es auch im Stand der Technik üblich ist. Durch die Verschiedenartigkeit der Funktionen würden die beschriebenen Fehlererkennungsmechanismen in dieser Ausführungsform auch Fehler bzw. Unterschiede in den Applikationen AI und A2 erkennen können.
Gemäß einer Ausgestaltung der Erfindung werden weitere Abstände sowie Differenzen zwischen Ergebnissen zurückliegender Rechenoperationen im Arbeitszyklus i+1 bestimmt, wobei:
aus dem Ergebnis einer zwei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis des aktuellen Arbeitszyklus ein zweiter Abstand bestimmt wird; und/oder;
aus dem Ergebnis einer zwei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis einer einen Arbeitszyklus zurückliegenden Rechenoperation ein dritter Abstand bestimmt wird; und/oder;
aus einer Differenz aus dem Ergebnis der einen Arbeitszyklus zurückliegenden Rechenoperation und dem Ergebnis des aktuellen Arbeitszyklus eine erste Differenz bestimmt wird; und/oder;
aus einer Differenz aus dem Ergebnis der zwei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis der einen Arbeitszyklus zurückliegenden Rechenoperation eine zweite Differenz bestimmt wird.
Gemäß einer Ausgestaltung der Erfindung wird eine Fehlerindikation ausgegeben, falls der zweite Abstand geringer als der erste Abstand ist;
und;
der zweite Abstand geringer als der dritte Abstand ist; und;
- die erste Differenz ein von der zweiten Differenz unterschiedliches Vorzeichen hat.
Gemäß dieser Ausgestaltung wird bei einer zweikanaligen Berechnung der sicherheitskritischen Applikation auf einem je- weils wechselnden Prozessorkern eine Fehlberechnung eines
Prozessorkerns im Arbeitszyklus i+1 erkannt, bei der die von einem Prozessorkern errechneten Ergebnisse systematisch von der vom anderen Prozessorkern errechneten Ergebnisse abweichen. Dabei ist der zweite Abstand der Ergebnisse, die in den Arbeitszyklen i-1 und i+1 berechnet wurden, geringer als der erste Abstand der Ergebnisse aus den Arbeitszyklen i und i+1 sowie geringer als der dritte Abstand der Ergebnisse aus den Arbeitszyklen i-1 und i. Außerdem hat die erste Differenz der Ergebnisse aus den Arbeitszyklen i-1 und i ein von der zwei- ten Differenz der Ergebnisse aus den Arbeitszyklen i und i+1 unterschiedliches Vorzeichen.
Gemäß einer Ausgestaltung der Erfindung werden weitere Abstände sowie Differenzen zwischen Ergebnissen zurückliegender Rechenoperationen im Arbeitszyklus i+2 bestimmt, wobei:
aus dem Ergebnis einer drei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis einer einen Arbeitszyklus zurückliegenden Rechenoperation ein vierter Abstand bestimmt wird; und/oder;
- aus dem Ergebnis einer drei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis einer zwei Arbeitszyklen zurückliegenden Rechenoperation ein fünfter Abstand bestimmt wird; und/oder;
aus einer Differenz aus dem Ergebnis der drei Arbeitszyk- len zurückliegenden Rechenoperation und dem Ergebnis der zwei Arbeitszyklen zurückliegenden Rechenoperation eine dritte Differenz bestimmt wird. Gemäß einer Ausgestaltung der Erfindung wird eine Fehlerindikation ausgegeben, falls
der zweite Abstand geringer als der erste Abstand ist;
und;
- der zweite Abstand geringer als der dritte Abstand ist; und;
der vierte Abstand geringer als der dritte Abstand ist; und;
der vierte Abstand geringer als der fünfte Abstand ist; und;
die erste Differenz ein von der dritten Differenz unterschiedliches Vorzeichen hat; und;
die dritte Differenz ein von der zweiten Differenz unterschiedliches Vorzeichen hat.
Gemäß dieser Ausgestaltung wird bei einer zweikanaligen Berechnung der sicherheitskritischen Applikation auf einem jeweils wechselnden Prozessorkern eine Fehlberechnung eines Prozessorkerns im Arbeitszyklus i+2 erkannt, bei der die von einem Prozessorkern errechneten Ergebnisse systematisch von der vom anderen Prozessorkern errechneten Ergebnisse abweichen. Dabei ist der zweite Abstand der Ergebnisse, die in den Arbeitszyklen i und i+2 berechnet wurden, geringer als der erste Abstand der Ergebnisse aus den Arbeitszyklen i+1 und i+2 sowie geringer als der dritte Abstand der Ergebnisse aus den Arbeitszyklen i und i+1.
Weiterhin ist der vierte Abstand der Ergebnisse, die in den Arbeitszyklen i-1 und i+1 berechnet wurden, geringer als der dritte Abstand der Ergebnisse aus den Arbeitszyklen i und i+1 sowie geringer als der fünfte Abstand der Ergebnisse aus den Arbeitszyklen i-1 und i.
Außerdem hat die erste Differenz der Ergebnisse aus den Arbeitszyklen i und i+1 ein von der dritten Differenz der Er- gebnisse aus den Arbeitszyklen i-1 und i unterschiedliches Vorzeichen, wobei die dritte Differenz wiederum ein von der zweiten Differenz der Ergebnisse aus den Arbeitszyklen i und i+1 unterschiedliches Vorzeichen hat. Gemäß einer Ausgestaltung der Erfindung ist ein Vergleichsschema vorgesehen, welches in jedem Arbeitszyklus eine Be¬ stimmung mindestens eines Abstandes sowie einen Vergleich mit vorausgehenden Abständen und/oder Differenzen vorsieht. Alternativ findet eine Bestimmung von Abständen bzw. Differenzen und/oder deren Vergleich lediglich in vorbehaltenen Arbeitszyklen statt, beispielsweise in jedem vierten bzw. n-ten Arbeitszyklus. Weiterhin gemäß dem Vergleichsschema auch eine Erhöhung der Vergleichszyklen vorgesehen sein, wenn die jeweils pro Prozessorkern ermittelten Ergebnisse auseinanderdriften und/oder sich in Richtung eines Grenzwerts bewegen.
Im Folgenden werden weitere Ausführungsbeispiele und Vorteile der Erfindung anhand der Zeichnung näher erläutert. Dabei zeigen : eine schematische Darstellung von Ergebnissen zweier jeweils wechselweise berechneten Rechenoperatio¬ nen zu diskreten Arbeitszyklen, bei der ein jeweiliger erwarteter Wertebereich für einen Abstand zwischen einem aktuellen Ergebnis und einem folgenden Ergebnis aufgetragen ist; eine schematische Darstellung von Ergebnissen zweier jeweils wechselweise berechneten Rechenoperatio¬ nen zu diskreten Arbeitszyklen, bei der ein jeweiliger Abstand zwischen einem aktuellen Ergebnis und einem folgenden Ergebnis aufgetragen ist; eine schematische Darstellung von Ergebnissen zweier Rechenoperationen über die Zeit, wobei die zugrundeliegende Rechenoperation ein integrierendes Regelglied enthält; eine schematische Darstellung von Ergebnissen zweier jeweils wechselweise berechneten Rechenoperatio¬ nen zu diskreten Arbeitszyklen mit einer ersten Ab- tastrate, wobei die zugrundeliegende Rechenoperati¬ on ein integrierendes Regelglied enthält; und;
Fig. 5: eine schematische Darstellung von Ergebnissen zwei- er jeweils wechselweise berechneten Rechenoperatio¬ nen zu diskreten Arbeitszyklen mit einer zweiten Abtastrate, wobei die zugrundeliegende Rechenopera¬ tion ein integrierendes Regelglied enthält. In Fig. 1 und Fig. 2 ist ein Zeitdiagramm gezeigt, auf dessen Ordinate Ergebnisse C2i-1, Cli, C2i+1, Cli+2, C2i+3 zweier jeweils wechselweise von einem von zwei Prozessorkernen - mit einem jeweiligen entsprechenden Bezugszeichenpräfix Cl für einen ersten Prozessorkern und C2 für einen zweiten Prozes- sorkern - berechneten Rechenoperationen zu diskreten Zeitpunkten aufgetragen sind. Die auf der Abszisse aufgetragenen diskreten Zeitpunkte entsprechen Arbeitszyklen i-1, i, i+1, i+2, i+3. In Fig. 1 ist ein jeweiliger erwarteter Wertebereich für einen Abstand zwischen einem aktuellen Ergebnis und einem folgenden Ergebnis aufgetragen, siehe den von einem jeweiligen punktförmigen Ergebniswert C2i-1, Cli, C2i+1, Cli+2, C2i+3 ausgehenden dreieckförmigen Bereich.
Erfindungsgemäß werden die Prozessorkerne, welche die beiden im Wesentlichen identischen Rechenoperationen zyklisch bearbeiten, in jedem Arbeitszyklus i-1, i, i+1, i+2, i+3 gewech¬ selt. Damit kann ein jeweils nicht an der Bearbeitung der Re- chenoperation beteiligter Prozessorkern andere Aufgaben bearbeiten, sodass keine redundante Rechenleistung verschwendet wird. Gleichzeitig wirken sich Fehler in der Bearbeitung der Rechenoperation auch die jeweils andere Rechenoperation auf dem anderen Prozessorkern aus.
Falls in einem Prozessorkern Cl oder in einem dem Prozessorkern Cl zugeordneten Speicher beispielsweise im Arbeitszyklus i ein Fehler auftritt, wird das durch diesen Prozessorkern Cl errechnete Ergebnis Cli verfälscht. Im nächsten Arbeitszyklus i+1 rechnet nun der andere Prozessorkern C2 ein diesmal unverfälschtes Ergebnis C2i+1. Im nächsten Arbeitszyklus i+2 wird wieder ein verfälschte Er¬ gebnis Cli+2 im Prozessorkern Cl berechnet. In beiden Prozessorkernen Cl, C2 sind, gemäß einer Ausgestaltung des erfindungsgemäßen Vergleichsschemas, folgende Überwachungsmecha¬ nismen vorgesehen, die frühestens im Arbeitszyklus i und spä- testens im Arbeitszyklus i+2 feststellen können, dass ein Fehler vorliegt. a. Im Arbeitszyklus i: Ein erster Abstand der in den Arbeits¬ zyklen i und i+1 berechneten Ergebnisse Cli und C2i+1 über- schreiten einen Maximalwert gemäß Fig. 1. Mit anderen Worten befindet sich das im Arbeitszyklus i+1 berechnete Ergebnis C2i+1 außerhalb des dreieckförmige Bereichs eines für einen maximalen Abstand erwarteten Werts. b. Im Arbeitszyklus i+1: Der zweite Abstand der in den Ar¬ beitszyklen i-1 und i+1 berechneten Ergebnisse C2i-1 und C2i+1 ist geringer als der erste Abstand der in den Arbeits¬ zyklen i und i+1 berechneten Ergebnisse Cli und C2i+1. Wei¬ terhin ist der zweite Abstand der in den Arbeitszyklen i-1 und i+1 berechneten Ergebnisse C2i-1 und C2i+1 geringer als der dritte Abstand der in den Arbeitszyklen i-1 und i berechneten Ergebnisse C2i-1 und Cli. Außerdem hat die erste Diffe¬ renz der Ergebnisse aus den Arbeitszyklen i-1 und i, also (C2i-1) - (Cli) , ein von der zweiten Differenz der Ergebnisse aus den Arbeitszyklen i und i+1, also (Cli-C2i+1), unterschiedliches Vorzeichen. c. Im Arbeitszyklus i+2: Der zweite Abstand der in den Ar¬ beitszyklen i und i+2 berechneten Ergebnisse Cli und Cli+2 ist geringer als der erste Abstand der der in den Arbeitszyklen i+1 und i+2 berechneten Ergebnisse C2i+1 und Cli+2 sowie geringer als der dritte Abstand der in den Arbeitszyklen i und i+1 berechneten Ergebnisse Cli und C2i+1. Weiterhin ist der der in den Arbeitszyklen i-1 und i+1 berechnete vierte Abstand der Ergebnisse C2i-1 und C2i+1 geringer als der in den Arbeitszyklen i und i+1 berechneten dritte Abstand der Ergebnisse Cli und C2i+1 sowie geringer als der in den Ar- beitszyklen i-1 und i berechnete fünfte Abstand der Ergebnis¬ se Cli und C2i-1 und Cli. Außerdem hat die erste Differenz der in den Arbeitszyklen i und i+1 errechneten Ergebnisse (Cli) - (C2i+1) ein von der dritten Differenz der in den Arbeitszyklen i-1 und i errechneten Ergebnisse (C2i-1) - (Cli) unterschiedliches Vorzeichen, wobei die dritte Differenz wie¬ derum ein von der zweiten Differenz der in den Arbeitszyklen i und i+1 errechneten Ergebnisse (Cli) - (C2i+1) unterschiedli¬ ches Vorzeichen hat. Fig. 2 zeigt den ersten Abstand AI, den zweiten Abstand A2, den dritten Abstand A3, den vierten Abstand A4 und den fünften Abstand A5.
Falls keine Vorschrift für einen maximalen Gradienten vor- liegt, kann demnach erst im Arbeitszyklus i+2 sicher erkannt werden, dass ein Fehler vorliegt. Dieser Test kann je nach Bedarf kontinuierlich in jedem Arbeitszyklus durchgeführt werden, oder z.B. in jedem n-ten Zyklus. Zusätzlich können auch engere maximale Abstände definiert werden, die ein- oder mehrmals überschritten werden dürfen, bevor ein Fehler detektiert wird. Die Konsistenzüberprüfung kann nicht, wie in einem »echten« Dual-Lane-Betrieb, auf Bit-Identität erfolgen, da die beiden Prozessorkerne für die Berechnungen in aufeinanderfolgenden Arbeitszyklen die Eingangsdaten aus aufeinanderfolgenden Zyklen verwenden.
Da die Eingangsdaten in aufeinanderfolgenden Arbeitszyklen verschieden sein werden, evtl. um ein durch einen vorgegebe- nen maximalen Abstand begrenzt, können auch die Ausgangsdaten um ein zulässiges Delta verschieden sein. Für dieses Delta kann ein zulässiger Wert bekannt sein oder aus den Abständen der Eingangsdaten berechnet werden. Der erfindungsgemäße Vorteil ist eine Halbierung der benötig¬ ten Rechenleistung, ohne eine Zykluszeit eines mit einer Ap¬ plikation realisierten digitalen Reglers gegenüber der zwei- kanaligen Berechnung zu erhöhen. Dies hat zwar eine Reduktion der Güte der Konsistenzprüfung - Delta-Konsistenz statt Bit- Identität - und eine Verlangsamung der Fehlerreaktion um bis zu zwei Arbeitszyklen zur Folge, die Zykluszeit des Reglers im fehlerfreien Fall wird gegenüber der zweikanaligen Berech- nung allerdings nicht erhöht.
Gemäß weiteren Ausführungsformen der Erfindung werden zusätzliche Maßnahmen getroffen, falls die Applikation zumindest teilweise einen digitalen Regler realisiert, welcher zumin- dest teilweise integrierende Regelglieder, also Regler mit I- Anteilen enthält oder auch anderweitig vergangene Systemzu¬ stände mit in die Berechnung einbezogen werden.
Fig. 3 zeigt eine schematische Darstellung zweier jeweiliger von einem ersten Prozessorkern Cl und einem zweiten Prozessorkern C2 ermittelten Ergebnissen einer Rechenoperation über die Zeit dargestellt, wobei die zugrundeliegende Rechenopera¬ tion ein integrierendes Regelglied enthält. Während der vom zweiten Prozessorkern C2 ermittelte Ergebnisverlauf im We- sentlichen einem Idealwertverlauf ID der Rechenoperation folgt, driftet der vom erstem Prozessorkern Cl ermittelte Ergebnisverlauf ab.
Da beide oder mehrere Prozessorkerne leicht unterschiedliche Eingangswerte erhalten, können die Ausgangswerte ebenfalls leicht unterschiedlich sein. Dies ist im Rahmen der Deltakonsistenzprüfung gemäß der Erfindung zulässig. Falls aber die Regelziele der beiden Prozessorkerne leicht über und unter dem Idealwert liegen können sich die Integrator-Variablen in den beiden Prozessorkernen stetig vergrößern, da jeder Prozessorkern stetig eine leichte Abweichung in der gleichen Richtung sieht. Dies kann zu einem Zittern eines angesteuerten Aggregates führen, da die beiden Regler immer stärker in entgegengesetzte Richtungen regeln. Eine kritische Situation wird erreicht, sobald die Integratorvariablen in einem der Regler einen Grenzwert, z.B. die Wertebereichsgrenze der Variablen errei¬ chen. Jetzt kann einer der Regler nicht mehr entsprechend gegensteuern und der Regelwert driftet ab. Dies würde zwar un¬ ter den oben beschriebenen Bedingungen zu einer sicheren Abschaltung führen. Die Zuverlässigkeit des Systems wäre aber nicht mehr gegeben, da in diesem Fall das Wechseln der Prozessorkerne den Fehler erzeugt. Um dieses Problem zu vermei¬ den, ist eine geeignete Drift-Kompensation vorzusehen. Dazu können beispielsweise die Werte der Integratoren in den bei¬ den Bearbeitungswegen gegenseitig ausgetauscht werden. Um ei- ne mögliche Fehlerausbreitung zu vermeiden, empfiehlt es sich, die ausgetauschten Werte der Integratoren zu begrenzen. Aus der Dynamik der Regelstrecke und der Auslegung des Reg¬ lers können die im Normalbetrieb zulässigen Integratorwerte bestimmt werden. Eine Begrenzung der Integratorwerte ist nicht kritisch, da sie schlimmstenfalls zu einer Verlangsa¬ mung des Reglerverhaltens, nicht aber zu einer Instabilität führen kann.
Zu Instabilitäten kann es kommen, wenn das Eingangssignal des Reglers mit einer Frequenz, die der Arbeitszyklusfrequenz
- also dem Kehrwert eines zeitlichen Werts des Arbeitszyklus
- ähnlich ist, oszilliert. Dies kann dazu führen, dass einem Prozessorkern stets ein zu hoher, dem andere Prozessorkern stets ein zu niedriger Wert am Reglereingang übergeben wird und dadurch die Stellgrößen gemäß Fig. 4 oszillieren. Dieses Verhalten würde nach den obenstehenden Regeln als Fehler erkannt und ist deshalb zu vermeiden.
Folgende Ausgestaltungen sind hierzu geeignet:
Vermeiden von Unterabtastung. Regler sollten grundsätzlich so ausgelegt werden, dass die Abtastrate wesentlich höher ist als die Frequenz der Regelgrößen. Betriebsbewährt sind Faktoren von vier oder größer, vgl. Fig. 5. Bei allen Regelstrecken, deren Dynamik hinreichend bekannt ist, kann und sollte diese Maßnahme angewendet werden.
Wechsel des Prozessorkerns in einem »Walzertakt« oder ähn¬ liche diskontinuierliche Wechsel: Falls die Dynamik der Regelstrecke nicht bekannt ist, kann der Rhythmus, in dem die Prozessorkerns gewechselt werden, verändert werden. Beispielsweise könnte die Berechnung einer Rechenoperation dem ersten Prozessorkern Cl immer zweimal zugeführt werden, anschließend einmal dem zweiten Prozessorkern C2. Durch die asymmetrische Periodendauer beim Wechsel der Prozessorkerne kann es keine Frequenz einer Reglergröße geben, die zu dem oben beschrieben Verhalten verbunden mit einer ungewollten Fehlererkennung führt.
Verwendung eines Drei- oder Mehr-kernprozessors . Bei¬ spielsweise könnte die Berechnung einer Rechenoperation einmal einem ersten Prozessorkern Cl, dann einem zweiten Prozessorkern C2, dann einem dritten Prozessorkern C3 zugeführt werden. Ein Fehler in einem der Prozessorkerne könnte somit von oszillierenden Eingangsdaten unterschieden werden, da ein Fehler in einem der Prozessorkerne nur in jeden dritten Zyklus auftreten würde.
Integratorwert-Rückführung mit Begrenzung des gültigen Wertebereichs für rückgeführte Integratorwerte wie oben ausgeführt .
Abgleich von Systemzuständen mit Historie: Falls Systemzu¬ stände aus einer Anzahl von Werten aus der Vergangenheit berechnet werden, können unterschiedliche Eingangsdaten auch zu unterschiedlichen Ergebnissen bei der Berechnung dieser Systemzustände führen. Um hier eine Fehlererkennung zu vermeiden, sind entweder zeitliche Deltas bei der Be¬ rechnung dieser Fehlerzustände zu erlauben, oder die Zustände zwischen den Bearbeitungswegen auszutauschen. Alternativ zu den oben dargestellten Verfahren können gemäß einer alternativen Ausgestaltung der Erfindung beide Bearbeitungswege auf denselben Speicherbereich zugreifen. Damit wären alle historischen Daten, Integratorwerte etc. für beide Bearbeitungswege identisch und damit keine der obigen Mecha¬ nismen erforderlich. Der Preis für diese Vereinfachung ist, dass der gemeinsam genutzte Speicherbereich zu einem gemeinsamen Fehlerursachenbereich wird. Für einige Anwendungsfälle kann dies akzeptabel sein, wenn die Wahrscheinlichkeit für unentdeckte Fehler in dem gemeinsamen Fehlerursachenbereich durch geeignete Maßnahmen, z.B. ECC (Error-Correcting Code) oder Memory Scrambling, ausreichend gering ist.
Erfindungsgemäß werden mindestens zwei Prozessorkerne eines Mehrkernprozessors dazu genutzt, eine sicherheitskritische Applikation zweikanalig zu berechnen. Dabei werden die Rechenoperationen nicht in jedem Rechenzyklus auf beiden Prozessorkernen redundant berechnet, sondern beide Prozessorkerne werden in verschiedenen Arbeitszyklen mit verschiedenen Applikationen ausgelastet. Somit wird eine Verdoppelung der benötigten Rechenkapazität in vorteilhafter Weise vermieden. Um eine gegenseitige Überwachung der Prozessorkerne zu errei¬ chen, werden die Rechenoperationen abwechselnd auf beiden Prozessorkernen berechnet. Durch die beschriebenen Fehlerer- kennungsmechanismen können zufällige Fehler erkannt werden.
Zwar liegt die Güte der erfindungsgemäßen Fehlererkennung etwas unter dem bei einem aus dem Stand der Technik bekannten »Dual-Lane-Betrieb« mit einer parallel-redundanten mehrkana- ligen Berechnung. Die Güte der Fehlererkennung kann aller- dings gegenüber dem Erfordernis eines geringeren Aufwands an Rechenleistung hintanstehen, insbesondere wenn für das Steuersystem eine wirtschaftliche Verwirklichung gefordert ist. Die Erfindung vereinigt somit Anforderungen an eine hinrei¬ chend sichere Fehlererkennung mit einer ökonomischen Ausle- gung der Rechenleistung.

Claims

Patentansprüche
1. Verfahren zum Betrieb eines Mehrkernprozessors, auf dem eine Applikation zur Ausführung gebracht wird, welche eine Mehrzahl zyklischer Rechenoperationen umfasst, wobei zur Berechnung einer jeweiligen Rechenoperation ein zeitlich bemes sener Arbeitszyklus vorgesehen ist,
das Verfahren dadurch gekennzeichnet,
dass eine Berechnung einer Rechenoperation auf einem gemäß einem Verteilungschema zugewiesenen Prozessorkern des Mehrkernprozessors durchgeführt wird;
dass nach Erhalt eines Ergebnisses der aktuellen Rechen¬ operation innerhalb eines aktuellen Arbeitszyklus und ab¬ hängig von einem Vergleichsschema mindestens ein Abstand zwischen dem aktuellen Ergebnis und mindestens einem Ergebnis einer mindestens einen Arbeitszyklus zurückliegen¬ den Rechenoperation erfolgt;
dass eine Fehlerindikation ausgegeben wird, falls mindestens ein Abstand außerhalb eines erwarteten Werts ist; dass die Berechnung einer darauffolgenden Rechenoperation auf einem gemäß dem Verteilungschema zugewiesenen Prozes¬ sorkern des Mehrkernprozessors durchgeführt wird.
2. Verfahren gemäß Patentanspruch 1,
dadurch gekennzeichnet,
dass gemäß dem Verteilungschema eine jeweils wechselweise Zu Weisung der Rechenoperationen zu einem der Prozessorkerne de Mehrkernprozessors vorgesehen ist.
3. Verfahren gemäß einem der vorgenannten Patentansprüche, dadurch gekennzeichnet,
dass gemäß dem das Verteilungschema eine Zuweisung zu einem ersten Prozessorkern für eine vorgebbare Mehrzahl an Arbeits zyklen vorgesehen ist, bevor ein Wechsel der Zuweisung an ei nen zweiten Prozessorkern des Mehrkernprozessors erfolgt.
4. Verfahren gemäß Patentanspruch 3, dadurch gekennzeichnet, dass bei Ausgabe einer Fehlerindikation die Mehrzahl an Arbeitszyklen zur Zuweisung an den ersten Prozessorkern erhöht wird .
5. Verfahren gemäß einem der vorgenannten Patentansprüche 2 bis 4, dadurch gekennzeichnet, dass gemäß dem Verteilungsche¬ ma eine jeweils wechselweise, insbesondere rotierende Zuwei¬ sung der Rechenoperationen zu einem von mindestens drei Pro- zessorkernen des Mehrkernprozessors vorgesehen ist.
6. Verfahren gemäß einem der vorgenannten Patentansprüche, dadurch gekennzeichnet,
dass gemäß dem Vergleichsschema aus dem Ergebnis einer einen Arbeitszyklus zurückliegenden Rechenoperation und dem Ergebnis des aktuellen Arbeitszyklus ein erster Abstand bestimmt wird .
7. Verfahren gemäß Patentanspruch 6,
dadurch gekennzeichnet, dass die Fehlerindikation ausgegeben wird, falls der erste Abstand außerhalb eines für den ersten Abstand erwarteten Werts ist.
8. Verfahren gemäß Patentanspruch 6,
dadurch gekennzeichnet, dass
aus dem Ergebnis einer zwei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis des aktuellen Arbeitszyklus ein zweiter Abstand bestimmt wird; und/oder;
aus dem Ergebnis einer zwei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis einer einen Arbeitszyklus zurückliegenden Rechenoperation ein dritter Abstand bestimmt wird; und/oder;
aus einer Differenz aus dem Ergebnis der einen Arbeitszyklus zurückliegenden Rechenoperation und dem Ergebnis des aktuellen Arbeitszyklus eine erste Differenz bestimmt wird; und/oder;
aus einer Differenz aus dem Ergebnis der zwei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis der einen Arbeitszyklus zurückliegenden Rechenoperation eine zweite Differenz bestimmt wird.
9. Verfahren gemäß Patentanspruch 8,
dadurch gekennzeichnet, dass die Fehlerindikation ausgegeben wird, falls
der zweite Abstand geringer als der erste Abstand ist; und;
der zweite Abstand geringer als der dritte Abstand ist; und;
die erste Differenz ein von der zweiten Differenz unterschiedliches Vorzeichen hat.
10. Verfahren gemäß Patentanspruch 8,
dadurch gekennzeichnet, dass
aus dem Ergebnis einer drei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis einer einen Arbeitszyklus zurückliegenden Rechenoperation ein vierter Abstand bestimmt wird;
- aus dem Ergebnis einer drei Arbeitszyklen zurückliegenden Rechenoperation und dem Ergebnis einer zwei Arbeitszyklen zurückliegenden Rechenoperation ein fünfter Abstand bestimmt wird;
aus einer Differenz aus dem Ergebnis der drei Arbeitszyk- len zurückliegenden Rechenoperation und dem Ergebnis der zwei Arbeitszyklen zurückliegenden Rechenoperation eine dritte Differenz bestimmt wird.
11. Verfahren gemäß Patentanspruch 10,
dadurch gekennzeichnet, dass die Fehlerindikation ausgegeben wird, falls
der zweite Abstand geringer als der erste Abstand ist; und;
der zweite Abstand geringer als der dritte Abstand ist; und;
der vierte Abstand geringer als der dritte Abstand ist; und; der vierte Abstand geringer als der fünfte Abstand ist; und;
die erste Differenz ein von der dritten Differenz unterschiedliches Vorzeichen hat; und;
die dritte Differenz ein von der zweiten Differenz unterschiedliches Vorzeichen hat.
12. Verfahren gemäß einem der vorgenannten Patentansprüche, dadurch gekennzeichnet,
dass gemäß dem Vergleichsschema für jeden Arbeitszyklus eine Bestimmung mindestens eines Abstandes vorgesehen ist.
13. Verfahren gemäß einem der vorgenannten Patentansprüche 1 bis 12, dadurch gekennzeichnet,
dass gemäß dem Vergleichsschema für jeden n-ten Arbeitszyklus eine Bestimmung mindestens eines Abstandes vorgesehen ist, wobei n eine natürliche Zahl ist.
14. Computerprogrammprodukt mit Mitteln zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche, wenn das Computerprogrammprodukt an einem Steuersystem durch den mindestens einen Mehrkernprozessor zur Ausführung gebracht wird.
EP16790913.4A 2015-11-12 2016-10-21 Verfahren zum betrieb eines mehrkernprozessors Withdrawn EP3338189A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015222321.3A DE102015222321A1 (de) 2015-11-12 2015-11-12 Verfahren zum Betrieb eines Mehrkernprozessors
PCT/EP2016/075381 WO2017080793A2 (de) 2015-11-12 2016-10-21 Verfahren zum betrieb eines mehrkernprozessors

Publications (1)

Publication Number Publication Date
EP3338189A2 true EP3338189A2 (de) 2018-06-27

Family

ID=57233400

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16790913.4A Withdrawn EP3338189A2 (de) 2015-11-12 2016-10-21 Verfahren zum betrieb eines mehrkernprozessors

Country Status (7)

Country Link
US (1) US20180322001A1 (de)
EP (1) EP3338189A2 (de)
JP (1) JP2019500682A (de)
KR (1) KR20180072829A (de)
CN (1) CN108351815A (de)
DE (1) DE102015222321A1 (de)
WO (1) WO2017080793A2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7400222B2 (ja) * 2019-06-14 2023-12-19 マツダ株式会社 外部環境認識装置
JP7419157B2 (ja) * 2020-05-13 2024-01-22 株式会社日立製作所 プログラム生成装置、並列演算デバイス、及び、並列演算デバイスに並列演算を実行させるためのコンピュータプログラム
KR102403767B1 (ko) 2020-11-25 2022-05-30 현대제철 주식회사 초고강도 냉연강판 및 그 제조방법
CN114201332A (zh) * 2022-02-21 2022-03-18 岚图汽车科技有限公司 一种冗余控制方法、装置、芯片及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006056506A1 (de) * 2004-11-26 2006-06-01 Nokia Siemens Networks Gmbh & Co. Kg Verfahren zum nachweis der verfügbarkeit von systemkomponenten eines redundanten kommunikationssystems
WO2008148625A1 (en) * 2007-06-05 2008-12-11 Siemens Aktiengesellschaft Method and device for scheduling a predictable operation of an algorithm on a multi-core processor
US8112194B2 (en) * 2007-10-29 2012-02-07 GM Global Technology Operations LLC Method and apparatus for monitoring regenerative operation in a hybrid powertrain system
JP4709268B2 (ja) * 2008-11-28 2011-06-22 日立オートモティブシステムズ株式会社 車両制御用マルチコアシステムまたは内燃機関の制御装置
US9015536B1 (en) * 2011-08-31 2015-04-21 Amazon Technologies, Inc. Integration based anomaly detection service
US9081653B2 (en) * 2011-11-16 2015-07-14 Flextronics Ap, Llc Duplicated processing in vehicles
KR101332022B1 (ko) * 2011-12-29 2013-11-25 전자부품연구원 Ecu 모니터링 시스템 및 방법
WO2014033941A1 (ja) * 2012-09-03 2014-03-06 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
JP6069104B2 (ja) * 2013-05-31 2017-01-25 富士重工業株式会社 制御装置および制御装置の異常検出方法
JP6324127B2 (ja) * 2014-03-14 2018-05-16 三菱電機株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
US20180322001A1 (en) 2018-11-08
KR20180072829A (ko) 2018-06-29
WO2017080793A2 (de) 2017-05-18
JP2019500682A (ja) 2019-01-10
WO2017080793A3 (de) 2017-08-17
CN108351815A (zh) 2018-07-31
DE102015222321A1 (de) 2017-05-18

Similar Documents

Publication Publication Date Title
DE60309928T2 (de) Verfahren zur erhöhung der sicherheitsintegritätsstufe eines kontrollsystems
EP2513796B1 (de) Verfahren zum betreiben einer recheneinheit
WO2017080793A2 (de) Verfahren zum betrieb eines mehrkernprozessors
DE102011102274B4 (de) Verfahren zum Betreiben eines Sicherheitssteuergeräts
DE19509150C2 (de) Verfahren zum Steuern und Regeln von Fahrzeug-Bremsanlagen sowie Fahrzeug-Bremsanlage
DE2258917B2 (de) Regelvorrichtung mit mindestens zwei parallelen signalkanaelen
DE2722124A1 (de) Anordnung zum feststellen des prioritaetsranges in einem dv-system
DE19919504A1 (de) Triebwerksregler, Triebwerk und Verfahren zum Regeln eines Triebwerks
DE102008004205A1 (de) Schaltungsanordnung und Verfahren zur Fehlerbehandlung in Echtzeitsystemen
DE102006052757A1 (de) Automatisierungsgerät mit einer Verarbeitungseinheit und Verwendung einer Verarbeitungseinheit in einem Automatisierungsgerät
EP1615087A2 (de) Steuer- und Regeleinheit
DE102007014478A1 (de) Sicherheitsgerichtete speicherprogrammierte Steuerung
EP2520989B1 (de) Verfahren zum Betrieb eines hochverfügbaren Systems mit funktionaler Sicherheit sowie ein hochverfügbares System mit funktionaler Sicherheit
EP2237118A1 (de) Sicherheitssystem zur Sicherung einer fehlersicheren Steuerung elektrischer Anlagen und Sicherheitssteuerung damit
EP1649373A2 (de) Verfahren und vorrichtung zur berwachung eines verteilten s ystems
EP1366416A1 (de) Fehlertolerante Rechneranordnung und Verfahren zum Betrieb einer derartigen Anordnung
DE102010039607B3 (de) Verfahren zum redundanten Steuern von Prozessen eines Automatisierungssystems
EP1461701B1 (de) Programmgesteuerte einheit mit überwachungseinrichtung
DE19545645A1 (de) Sicherheitskonzept für Steuereinheiten
DE10233879B4 (de) Verfahren zum Steuern und Überwachen einer sicherheitskritischen Anlage, insbesondere Verkehrs-Signalanlage sowie Vorrichtung zur Durchführung des Verfahrens
EP3975017A1 (de) Verfahren zur protokollierung einer vielzahl von ereignissen in einer codierten tracer-variablen in einem sicherheitsgerichteten computerprogramm
EP1176508B1 (de) Anordnung zur Überwachung des ordnungsgemässen Betriebes von die selben oder einander entsprechende Aktionen ausführenden Komponenten eines elektrischen Systems
EP1426862B1 (de) Synchronisation der Datenverarbeitung in redundanten Datenverarbeitungseinheiten eines Datenverarbeitungssystems
EP3172671B1 (de) Verfahren zur parallelen verarbeitung von daten in einem rechnersystem mit mehreren rechnereinheiten und rechnersystem mit mehreren rechnereinheiten
EP3588849A1 (de) Verfahren zum quantifizieren der zuverlässigkeit einer steuerfunktion, die durch mehrere unabhängige funktionseinheiten bereitgestellt wird; sowie steuereinrichtung

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

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
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: 20181017