DE10084752T5 - Verfahren zur Überwachung von parallelen Prozessen - Google Patents

Verfahren zur Überwachung von parallelen Prozessen Download PDF

Info

Publication number
DE10084752T5
DE10084752T5 DE10084752T DE10084752T DE10084752T5 DE 10084752 T5 DE10084752 T5 DE 10084752T5 DE 10084752 T DE10084752 T DE 10084752T DE 10084752 T DE10084752 T DE 10084752T DE 10084752 T5 DE10084752 T5 DE 10084752T5
Authority
DE
Germany
Prior art keywords
word
bits
status
stwb
bit
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
DE10084752T
Other languages
English (en)
Inventor
Lars Bohlin
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of DE10084752T5 publication Critical patent/DE10084752T5/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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components

Landscapes

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

Abstract

Verfahren zur Überwachung von parallelen Prozessen in einem Datensystem, welches ein erstes System (CP-A) und ein zweites System(CP-B) enthält, wobei das Verfahren die Schritte umfasst:
– Erzeugen eines ersten Statusworts (STWA) im ersten System (CP-A) und eines parallelen zweiten Statusworts (STWB) im zweiten System (CP-B);
– Erzeugen eines ersten Prüfkodes (CCA) aus dem ersten Statuswort (STWA) im ersten System (CP-A); und
– Erzeugen eines zweiten Prüfkodes (CCB) aus dem zweiten Statuswort (STWB) in dem zweiten System (CP-B), wobei das Verfahren gekennzeichnet wird durch die weiteren Schritte
– Übertragen des ersten Prüfkodes (CCA) aus dem ersten System (CP-A) an das zweite System (CP-B); und
– Wiedererzeugen des ersten Datenworts (STWA) in dem zweiten System (CP-B) durch Auswertung des ersten Prüfkodes (CCA), des zweiten Prüfkodes (CCB) und des zweiten Datenworts (STWB).

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und auf eine Anordnung zur Überwachung einer parallelen Ausführung in einem Datensystem.
  • STAND DER TECHNIK
  • Parallele Prozessoren werden verwendet, um eine größere Zuverlässigkeit in einem synchronen Datensystem zu erreichen. Zum Beispiel werden zwei Zentralprozessoren in einem Kommunikationssystem parallel betrieben, um Redundanz zu erzielen. Einer der Zentralprozessoren steuert die Umgebung, wohingegen der andere Zentralprozessor inaktiv ist, und nur arbeitet, um die Steuerung zu übernehmen, wenn im ersten Prozessor Fehler auftreten oder der Prozessor eine Fehlfunktion erleidet. Beide Prozessoren arbeiten synchron. Der Status der zwei Prozessoren ist während der Ausführung dauernd identisch, vorausgesetzt, dass kein Fehler existiert. Um die Existenz eines möglichen Fehlers zu entdecken, erzeugt jeder Prozessor nach jedem Anweisungszyklus ein Datenwort, welches den inneren Status des Prozessors zeigt. Die Statusworte enthalten Bits, welche unterschiedliche Einheiten in jeweiligen Prozessoren darstellen. Zum Beispiel kann eine Hauptspeichereinheit durch einen oder mehr der Bits im Statuswort dargestellt sein. Ein Fehler in einem der Prozessoren wird entdeckt, indem die Statusworte von jeweiligen Prozessoren nach jedem Taktzyklus miteinander verglichen werden. In dieser Hinsicht wird das vom ersten Zentralprozessor erzeugte Statuswort zum Vergleichen an den zweiten Zentralprozessor geschickt. Das übertragene Statuswort wird im zweiten Zentralprozessor mit einem entsprechenden Statuswort verglichen, das in einem entsprechenden Taktzyklus im zweiten Zentralprozessor erzeugt worden ist. Wenn es keinen Fehler oder keine Einheit mit Fehlfunktion in den Prozessoren gibt, werden die Statusworte identisch sein. Andererseits werden sich die Statusworte im Fall eines Fehlers oder einer Einheit mit Fehlerfunktion in den Prozessoren unterscheiden, und es wird eine Analyse durchgeführt, um festzustellen, welcher der Prozessoren den Fehler hat bzw. fehlerhaft ist.
  • Die europäische Patentanmeldung EP 00752656 A lehrt ein fehlertolerantes System, welches zwei Zentralprozessoren enthält, die Anweisungen parallel ausführen, und somit zu gleichen Zeiten die gleichen Operationen durchführen. Eine Kopie jeder Anweisung aus jedem Prozessor wird durch ein Steuerelement empfangen und kontinuierlich verglichen.
  • Mit erweiterter Prozessorkomplexität entsteht ein Problem. Eine größere Prozessorkomplexität bedeutet, dass mehr Prozessoreinheiten überwacht werden müssen, was seinerseits bedeutet, dass die übertragenen Statusworte mehr Bits enthalten müssen. Darüber hinaus werden Statusworte mit viel höherer Rate erzeugt, um mit den höheren Arbeitsgeschwindigkeiten dieser erweiterten Prozessoren Schritt zu halten. Diese größere Komplexität und höhere Arbeitsgeschwindigkeit bedeutet insgesamt, dass das System eine größere Bandbreite für die Übertragung von Statusworten zwischen zwei parallelen Prozessoren erfordert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine größere Prozessorkomplexität stellt höhere Anforderungen an die Fehlerüberwachung. Eine Fehlerüberwachung beinhaltet den Vergleich des Status von zwei parallelen Prozessen. Die vorliegende Erfindung richtet sich auf das Problem, welches bewirkt wird durch die größer werdende Notwendigkeit der Übertragung von mehr Bits in einem Statuswort zwischen den parallelen Prozessoren, um die heutige Überwachungsqualität aufrecht zu erhalten.
  • Dieses Problem wird erfindungsgemäß gelöst, indem lediglich ein Prüfkode aus einem ersten an eine zweites System übertragen wird, der aus dem ersten Statuswort erzeugt worden ist, statt dass ein volles Statuswort aus dem ersten an das zweite System übertragen wird. Das erste Statuswort kann im zweiten System wiedererzeugt bzw. regeneriert werden, mit der Hilfe des Prüfkodes und dem entsprechenden parallelen Statuswort im zweiten System.
  • Somit besteht eine Aufgabe der vorliegenden Erfindung in der Bewahrung des heutigen Standards bei der Überwachung von parallelen Systemen, ohne die Bandbreite in der Übertragung zwischen den Systemen zu vergrößern.
  • Ausführlicher gesagt, wird das Problem gelöst durch:
    • – Erzeugen eines Prüfkodes aus dem ersten System, welcher das erste Datenwort darstellt. Der Prüfkode umfasst eine Untermenge der Zahl von Bits, die im ersten Datenwort enthalten sind.
    • – Übertragen des Prüfkodes aus dem ersten System an das zweite System.
    • – Wiedererzeugen des ersten Datenworts aus dem ersten System durch Auswerten des entsprechenden parallelen Statusworts des ersten Statusworts aus dem zweiten System. Der Vergleich des Prüfworts des ersten Statusworts mit dem Prüfwort des zweiten Statusworts ermöglicht die Identifizierung von sich unterscheidenden Bits in den Statusworten.
  • Ein durch die Erfindung geschaffener Vorteil ist, dass nur wenige Bits zwischen zwei parallelen Systemen übertragen werden müssen, um ein Datenwort wieder zu erzeugen, das bedeutend mehr Bits enthält.
  • Ein weiterer durch die Erfindung geschaffener Vorteil ist, dass die Bandbreite in der Übertragung zwischen den zwei parallelen Systemen niedrig gehalten werden kann, ohne Verschlechterung der Überwachungsqualität.
  • Ein weiterer durch die Erfindung geschaffener Vorteil ist, dass der heutige Standard bei der Überwachung der parallelen Systeme gehalten werden kann, trotz einer größeren Zahl von überwachten Objekten.
  • Ein weiterer durch die Erfindung geschaffener Vorteil ist, dass der heutige Standard bei der Überwachung der parallelen Systeme gehalten werden kann, trotz der größeren Anforderungen an die Ausführungszeiten bzw. Ausführungsgeschwindigkeiten.
  • Die Erfindung wird nun ausführlicher unter Bezugnahme auf bevorzugte Ausführungen beschrieben, und auch unter Bezugnahme auf die begleitenden Zeichnungen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 veranschaulicht eine Vermittlung, welche Tele-Einheiten mit Hilfe einer zentralen Prozessoreinheit und regionalen Prozessoren verbindet.
  • 2 ist ein Blockdiagramm, das parallele Prozessoren in der zentralen Prozessoreinheit der 1 veranschaulicht.
  • 3 ist ein ausführlicheres Blockdiagramm, das Einheiten veranschaulicht, die für die Erfindung in den zwei parallelen Prozessoren der 2 von Bedeutung sind.
  • 4 ist ein Flussdiagramm, das ein erfinderisches Verfahren veranschaulicht.
  • BESCHREIBUNG VON BEVORZUGTEN AUSFÜHRUNGEN
  • 1 ist eine schematische Veranschaulichung eines öffentlichen Telekommunikationssystems. Mittels einer Vermittlungseinheit SE kann zwischen zwei Endgeräten T1, T2 eine Verbindung errichtet werden. Die Vermittlungseinheit SE wird durch eine zentrale Prozessoreinheit CPU und verschiedene regionale Prozessoren RP gesteuert. Die zentrale Prozessoreinheit CPU enthält parallele Zentralprozessoren. Einer der Zentralprozessoren hat die Gesamtverantwortung zu Steuerung des Telekommunikationssystems, während der andere Prozessor eine passive Rolle einnimmt. Die regionalen Prozessoren RP entlasten den aktiven Zentralprozessor, indem sie Routine-Operationen durchführen, und über Ereignisse berichten, die im System auftreten.
  • 2 veranschaulicht eine erfinderische Anordnung. Die veranschaulichte Anordnung enthält die zentrale Prozessoreinheit CPU der 1. Die Prozessoreinheit enthält zwei parallele, synchrone Zentralprozessoren CP-A und CP-B. Die zwei Prozessoren werden im folgenden als ein erster Prozessor CP-A und ein zweiter Prozessor CP-B bezeichnet. Im veranschaulichten Fall ist es der erste Prozessor CP-A, der die Gesamtverantwortung hat, während der zweite Prozessor CP-B die eher passive Rolle hat. Mit jedem Taktzyklus treten Ereignisse in den zwei Zentralprozessoren auf, wobei diese Ereignisse durch ein Statuswort in jedem Prozessor dargestellt werden. Die Statusworte reflektieren den Status von unterschiedlichen Einheiten in den jeweiligen Prozessoren nach jedem Taktzyklus. Ein neues, sogenanntes erstes Statuswort STWA wird im ersten Prozessor CP-A nach jedem Taktzyklus erzeugt, während ein neues, sogenanntes zweites Statuswort STWB im zweiten Prozessor erzeugt wird. Befehlsabrufer und Adressberechner sind Beispiele von Prozessoreinheiten, welche ihren Status mit der Hilfe von Bits in den zwei Statusworten STW1 und STW2 signalisieren. Beide Prozessoren müssen identisch sein, um parallel zu arbeiten, und ein entsprechendes Statuswort STWB muss im zweiten Prozessor CP-B gleichzeitig wie das Statuswort STWA im ersten Prozessor CP-A im gleichen Taktzyklus erzeugt werden. Die zwei Statusworte sind gegenseitig identisch, wenn alle Einheiten in den zwei Prozessoren fehlerfrei sind. Die zwei Prozessoren arbeiten somit parallel, und erledigen in anderen Worten gleichzeitig die gleiche Arbeit. 2 veranschaulicht jene Einheiten in den zwei Prozessoren, die von Bedeutung sind für das Verständnis des Konzepts der Erfindung. In der veranschaulichten Ausführung ist der erste Prozessor CP-A der Prozessor, der die Gesamtverantwortung in dem System hat. Jene Einheiten in den zwei Prozessoren, welche in Übereinstimmung mit der Erfindung verwendet werden, wenn CP-A aktiv ist, sind durch stark hervorgehobene Linien in 2 gezeigt. Jeder Prozessor holt Statusbits aus unterschiedlichen Einheiten, wobei diese Bits in CP-A ein Statuswort in einem Statusbus STBA bilden, und in CP-B ein Statuswort in einem Statusbus STBB. Jeder Prozessor enthält einen Prüfbitgenerator, d.h. einen sogenannten ersten Prüfbitgenerator CBGA und einen zweiten Prüfbitgenerator CBGB. Jeder Prozessor CP-A und CP-B enthält auch ein Korrekturmodul, d.h. ein erstes Korrekturmodul KMA und ein zweites Korrekturmodul KMB. Jeder Prozessor enthält auch einen Komparator, d.h. einen ersten Komparator KA und einen zweiten Komparator KB. Zusätzlich zu den zwei Prozessoren CP-A und CP-B enthält die zentrale Prozessoreinheit CPU auch eine Entscheidungseinheit DU. Eine allgemeine Beschreibung der Erfindung wird unten unter Bezugnahme auf 2 gegeben, gefolgt von einer auf 3 Bezug nehmenden ausführlicheren Beschreibung jener Einheiten, welche eine zentrale Bedeutung für die Erfindung haben. Dem folgt eine Beschreibung des Flussdiagramms in 4, welches ein erfindungsgemäßes Verfahren veranschaulicht.
  • 2 zeigt ein erstes Statuswort STWA, das in CP-A erzeugt wird, und ein zweites Statuswort STWB, das in CP-B erzeugt wird. 2 zeigt Einheiten, welche erforderlich sind, um das erste Statuswort STWA im ersten Prozessor CP-A mit dem zweiten Statuswort STWB im zweiten Prozessor CP-B zu kombinieren, ohne dass das erste Statuswort STWA an den zweiten Prozessor übertragen werden muss. Dies wird in Übereinstimmung mit der Erfindung erreicht, indem aus dem ersten Prozessor an den zweiten Prozessor lediglich ein Prüfkode CCA übertragen wird, der aus dem ersten Statuswort erzeugt bzw. geschaffen wurde, statt dass das erste Statuswort STWA übertragen wird. Das erste Statuswort STWA wird dann im zweiten Prozessor CP-B wiedererzeugt bzw. regeneriert. Dies wird genauer unter Bezugnahme auf 3 beschrieben. Der erste Prüfkode CCA wird aus dem ersten Statuswort STWA im Prüfbitgenerator CBGA erzeugt. Dieser erste Prüfkode CCA wird an den zweiten Prozessor CP-B geschickt. Der erste Prüfkode CCA wird im Korrekturmodul KPMB im zweiten Prozessor mit dem zweiten Prüfkode CCB kombiniert. Der zweite Prüfkode CCB wurde aus dem parallelen Statuswort STWB auf der B-Seite erzeugt. Die zwei Prüfkodes CCA und CCB ermöglichen die Identifizierung von irgendwelchen Bits, welche sich möglicherweise in den zwei Statusworten unterscheiden. Dieser Prozess wird ausführlicher unter Bezugnahme auf 3 beschrieben. Das erste Statuswort kann in dem zweiten Prozessor mit Hilfe jener Bits wieder erzeugt werden, welche in den zwei Statusworten STWA und STWB als unterschiedlich identifiziert wurden. Dies wird bewirkt durch Invertierung der angegebenen Bits im zweiten Statuswort STWB, und dadurch Formen des Statusworts STWA. Das erste Statuswort STWA wurde damit im zweiten Prozessor CP-B wiedererzeugt, ohne dass das gesamte erste Statuswort STWA aus dem ersten Prozessor CP-A an den zweiten Prozessor CP-B übertragen wurde. Die Art und Weise, in der dies bewirkt wird, wird nun ausführlich unter Bezugnahme auf 3 beschrieben.
  • 3 veranschaulicht ein einfaches Beispiel davon, wie die Prüfkodes CCA und CCB erzeugt werden, und zur Identifizierung eines Bitfehlers verwendet werden. Damit das Beispiel besser verständlich ist, wurde ein kleines Datenwort anstelle eines großen (zum Beispiel 128 Bits) verwendet. Das Prinzip ist das Gleiche, unabhängig von der Länge des Datenworts. Man nehme an, dass das Datenwort insgesamt acht Bits umfasst. Vier Prüfbits sind erforderlich, um einen Ein-Bit-Fehler in diesen acht Bits zu erfassen. Die Darstellung der 3 enthält die zwei unter Bezugnahme auf 2 erwähnten Prozessoren. In 3 sind die zwei Prozessoren CP-A und CP-B durch eine dicke Strichpunkt-Linie L voneinander getrennt worden. Das erste Statuswort STWA im ersten Prozessor CP-A wird dargestellt durch acht Bits AD7-AD0, während das zweite Statuswort STWB im zweiten Prozessor CP-B durch die Bits BD7-BD0 dargestellt ist. 3 enthält auch den ersten Prüfbitgenerator CBGA, der in 2 gezeigt ist. Der Prüfbitgenerator CPGA erzeugt vier Prüfbits C3-C0. Auf die gleiche Weise erzeugt der zweite Prüfbitgenerator CBGB vier Prüfbits aus den acht Bits BD7-BD0 im zweiten Statuswort STWB auf der B-Seite. Das Korrekturmodul KMB enthält vier Exklusiv-Oder-Gatter, in welchen Prüfbits aus den zwei Prozessorseiten kombiniert werden. Das Korrekturmodul KMB enthält auch eine Kode-Tabelle CT, welche verwendet wird, um eine Bitposition zu identifizieren, welche sich in den zwei Worten STWR und STWB unterscheidet. Es ist zunächst notwendig zu verstehen, wie die Prüfbits C3-C0 erzeugt werden, bevor man in der Lage ist zu verstehen, wie eine fehlerhafte Bitposition aufgezeigt wird. Da die Prüfbits sich auch von einem Zeitpunkt zum nächsten ändern können, gibt es insgesamt zwölf Bits AD7-AD0 und C3-C0, welche sich ändern können. Um in der Lage zu sein, ein "fehlerhaftes" Bit aus diesen zwölf Bits zu identifizieren, ist es notwendig die Bits in teilweise überlappende Gruppen zu unterteilen. Diese Gruppierung ist im Stand der Technik bekannt, und man findet eine Beschreibung zum Beispiel in "W.W. Peterson und E.J. Weldon, Jr., Error Correcting Codes, MIT Press, Cambridge, 1972".
  • Figure 00090001
  • Die insgesamt zwölf Bits AD7-AD0, C3-C0 auf der A-Seite sind in vier Gruppen unterteilt, wie aus der obigen Tabelle hervorgeht. Die zwölf Bits sind binär dargestellt durch vier Darstellungsbits B1, B2, B4 and B8 von unterschiedlicher Bewertung bzw. Signifikanz. Die Tabelle zeigt die zwölf Bits, die in vier Gruppen unterteilt sind, wobei jede Gruppe einer Zeile in der Tabelle entspricht. Jene Darstellungsbits, die in der Tabelle mit einem "X" markiert sind, haben den Wert "1". Jene Darstellungsbits, die nicht mit einem "X" markiert sind, haben den Wert 0". Bei der ersten Gruppe, in der ersten Zeile, gibt es Bits, welche wenn sie binär durch die Darstellungsbits B1, B2, B4 und B8 dargestellt werden, alle dass niedrigstwertige Bit B1="1" enthalten. Man erkennt auch aus der Tabelle, dass C0=0001, dass D0=0011, dass D1=0101, dass D3=0111, dass D4=1001, und dass D6=1011. Somit ist ein gemeinsames Merkmal der fünf Bits C0, AD0, AD1, AD3, AD4 und AD6, dass sie alle dargestellt werden mit dem niedrigstwertigen Bit B1="1". Die zweite Gruppe, die zweite Zeile, enthält Daten- und Prüfbits C1, AD0, AD2, AD3, AD5 und AD6, welche alle dargestellt werden durch B2="1". Die dritte Gruppe enthält Bits C2, AD1, AD2, AD3 und AD7, welche durch B4="1" dargestellt sind, während die vierte Gruppe Bits C3, AD4, AD5, AD6 und AD7 enthält, welche durch B8="1" dargestellt sind. Die Bits werden erzeugt, wenn die Gruppenunterteilung bestimmt wird. Die Datenbits (das Statuswort) werden (wird) vom Prozessor bei jedem Taktzyklus erzeugt, wohingegen die Prüfbits C3-C0 als Paritätsbits aus den Datenbits AD7-AD0 erzeugt werden. Das erste Prüfbit C0 wird als Paritätsbit aus jenen Datenbits gebildet, die gewöhnlich zur ersten Gruppe gehören, d.h. die Gruppe wo B1=1. Dies geht aus 3 hervor. Die Datenbits in der ersten Gruppe sind wie folgt: AD0, AD1, AD3, AD4 und AD6. Das erste Prüfbit C0 bildet gerade Parität mit den Datenbits AD0, AD1, AD3, AD4, und AD6, d.h. wenn die Zahl der binären Einsen in den Datenbits gerade ist, wird das Prüfbit C0 den Wert "0" haben. Andererseits, wenn die Zahl eine ungerade Zahl ist, wird das Prüfbit den Wert "1" haben. Das Prüfbit C1 wird auf die gleiche Weise aus den Bits AD0, AD2, AD3, AD5 und AD6 gebildet. Das Prüfbit C2 wird mit Hilfe der Datenbits AD1, AD2, AD3 und AD7 gebildet, wohingegen das Prüfbit C3 mit der Hilfe der Datenbits AD4, AD5, AD6 und AD7 gebildet wird. Dieses Verfahren der Gruppierung und der Erzeugung von Bits ist im Stand der Technik bekannt, und ist ein geläufiges Verfahren zur Feststellung, ob oder ob nicht ein Bit in einem Datenwort sich von einem ersten Zeitpunkt, zu dem ein erstes Prüfwort erzeugt wurde, zu einem zweiten Zeitpunkt, zu dem ein zweites Prüfwort erzeugt wird, verändert hat.
  • Zur gleichen Zeit wie die Prüfbits aus dem ersten Datenwort STWA erzeugt werden (im gleichen Taktzyklus), werden Prüfbits aus dem zweiten Datenwort STWB erzeugt. 3 zeigt wie die Prüfbits aus dem Datenwort auf der B-Seite erzeugt werden. Die Paritätsbits/Prüfbits werden aus den gleichen Datenbits gebildet, wie jene, die auf der A-Seite verwendet werden. Erfindungsgemäß werden die Prüfbits C3-C0, die aus dem ersten Datenwort STWA im Prozessor CP-A auf der A-Seite erzeugt wurden, an den zweiten Prozessor CP-B auf der B-Seite übertragen. Statt der Übertragung des gesamten Statusworts STWA, welches acht Bits umfasst, werden nun lediglich die vier Prüfbits C3-C0 von der A-Seite zur B-Seite übertragen.
  • Die Prüfbits der A-Seite werden mit den Prüfbits der B-Seite verglichen, mit der Hilfe von vier Exklusiv-Oder-Gattern auf der B-Seite. Wenn alle Prüfbits der zwei Seiten miteinander übereinstimmen, nehmen alle Exklusiv-Oder-Gatter an ihren jeweiligen Ausgängen den Wert "0" ein. Wenn ein Bit sich geändert hat, werden entsprechende Exklusiv-Oder-Gatter den Wert "1" einnehmen. Die Ausgänge der Exklusiv-Oder-Gatter sind mit Adresseingängen der Kode-Tabelle CT verbunden. Die Kode-Tabelle enthält Speicherpositionen, welche jeweils eine Bitbreite von 12 Bits haben. Eines der Bits wurde auf den Binärwert "1" an jeder Speicherposition kodiert, mit der Ausnahme des ersten. Verbleibende Bits in den Speicherpositionen wurden auf den Binärwert "0" kodiert. Die Speicherpositionen in der Kode-Tabelle sind in Übereinstimmung mit dem gleichen Muster kodiert wie die vorher im Text gezeigte Tabelle, und die Adresseneingaben entsprechen den vorher erwähnten Darstellungsbits B1, B2, B4 und B8 in der Tabelle. Zum Beispiel, wenn es einen Unterschied im ersten Prüfbit C0 aus den Statusworten STWA und STWB gibt, führt dies zu einem Binärwert von "1" am Ausgang des Exklusiv-Oder-Gatters, das mit dem geringstwertigen Adresseneingang verbunden ist, mit anderen Worten, B1 wird gleich "1" sein. Dass das erste Prüfbit C0 aus der A-Seite und der B-Seite sich jeweils unterscheidet, bedeutet, dass eines der Datenbits D0, D1, D3, D4, oder D6 (die Datenbits in der ersten Gruppe B1 in der Tabelle) sich in beiden Statusworten unterscheidet. Man nehme nun an, dass die Datenbits D3 in den zwei Statusworten STWA und STWB sich voneinander unterscheiden. Dies führt zu einer Ungleichheit zwischen den Prüfbits C0, C1 und C3, und dazu, dass die Adressbits B1, B2 und B4 den logischen Wert "1" annehmen, während das Adressbit B8 den logischen Wert "0" annimmt. Die Adressenbits B8="0", B4,B2,B1="1" identifizieren zusammen die Speicherposition, welche durch den logischen Wert "0111" dargestellt wird, d.h. die Speicherposition Nummer 7 (binär: 0111). Alle Datenbits D0, D1, D2, D4, D5, D6, D7 in der Speicherposition Nummer 7 haben den Wert "0", außer das Bit, welches D3 darstellt, welches den Wert "1" hat. Dieses wird vorher in die Kode-Tabelle CT eingefügt, in Übereinstimmung mit dem Muster, das in der Tabelle gezeigt ist, die vorher im Text präsentiert wurde: D0 wird identifiziert mit B1=B2="1", D1 wird identifiziert mit B0=B2="1" und D3 wird identifiziert mit B1=B2=B4="1" usw. Der nächste Schritt beinhaltet das Kombinieren der Ausgänge der Speichereinheit mit dem zweiten Statuswort STWB über Exklusiv-Oder-Gatter. In 3 ist nur eines der Exklusiv-Oder-Gatter gezeigt. Da alle Bits, welche Datenbits darstellen "0" sind, außer dem Bit, das D3 darstellt, welches "1" ist, wird aus STWB ein neues Datenwort erzeugt, bei dem das Bit D3 invertiert wurde. Dieses neue Datenwort stimmt überein mit dem ersten Datenwort STWA, und das erste Datenwort STWA ist damit im zweiten Prozessor CPB wiedererzeugt worden, ohne dass das erste Datenwort übertragen werden müsste.
  • 2 zeigt das wiedergeschaffene Statuswort STWA, das aus dem Korrekturmodul KMB im zweiten Prozessor CP-B erzeugt wurde. Das wiedererzeugte erste Statuswort STWA und das zweite Statuswort STWB werden an den Komparator KB im zweiten Prozessor weitergegeben. Die zwei Statusworte werden im Komparator KB verglichen, und eine Direktive wird an die Entscheidungseinheit DU geschickt, welche Schritte unternimmt, um genauer festzustellen, welche Einheit oder welche Einheiten in den Prozessoren fehlerhaft ist/sind. Dies kann bewirkt werden mit Hilfe von unterschiedlichen Diagnostikprogrammen in identifizierten Einheiten.
  • In dem Beispiel sind Datenworte verwendet worden, welche eine Breite von 8-Bit haben. Vier Prüfbits sind erforderlich, um einen Bitfehler in einem 8-Bit Wort zu erfassen. Sieben Prüfbits sind erforderlich, um einen Bitfehler in einem 64-Bit Wort zu erfassen, während 8 Prüfbits erforderlich sind, um einen Fehler in einem 128-Bit Wort zu erfassen. Eine größere Zahl von Prüfbits ist erforderlich, um mehr als einen Bitfehler zu erfassen. Die Art und Weise, in welcher Kode- Tabellen aufgebaut sind, und wie Prüfbits in den unterschiedlichen Fällen verwendet werden, ist im Stand der Technik geläufig, und kann nachgelesen werden in "IBM Journal of Research and Development, Band 28, Nr. 2, Seiten 123-230, März 1984".
  • 4 ist ein Flussdiagramm, welches ein erfindungsgemäßes Verfahren veranschaulicht. Das Flussdiagramm sollte zusammen mit den 2 und 3 gelesen werden. Das Grundkonzept des Verfahrens besteht im Kombinieren eines Statusworts aus dem ersten Prozessor CP-A mit einem Statuswort aus dem zweiten Prozessor CP-B. Der erste Prozessor CP-A ist der aktive Prozessor. Die Statusworte werden im zweiten Prozessor CP-B kombiniert, ohne dass das gesamte Statuswort STWA aus dem ersten Prozessor CP-A an den zweiten Prozessor CP-B übertragen werden muss. Stattdessen werden Prüfbits übertragen, welche das erste Statuswort darstellen, und das erste Statuswort kann danach im zweiten Prozessor CP-B wieder erzeugt werden. Dies führt zu einer Einsparung bei der Übertragungsbandbreite. Daten sind vorher in der Kode-Tabelle CT in Übereinstimmung mit gegebenen Fehlerkorrekturregeln gespeichert worden. Das Flussdiagramm in 4 veranschaulicht lediglich jene Verfahrensschritte, welche für die Erfindung am wesentlichsten sind. Das Verfahren umfasst folgende Schritte:
    • – Ein erstes Statuswort STWA wird im ersten Zentralprozessor CP-A in Zusammenhang mit einem Taktzyklus erzeugt. Dieser Schritt ist in 4 im Block 101 gezeigt.
    • – Ein zweites Statuswort STWB wird im zweiten Zentralprozessor CP-B im gleichen Taktzyklus erzeugt. Dieser Schritt ist in 4 ebenfalls in dem Block 101 abgebildet.
    • – Das erste Statuswort STWA wird in einem Prüfbit-Generator CBGA im ersten Prozessor CP-A gelesen. Der erste Prüfkode CCA wird als Paritätsbits aus Datenbits an ausgewählten Datenpositionen im ersten Statuswort erzeugt. Dieser Schritt ist in 4 in Block 102 gezeigt.
    • – Das zweite Statuswort STWB wird in einen Prüfbit-Generator CBGB im zweiten Prozessor CP-B gelesen. Der zweite Prüfkode CCB wird als Paritätsbits aus Datenbits an ausgewählten Positionen im zweiten Statuswort erzeugt. Die gewählten Bitpositionen im zweiten Wort sind die gleichen wie die gewählten Positionen im ersten Wort. Dieser Schritt ist in 4 ebenfalls in Block 102 gezeigt.
    • – Der erste Prüfkode CCA wird aus dem Prüfbit-Generator CGBA im ersten Zentralprozessor CP-A an das Korrekturmodul KMB im zweiten Zentralprozessor CP-B übertragen. Dieser Schritt ist in 4 in Block 103 gezeigt.
    • – Der zweite Prüfkode CCB wird in das Korrekturmodul KMB in dem zweiten Zentralprozessor CP-B geschrieben, aus dem Prüfbit-Generator CBGB in dem zweiten Zentralprozessor CP-B.
    • – Entsprechende Bits in den zwei Prüfkodes CCA und CCB werden im Korrekturmodul KMB über die Exklusiv-Oder-Gatter kombiniert, d.h. C0 aus der A-Seite wird mit C0 aus der B-Seite kombiniert, C1 aus der A-Seite wird mit C1 aus der B-Seite verglichen, usw. Dieser Schritt ist in 4 in Block 104 gezeigt.
    • – Ausgangssignale aus den Ausgängen der Exklusiv-Oder-Gatter werden an die Adresseingänge der Kode-Tabelle CT geschickt.
    • – Der Inhalt der in der Kode-Tabelle identifizierten Speicherpositionen wird an die Datenausgänge der Kode-Tabelle geliefert. Das Bit oder die Bits, welche sich aus den zwei Statusworten unterscheiden, werden mit Hilfe des Inhalts der in der Kode-Tabelle identifizierten Speicherposition identifiziert. Dieser Schritt ist in 4 in Block 105 gezeigt.
    • – Bits im zweiten Statuswort STWB werden invertiert. Die Bits, welche invertiert wurden, entsprechen den Bitpositionen, welche mit Hilfe des Inhalts der Speicherpositionen in der Kode-Tabelle CT identifiziert wurden. Das geänderte zweite Statuswort STWB entspricht dem ersten Statuswort STWA. Dieser Schritt ist in 4 in Block 106 gezeigt.
  • Man versteht, dass die Erfindung nicht auf die zuvor beschriebenen und veranschaulichten Beispielsausführungen beschränkt ist, und dass Modifikationen innerhalb des Umfangs der begleitenden Ansprüche durchgeführt werden können. Zum Beispiel kann die Erfindung in vielen unterschiedlichen Arten von Parallelsystemen angewendet werden. Das in der veranschaulichten Ausführung beschriebene Statuswort kann selbstverständlich eine andere Art von Wort umfassen. Zum Beispiel kommt es in Betracht, Anweisungskodes bzw. Befehlskodes als Statusworte zu verwenden, und diese Kodes in den zwei Systemen zu vergleichen.
  • ZUSAMMENFASSUNG
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Überwachung von parallelen Prozessoren in einem Datensystem, welches ein erstes System CP-A und ein zweites System CP-B umfasst. Das Verfahren umfasst die Schritte: Erzeugen eines ersten Statusworts STWA im ersten System CP-A, und eines parallelen zweiten Statusworts STWB im zweiten System CP-B; Erzeugen eines ersten Prüfkodes CCA aus dem ersten Statuswort STWA im ersten System CP-A; Erzeugen eines zweiten Prüfkodes CCB aus dem zweiten Statuswort STWB im zweiten System CP-B; Senden des ersten Prüfkodes CCA aus dem ersten System CP-A an das zweite System CP-B; und Wiedererzeugung des ersten Datenworts STWA im zweiten System CP-B, durch Auswertung des ersten Prüfkodes CCA, des zweiten Prüfkodes CCB und des zweiten Datenworts STWB.

Claims (11)

  1. Verfahren zur Überwachung von parallelen Prozessen in einem Datensystem, welches ein erstes System (CP-A) und ein zweites System(CP-B) enthält, wobei das Verfahren die Schritte umfasst: – Erzeugen eines ersten Statusworts (STWA) im ersten System (CP-A) und eines parallelen zweiten Statusworts (STWB) im zweiten System (CP-B); – Erzeugen eines ersten Prüfkodes (CCA) aus dem ersten Statuswort (STWA) im ersten System (CP-A); und – Erzeugen eines zweiten Prüfkodes (CCB) aus dem zweiten Statuswort (STWB) in dem zweiten System (CP-B), wobei das Verfahren gekennzeichnet wird durch die weiteren Schritte – Übertragen des ersten Prüfkodes (CCA) aus dem ersten System (CP-A) an das zweite System (CP-B); und – Wiedererzeugen des ersten Datenworts (STWA) in dem zweiten System (CP-B) durch Auswertung des ersten Prüfkodes (CCA), des zweiten Prüfkodes (CCB) und des zweiten Datenworts (STWB).
  2. Verfahren nach Anspruch 1, wobei der Auswertungsschritt die Schritte umfasst – Identifizieren mindestens eines Bits in entsprechenden Bitpositionen in den zwei Prüfkodes, welches den ersten Prüfkode (CCA) von einem zweiten Prüfkode (CCB) unterscheidet; und – Identifizieren des mindestens einen Bits in den Statusworten, welches das erste Datenwort (STWA) vom zweiten Datenwort (STWB) unterscheidet, mit der Hilfe des mindestens einen identifizierten Bits.
  3. Verfahren nach Anspruch 2, umfassend den weiteren Schritt des Invertierens des identifizierten, mindestens einen Bits im zweiten Datenwort (STWB).
  4. Verfahren nach Anspruch 3, wobei der Auswertungsprozess die weiteren Schritte umfasst: – Kombinieren von Bits in entsprechenden Bitpositionen in den zwei Prüfkodes (CCA, CCB) über Exklusiv-Oder-Gatter; und – Senden von Signalen aus den Ausgängen der Exklusiv-Oder-Gatter an die Adresseingänge einer Kode-Tabelle.
  5. Verfahren nach Anspruch 4, wobei der Auswertungsprozess die weiteren Schritte umfasst: – Identifizieren einer sich unterscheidenden Bitposition in den Statusworten mit der Hilfe einer Adressspeicherposition in der Kode-Tabelle; und – Kombinieren von Bits in Bitpositionen in dem Datenwort, die an der Adressspeicherposition gespeichert sind, mit Bits in entsprechenden Bitpositionen in dem zweiten Statuswort (STWB) mittels von Exklusiv-Oder-Gattern.
  6. Verfahren nach einem der Ansprüche 2–5, umfassend den weiteren Schritt der Ausführung von Diagnostikprogrammen in Einheiten, welche durch die Bitpositionen dargestellt werden, die in den Statusworten identifiziert wurden.
  7. Anordnung zur Überwachung von parallelen Prozessen in einem Datensystem, welches ein erstes System (CP-A) und ein zweites System (CP-B) enthält, und welches ferner enthält: – ein Mittel zur Erzeugung eines ersten Statusworts (CP-A) im ersten System (STWA) und eines parallelen zweiten Statusworts (CP-B) im zweiten System (STWB); – ein Mittel zur Erzeugung eines ersten Prüfworts (CCA) aus dem ersten Statuswort (CCA) im ersten System (CP-A); – ein Mittel zur Erzeugung eines zweiten Prüfkodes (CCB) aus dem zweiten Statuswort (STWB) im zweiten System (CP-B), gekennzeichnet durch – ein Mittel zum Schicken des ersten Prüfkodes (CCA) aus dem ersten System (CP-A) an das zweite System (CP-B); und – ein Mittel zur Wiedererzeugung des ersten Datenworts (STWA) im zweiten System (CP-B) durch Auswertung des ersten Prüfkodes (CCA), des zweiten Prüfkodes (CCB) und des zweiten Datenworts (STWB).
  8. Anordnung nach Anspruch 7, umfassend: – ein Mittel zur Identifizierung mindestens eines Bits in entsprechenden Bitpositionen in den zwei Prüfkodes, welches den ersten Prüfkode (CCA) von einem zweiten Prüfkode (CCB) unterscheidet; und – ein Mittel zur Identifizierung mindestens eines Bits in den Statusworten, welches das erste Statuswort (STWA) von dem zweiten Datenwort (STWB) unterscheidet, mit der Hilfe des mindestens einen identifizierten Bits.
  9. Anordnung nach Anspruch 8, umfassend ein Mittel zum Invertieren des mindestens einen identifizierten Bits im zweiten Datenwort (STWB).
  10. Anordnung nach Anspruch 9, umfassend Exklusiv-Oder-Gatter, welche Eingänge haben, in welche Bits an entsprechenden Bitpositionen in den zwei Prüfkodes (CCA, CCB) kombiniert werden, wobei die Ausgänge der Exklusiv-Oder-Gatter mit den Adresseingängen einer Kode-Tabelle verbunden sind.
  11. Anordnung nach Anspruch 10, welche enthält: – Speicherpositionen in der Kode-Tabelle, welche eine abweichende Bitposition in den Statusworten identifizieren; und – Exklusiv-Oder-Gatter-Eingänge, über welche Bits an Bitpositionen, welche in dem Datenwort an der Adressspeicherposition gespeichert wurden, mit Bits an entsprechenden Bitpositionen im zweiten Statuswort (STWB) kombiniert werden.
DE10084752T 1999-07-01 2000-06-08 Verfahren zur Überwachung von parallelen Prozessen Withdrawn DE10084752T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9902530A SE516542C2 (sv) 1999-07-01 1999-07-01 Metod och anordning för övervakning av parallella processer
SE9902530-6 1999-07-01
PCT/SE2000/001189 WO2001002958A1 (en) 1999-07-01 2000-06-08 Method for supervision of parallel processes

Publications (1)

Publication Number Publication Date
DE10084752T5 true DE10084752T5 (de) 2004-04-29

Family

ID=20416346

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10084752T Withdrawn DE10084752T5 (de) 1999-07-01 2000-06-08 Verfahren zur Überwachung von parallelen Prozessen

Country Status (6)

Country Link
US (1) US6880119B1 (de)
AU (1) AU6031300A (de)
DE (1) DE10084752T5 (de)
GB (1) GB2366892B (de)
SE (1) SE516542C2 (de)
WO (1) WO2001002958A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316599A (ja) * 2002-02-22 2003-11-07 Seiko Epson Corp 集積回路
JP3897046B2 (ja) * 2005-01-28 2007-03-22 横河電機株式会社 情報処理装置および情報処理方法
US8010846B1 (en) * 2008-04-30 2011-08-30 Honeywell International Inc. Scalable self-checking processing platform including processors executing both coupled and uncoupled applications within a frame
JP5380978B2 (ja) * 2008-09-26 2014-01-08 富士通株式会社 伝送装置、伝送装置の制御方法および伝送装置の制御プログラム
JP5344936B2 (ja) * 2009-01-07 2013-11-20 株式会社日立製作所 制御装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371754A (en) * 1980-11-19 1983-02-01 Rockwell International Corporation Automatic fault recovery system for a multiple processor telecommunications switching control
IT1151351B (it) * 1982-01-19 1986-12-17 Italtel Spa Disposizione circuitale atta a realizzare lo scambio di dati tra una coppia di elaboratori operanti secondo il principio master-slave
EP0228559A1 (de) * 1985-12-17 1987-07-15 BBC Brown Boveri AG Fehlertolerante Mehrrechneranordnung
AU645757B2 (en) * 1989-08-17 1994-01-27 Fujitsu Limited A system to pass through resource information
US5799022A (en) * 1996-07-01 1998-08-25 Sun Microsystems, Inc. Faulty module location in a fault tolerant computer system
US6357024B1 (en) * 1998-08-12 2002-03-12 Advanced Micro Devices, Inc. Electronic system and method for implementing functional redundancy checking by comparing signatures having relatively small numbers of signals

Also Published As

Publication number Publication date
SE516542C2 (sv) 2002-01-29
AU6031300A (en) 2001-01-22
GB2366892B (en) 2004-02-11
US6880119B1 (en) 2005-04-12
SE9902530L (sv) 2001-01-02
WO2001002958A1 (en) 2001-01-11
GB0130016D0 (en) 2002-02-06
GB2366892A (en) 2002-03-20
SE9902530D0 (sv) 1999-07-01

Similar Documents

Publication Publication Date Title
DE3382592T2 (de) Zweifachbusstruktur fuer die rechnerverbindung.
EP0238841B1 (de) Fehlergesicherte, hochverfügbare Multiprozessor-Zentralsteuereinheit eines Vermittlungssystemes und Verfahren zum Speicherkonfigurationsbetrieb dieser Zentralsteuereinheit
DE2619159C2 (de) Fehlererkennungs- und Korrektureinrichtung
EP1297394B1 (de) Redundantes steuerungssystem sowie steuerrechner und peripherieeinheit für ein derartiges steuerungssystem
DE3486022T2 (de) System zur verteilten verarbeitung mit fehlerdiagnose.
DE3122076C2 (de)
DE2319753B2 (de) Anordnung zur Datenverarbeitung mittels in Mikroprogrammierung betriebener Prozessoren
DE2751106C2 (de)
DE3702006A1 (de) Speichervorrichtung
DE2357168C2 (de) Schaltungsanordnung für einen Speichermodul
DE3111447A1 (de) Anzeigeschaltung fuer speicherschreibfehler
DE2210325A1 (de) Datenverarbeitungssystem
DE2225841B2 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
DE69508034T2 (de) Fehlererkennungs-System und -Verfahren für gespiegelten Speicher zwischen doppelten Plattenspeichersteuerungen
DE2641700C2 (de)
DE10084752T5 (de) Verfahren zur Überwachung von parallelen Prozessen
DE2325137A1 (de) Speichereinrichtung mit bereitschaftsspeicherelementen
EP0922253B1 (de) Fehlererkennung in einem speichersystem
DE2915113C2 (de)
DE2242279C3 (de) Schaltungsanordnung zur Ermittlung von Fehlern in einer Speichereinheit eines programmgesteuerten Datenvermittlungssystems
DE10132313A1 (de) Programmgesteuerte Einheit
DE3334765A1 (de) Pruefungseinrichtung zur fehlererkennung bei gedoppelten schaltungen, insbesondere prozessoren eines fernsprechvermittlungssystems
EP0453609B1 (de) Verfahren zum Testen einer kleinsten adressierbaren Einheit eines RAM's auf über einer bestimmten Zahl liegende Bitfehler
DE19619886C2 (de) Steuer- und Datenübertragungsanlage mit teilweise redundantem Bussystem
DE3939631A1 (de) Verfahren zur datenuebertragung und geraet zur datenuebertragung mit einem detektor zur erfassung einer falschen informationsverteilung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee