DE4401168A1 - Vorrichtung zur fehlertoleranten Ausführung von Programmen - Google Patents
Vorrichtung zur fehlertoleranten Ausführung von ProgrammenInfo
- Publication number
- DE4401168A1 DE4401168A1 DE4401168A DE4401168A DE4401168A1 DE 4401168 A1 DE4401168 A1 DE 4401168A1 DE 4401168 A DE4401168 A DE 4401168A DE 4401168 A DE4401168 A DE 4401168A DE 4401168 A1 DE4401168 A1 DE 4401168A1
- Authority
- DE
- Germany
- Prior art keywords
- computing units
- units
- redundancy
- computing
- transputer
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
Description
Die Erfindung betrifft eine Vorrichtung zur fehler
toleranten Ausführung von Programmen, insbesondere zur
Ausführung von Digitalrechnerprogrammen, die eine
Mehrzahl von Recheneinheiten aufweist, die zur Bereit
stellung einer Fehlertoleranz mit einer sie parallel
betreibenden Steuerung verbunden sind und bei der jede
der als Redundanzeinheiten ausgebildeten Recheneinhei
ten über eine Schnittstelle mit einem dreifachredundan
ten Datenbus verbunden ist und eine redundante Prozeß
peripherie an den Datenbus angeschlossen ist.
Derartige Vorrichtungen sind als sogenannte Parallel
rechner bekannt und ermöglichen zum einen eine Erhöhung
einer Rechengeschwindigkeit und zum anderen die Reali
sierung einer Fehlertoleranz bei einem Ausfall von Kom
ponenten. Beispielsweise kann bei drei parallel ge
schalteten Rechnern und paralleler Durchführung der
gleichen Rechenoperationen verglichen werden, ob alle
Rechner zu einem gleichen Ergebnis gekommen sind.
Weicht das Ergebnis des einen Rechners vom Ergebnis der
beiden anderen Rechner ab, so wird dieses abweichende
Ergebnis verworfen.
Bekannte fehlertolerante Architekturen für Rechenvor
richtungen bestehen beispielsweise aus mehrfach vorhan
denen, busorientierten Rechnerstrukturen. Eine Ver
netzung kann über einen gemeinsamen Bus oder über
zusätzliche serielle Datenübertragungskanäle erfolgen.
Die Realisierung eines derartigen Konzeptes weist
jedoch eine Mehrzahl von Nachteilen auf. Insbesondere
liegt nur eine begrenzte Vernetzungsfähigkeit vor, da
für die Durchführung der Kommunikation ein hoher
Aufwand sowohl bezüglich der Hardware als auch bezüg
lich des Betriebssystems getrieben werden muß. Darüber
hinaus ist die Anzahl der Redundanzeinheiten durch die
busorientierten Rechnerstrukturen begrenzt. Schließlich
ist ganz generell ein hoher Aufwand an Hard- und
Software erforderlich, der entsprechende Kosten zur
Folge hat.
Aus der DE 39 18 962 A1 ist bereits ein Mehrrechner
system bekannt, bei dem eine Mehrzahl von Prozessoren
vorgesehen ist, die einen programmtechnischen Ablauf
gleichzeitig ausführen. Zur Durchführung eines Auswahl
verfahrens werden zusätzliche Ein- und Ausgabeanschalt
baugruppen verwendet. Aufgrund einer gleichzeitigen
Ausführung des gleichen Programmes auf mehreren Rechen
einheiten ist es möglich, eine auftretende Fehlfunktion
zu erkennen und diese zu korrigieren. Es ist jedoch
nicht möglich, eine fehlerhafte Komponente zu isolieren
bzw. zu deaktivieren.
In der Zeitschrift "Elektronik 13/1991", Seite 44 bis
50 wird beschrieben, daß grundsätzlich die Verwendung
von Transputerknoten im Bereich von Parallelrechner
strukturen bereits bekannt ist. Grundsätzlich ist auch
eine Verwendung derartiger Transputerknoten zur Aus
bildung von Redundanzstrukturen bereits beschrieben. Es
wird eine Rücksetzlogik verwendet, bei der jeder
Prozessor jeden anderen Prozessor in einer unmittel
baren Umgebung zurücksetzen kann. Durch diese Ver
kopplung ist es somit nicht möglich, eine zustands
abhängige Isolierung einzelner Redundanzeinheiten vor
zunehmen. Beim Auftreten von Fehlern ist vielmehr damit
zu rechnen, daß ein fehlerhafter Prozessor auf die in
seiner Umgebung befindlichen funktionsfähigen Pro
zessoren einwirken kann.
Aufgabe der vorliegenden Erfindung ist es daher, eine
Vorrichtung der einleitend genannten Art derart auszu
bilden, daß eine hohe Vernetzungsfähigkeit und eine
Verwendung einer großer Anzahl von Redundanzeinheiten
ermöglicht wird.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß
jede der Recheneinheiten im wesentlichen aus mindestens
einem Transputerknoten besteht, daß zur schaltungs
technischen Realisierung einer Redundanz entsprechend
der byzantinischen Fehlertoleranz aus mindestens vier
Recheneinheiten eine Redundanzgruppe ausgebildet ist
und daß jede der Recheneinheiten innerhalb der
Redundanzgruppe mit mindestens drei weiteren Rechen
einheiten verbunden ist.
Durch diese Merkmalskombination ist eine nahezu belie
bige Vernetzungsfähigkeit gegeben und es können vorgeb
bare Anzahlen an Redundanzeinheiten verwendet werden.
Darüber hinaus wird der erforderliche Aufwand an Hard-
und Software reduziert. Durch die Kombination der aus
Transputerknoten ausgebildeten Redundanzeinheiten und
dem redundanten Datenbus ist es möglich, die Konfigura
tion des Parallelrechners unabhängig von einem Prozeß
interface vorzunehmen.
Zur Unterstützung des modularen Konstruktionsprinzips
wird vorgeschlagen, daß der Datenbus seriell ausgebil
det ist.
Eine redundante Anordnung der Recheneinheiten erfolgt
dadurch, daß die Recheneinheiten eine Torus-Konfigura
tion ausbilden.
Zur Ermöglichung eines Signalaustausches zwischen den
Recheneinheiten wird vorgeschlagen, daß bitserielle
Transputerverbindungen vorgesehen sind.
Zur Gewährleistung einer ausreichenden Kopplung der
einzelnen Funktionsbaugruppen wird vorgeschlagen, daß
die Transputerverbindungen differenziell ausgebildet
sind.
Eine Entkopplung kann auch dadurch erfolgen, daß die
Transputerverbindungen als Lichtwellenleiter ausgebil
det sind.
Zur Bereitstellung von konfigurierbaren Anzahlen redun
danter Gruppen von Recheneinheiten wird vorgeschlagen,
daß die Recheneinheiten sowohl in einer horizontalen
als auch in einer vertikalen Strukturierung angeordnet
sind.
Eine zweckmäßige Anordnung besteht darin, daß maximal
vier horizontal angeordnete Recheneinheiten sowie eine
beliebige Anzahl vertikaler Recheneinheiten vorgesehen
sind.
Durch die vorgeschlagene Merkmalskombination ist es
möglich, eine Ausführung von Digitalrechnerprogrammen
fehlertolerant durchzuführen. Fehlertoleranz bedeutet
dabei insbesondere auch, daß mehrfach auftretende
Fehler sowohl im Bereich des Digitalrechners als auch
im Bereich der angeschlossenen Rechnerperipherie
erkannt und korrigiert werden. Hierdurch ist es
möglich, daß die gewünschte Funktion des Digital
rechnerprogrammes auch im Fehlerfall erhalten bleibt.
In Abhängigkeit von der realisierten Komplexität der
Verschaltung ist es möglich, einen beliebigen Redun
danzgrad vorzugeben. Beim Auftreten eines Fehlers wird
die vorgegebene Komplexität schrittweise abgebaut, so
daß eine Redundanzreserve zur Verfügung steht, bis alle
Redundanzen durch kompensierte Fehler abgebaut sind.
Der vorgegebene Redundanzgrad ist durch das physika
lische Vorhandensein der redundanten Komponenten
bestimmt. Es ist somit nicht erforderlich, zur Er
zeugung der Redundanz spezielle Software-Konfigura
tionen zu realisieren.
Insbesondere ist es auch möglich, in Abhängigkeit von
einer jeweiligen Anwendungssituation redundante
Komponenten zu- bzw. abzuschalten. Bei einer ent
sprechenden Erkennung einer Reduzierung der Redundanz
reserve ist es somit möglich, zusätzliche Redundanz
einheiten zu aktivieren, ohne daß diese während eines
vorhergehenden Betriebes mit Betriebsenergie versorgt
werden müßten.
Durch die vorgeschlagene Verknüpfung der Redundanz
einheiten kann die byzantinische Fehlertoleranz
besonders effektiv und kostengünstig realisiert werden.
Unabhängig vom Ort des Auftretens des Fehlers wird der
Fehler erkannt und das Ergebnis der Rechenoperationen
durch Isolierung oder Deaktivierung der fehlerhaften
Komponente korrigiert.
Im Gegensatz zu nach dem Stand der Technik bekannten
redundanten Mehrrechnersystemen ist es möglich,
standardisierte und normierte Feldbusse zu verwenden.
Dies hat für einen Anwender den Vorteil, daß in großen
Serien gefertigte preisgünstige Ein- und Ausgabeein
heiten verwendet werden können und daß diese Einheiten
von einer Vielzahl von Herstellern angeboten werden.
In der Zeichnung sind Ausführungsbeispiele der Erfin
dung schematisch dargestellt. Es zeigen:
Fig. 1 ein Blockschaltbild einer aus Recheneinheiten
ausgebildete Redundanzgruppe,
Fig. 2 ein detailliertes Blockschaltbild zum Aufbau
einer Recheneinheit,
Fig. 3 ein Zeitdiagramm zur Veranschaulichung einer
Zwangssynchronisierung der Recheneinheiten,
Fig. 4 die im Bereich jeder Recheneinheit realisier
ten Datentabellen für einen zweifachen byzan
tinischen Datenaustausch,
Fig. 5 den Aufbau von Datenfeldern nach dem Ausfall
einer kompletten Recheneinheit,
Fig. 6 die Datenfelder nach dem Ausfall einer zweiten
Recheneinheit,
Fig. 7 einen prinzipiellen Aufbau von peripheren Ein-
und Ausgabeeinheiten,
Fig. 8 eine Prinzipskizze zur Veranschaulichung einer
möglichen Parallelisierung von Programmab
läufen auf mehreren Recheneinheiten,
Fig. 9 eine Verbindung der Ein- und Ausgabeeinheiten
über genormte Feldbusse,
Fig. 10 ein Prinzipschaltbild zur Verdeutlichung der
Anordnung der verwendeten Komponenten,
Fig. 11 eine Prinzipdarstellung zur Veranschaulichung
möglicher Konfigurierungen.
Die in Fig. 10 stark schematisiert dargestellte Vor
richtung zur Ausführung von Programmen besteht im
wesentlichen aus Recheneinheiten (1), die als Trans
puterknoten ausgebildet sind. Die Recheneinheiten (1)
und Schnittstellen (2) sind an einen dreifachredundan
ten Datenbus (3) angeschlossen. Der Datenbus (3) kann
beispielsweise als Feldbus oder als MIL-Bus ausgebildet
sein. Es sind bei dem in Fig. 10 dargestellten Aus
führungsbeispiel jeweils Gruppen aus drei Rechenein
heiten (1) gebildet, die miteinander verkoppelt sind.
Darüber hinaus sind ein elektronischer Versorgungs
schalter (4), ein erweiterter elektronischer Ver
sorgungsschalter (5) sowie ein komplex aufgebauter Ver
sorgungsschalter (6) vorgesehen. Der Versorgungs
schalter (4) wird bei einem Anschluß eines störungs
sicheren Gerätes, der Versorgungsschalter (5) zur
Ermöglichung einer Ein-Fehler-Toleranz und der
Versorgungsschalter (6) zur Ansteuerung der redundanten
Recheneinheiten (1) derart eingesetzt, daß eine Zwei-
Aus-Sechs-Überprüfung zur Eliminierung von maximal zwei
auftretenden Fehlfunktionen möglich ist.
Die Recheneinheiten (1) sind jeweils mit einem inter
nen Bus (7) versehen. An den internen Bus (7) sind ein
I/O-Bauelement (18) sowie Funktionseinheiten (8, 9) an
geschlossen. Die Funktionseinheit (8) bildet eine An
kopplung an den Datenbus (3) und die Funktionseinheit
(9) einen Controller aus.
Die Verbindung zwischen den jeweils einander zugeordne
ten Recheneinheiten (1) ist als eine bitserielle Lei
tung (10) ausgebildet. Hierdurch wird es ermöglicht,
daß Schaltungsausfälle im Bereich einer der Rechenein
heiten (1) nicht die Funktionsfähigkeit der anderen
Recheneinheiten (1) beeinflußt. Insbesondere wird diese
Isolierung der Funktionsfähigkeiten dadurch unter
stützt, daß die bitseriellen Leitungen (10) als diffe
renzielle Verbindungen oder als Lichtwellenleiter aus
gebildet werden. Eine entsprechende Kopplung kann auch
im Bereich der Schnittstellen (2) eingesetzt werden.
Über den Datenbus (3) erfolgt die Anbindung an externe
Geräte, insbesondere an eine vorgesehene Peripherie.
Als Vorrichtung für die Durchführung von Eingaben und
Ausgaben wird eine Einheit benutzt, die sowohl die er
forderlichen prozeßspezifischen Ein- und Ausgabefunkti
onen enthält und darüber hinaus mit Hilfe der Parallel
rechnerstruktur über den Datenbus (3) abgefragt und
kommandiert werden kann. Die Ein- und Ausgabefunktionen
können beispielsweise über Relais bzw. digitale Ein-
oder Ausgaben bzw. analoge Ein- oder Ausgaben reali
siert sein. Der Zugang der Parallelrechnerstruktur zu
den jeweils zu verarbeitenden Prozeßsignalen erfolgt
ausschließlich über diese Einheit, die im wesentlichen
die Schnittstelle (2) ausbildet. Die Anzahl der ver
wendbaren Einheiten wird lediglich durch die vorliegen
den Busparameter des verwendeten seriellen Datenbusses
(3) begrenzt. Es ist möglich, für jedes zu verwendende
Prozeßinterface eine individuelle Anzahl von Einheiten
vorgebbarer Ausführung zu verwenden. Die Vielfalt der
verwendbaren Komponenten ist insbesondere bei einem
Einsatz eines industriellen Feldbusses als Datenbus (3)
umfangreich.
Aus der Darstellung in Fig. 11 ist ersichtlich, daß die
aus den Recheneinheiten (1) aufgebaute Parallelrechner
struktur als ein Prozessortorus konfiguriert ist. In
Fig. 11 sind beispielhaft ein Quadruplex (11), ein
Triplex (12) sowie ein Duplex (13) eingezeichnet. Die
Steuerung erfolgt mit Hilfe einer Prozeßleitstelle (14)
und die Anordnung einer Prozeßperipherie (15) kann bei
spielsweise in einer MIL-Ausführung (16) oder in einer
Feldbus-Ausführung (17) erfolgen. Grundsätzlich ist es
denkbar, die in Fig. 11 eingezeichnete Prozeßperipherie
(15) und die in Fig. 10 eingezeichneten Schnittstellen
(2) zusammengefaßt auszubilden.
Zur Ausbildung des Prozessortorus ist insbesondere
daran gedacht, eine Anordnung von bis zu vier horizon
talen Recheneinheiten (1) und einer beliebigen Anzahl
vertikaler Recheneinheiten (1) zu verwenden. Jeweils
eine horizontale Gruppe von Recheneinheiten (1) stellt
eine redundante Gruppe dar. Zur Ermöglichung einer
parallelen Abarbeitung einer vorliegenden Automatisie
rungsaufgabe werden mehrere redundante Gruppen von
Recheneinheiten (1) vertikal miteinander kombiniert.
Grundsätzlich ist es möglich, jede der redundanten
Gruppen mit einem eigenen redundanten Datenbus (3) zu
versehen.
Ein Verarbeitungsablauf kann beispielsweise derart vor
gegeben werden, daß zur Realisierung einer Fehlertole
ranzstrategie drei aktive, identische Prozesse mit
einer Zwei-Aus-Drei-Abstimmung realisiert werden. Im
Falle des Auftretens eines Fehlers wird automatisch auf
die vorgesehene Reserveeinheit umgeschaltet. Es ist
aber auch möglich, vier aktive, identische Prozesse mit
byzantinischer Fehlertoleranz zu realisieren.
Insbesondere ist daran gedacht, eine jeweils zweck
mäßige Zuteilung der redundanten Datenbusse zu den
aktiven Prozessen automatisch durchzuführen. Als Be
triebssystem sind insbesondere verteilte Systeme geeig
net, die frei von zentralen Ressourcen sind.
Fig. 1 zeigt eine vereinfachte Darstellung einer aus
vier Recheneinheiten aufgebauten Redundanzgruppe ent
sprechend der grundsätzlichen Verschaltung gemäß
Fig. 10. Die Recheneinheiten (1) sind untereinander
über Redundanzschnittstellen (19) verbunden. Insbe
sondere ist daran gedacht, zur Vermeidung einer elek
trischen Übertragung von Fehlerzuständen die Redundanz
schnittstellen (19) als Lichtwellenleiter-Schnitt
stellen auszubilden. Zur Synchronisierung sind Fehler
toleranztaktgeber (20) vorgesehen. Die Recheneinheiten
(1) werden jeweils mit einem gleichen Digitalrechner
programm geladen. Die Recheneinheiten (1) sind über
bitserielle Punkt zu Punkt Verbindungen derart ver
bunden, daß jede Recheneinheit (1) über die Redundanz
schnittstellen (19) mit drei anderen Recheneinheiten
(1) verbunden ist. Zur Ermöglichung einer Mehrfach
fehlertoleranz kann diese beschriebene Verbindungs
technik entsprechend erhöht werden. Bei einer vorge
gebenen Anzahl zu tolerierender Fehler ergibt sich die
Anzahl der erforderlichen Verbindungen als doppelte
Fehleranzahl zuzüglich eins.
Entsprechend der byzantinischen Theorie tauschen die
Recheneinheiten (1) ihre Daten untereinander aus. Durch
die Realisierung der bitseriellen Punkt zu Punkt Ver
bindungen ist es nicht erforderlich, die Daten über
Register, einen gemeinsamen Datenbus oder Dualport
speicher auszutauschen. Durch die Ausbildung der Ver
bindungen als Lichtwellenleiter wird gleichzeitig eine
galvanische Trennung bereitgestellt.
Ein detaillierter Aufbau der Recheneinheit (1) ist in
Fig. 2 dargestellt. Das Kernstück bilden zwei Trans
puterprozessoren (21, 22). Eine Taktung erfolgt über den
Taktgeber (20), der an eine Synchronisationsschnitt
stelle (23) angeschlossen ist. Zur Auswertung der
Redundanzschnittstellen (19) ist eine Auswahleinheit
(24).
Durch die Kombination der Transputerprozessoren (21, 22)
und der Redundanzschnittstellen (19) unter Einbeziehung
der Lichtleiterverbindungen ist es möglich, eine Daten
rate von 20 Megabit pro Sekunde zu realisieren. Die
Auswahleinheit (24) vergleicht ankommende Rücksetz
signale der benachbarten Recheneinheiten. Falls zeit
gleich drei Rücksetzsignale eintreffen, wird die ge
samte Recheneinheit (1) inaktiv geschaltet. Dies be
deutet, daß mindestens drei Recheneinheiten (1) eine
vierte Recheneinheit als fehlerhaft erkennen müssen, um
diese fehlerhafte Recheneinheit (1) zu deaktivieren.
Die Rücksetzsignale werden mit einem speziellen Puls
code-Verfahren über die Lichtwellenleiter gesendet. Es
ist somit kein zusätzlicher Verdrahtungsaufwand er
forderlich, und es kann eine galvanische Trennung der
Recheneinheiten (1) gewährleistet werden. Der Trans
puter (21) kann seinerseits Rücksetzsignale an alle
benachbarten Recheneinheiten (1) versenden, falls eine
fehlerhafte Komponente detektiert wurde. Im Bereich des
Transputerprozessors (21) ist somit zweckmäßigerweise
ein Fehlererkennungs- und Fehlerauswertungsverfahren
implementiert.
Im Bereich des Transputerprozessors (22) läuft das vor
gesehene Anwenderprogramm ab. Die Transputerprozessoren
(21, 22) sind über Linkverbindungen miteinander ver
koppelt.
In Fig. 3 ist der zeitliche Ablauf für eine Bearbeitung
der zugeordneten Digitalrechnerprogramme veranschau
licht. Durch die Aufteilung des Fehlerbehandlungsver
fahrens auf den Transputerprozessor (21) und und des
Anwenderprogramms auf den Transputerprozessor (22) ist
es möglich, die Programme zeitlich parallel ablaufen zu
laufen. Hieraus resultiert eine effiziente Realisierung
des byzantinischen Fehlertoleranzverfahrens. Zusätzlich
zu den Eingangs- und Ausgangssignalen wird auch der
Systemzustand aus einem vorangegangenen Abtastzyklus
verglichen und ausgewertet. Ein Fehler innerhalb der
Recheneinheit wird somit im nächstfolgenden Abtast
intervall detektiert.
Über einen Synchrontakt werden die Recheneinheiten
zwangssynchronisiert. Dieser Synchronisationstakt ist
in Fig. 3 als Puls dargestellt. Der Synchrontakt wirkt
auf einen Interrupt-Eingang des Transputerprozessors
(21). Hierdurch wird die Abfrage der Sensordaten inner
halb einer Millisekunde vorgenommen.
Zusätzlich ist auch der Taktgeber (20) fehlertolerant
ausgeführt. Jeder Recheneinheit (1) ist ein Taktgeber
(20) zugeordnet. Über einen speziellen Algorithmus und
über galvanisch getrennte Synchronisierungsleitungen
werden die Taktgeber (20) ebenfalls nach dem byzan
tinischen Fehlertoleranzverfahren synchronisiert. Der
entsprechende Algorithmus kann in einem zugeordneten
programmierbaren Logikbaustein implementiert sein.
In Fig. 4 sind Datentabellen (25) dargestellt, die im
Bereich jeder der Recheneinheiten (1) zur Realisierung
eines zweifachen byzantinischen Datenaustausches
implementiert sind. Die Bezeichnung d (xx) hat hierbei
die Bedeutung eines kompletten Datenfeldes. Es werden
somit die erfaßten Sensordaten und die Systemzustands
daten zusammengefaßt. Der erste Index kennzeichnet den
Datenerzeuger, der zweite Index kennzeichnet den Daten
übermittler. Es werden somit nicht lediglich Register
inhalte verglichen, sondern es erfolgt ein Vergleich
kompletter Datenfelder. Hierdurch können auch Konstant
speicherstellen und Systemzustandsdaten im Anwender
programm in die Vergleichsoperationen einbezogen
werden. Es ist somit möglich, Bitfehler zu erkennen und
zu maskieren. Die in Fig. 4 rechteckförmig umrandeten
Datentabellen (25) müssen unabhängig von den Sensor
werten bitgleich sein. Die Auswertung der Datensätze
liefert Informationen darüber, in welcher Recheneinheit
(1) ein Fehler aufgetreten ist. Mit einem speziellen
Algorithmus, der diese Datensätze auswertet, ist jede
Recheneinheit (1) in der Lage, eine andere fehlerhafte
Recheneinheit (1) zu erkennen und diese mit dem Rück
setzsignal zu deaktivieren.
Nach der Auswertung der umrandet eingezeichneten Daten
tabellen (25) werden die Ergebnisse dreier vertikaler
Datenfelder verglichen. Mit diesem zweiten Vergleich
kann ein Sensorfehler erkannt und korrigiert werden.
Die Vorrichtung ist somit ebenfalls in der Lage, Fehler
innerhalb des Rechensystems unabhängig von Sensor
fehlern zu erkennen und zu korrigieren, bzw. die
fehlerhafte Recheneinheit (1) zu isolieren.
Fehler der Sensoren selber werden ebenfalls mit einem
zwei aus drei Auswahlverfahren korrigiert. Es ist somit
sichergestellt, daß die Anwendungs-Software im Bereich
aller Recheneinheiten (1) mit identischen fehler
korrigierten Sensorwerten rechnet.
Im Fig. 4 ist für einen ersten Datenaustausch ein
durchgezeichneter erster Datenaustauschweg (26) ein
getragen, und für einen zweiten Datenaustausch ist ein
gestrichelt eingezeichneter zweiter Datenaustauschweg
(27) vorgesehen.
In Fig. 5 ist die Anordnung gemäß Fig. 4 nach dem Aus
fall einer kompletten Recheneinheit (1) dargestellt. In
diesem Fall arbeitet die Vorrichtung weiter als ein
Dreifachsystem mit einem zwei aus drei Vergleicher.
Trotz des Ausfalles einer vollständigen Recheneinheit
(1) sind aufgrund der byzantinischen Fehlererkennung
noch Rechenfehler unabhängig von den Sensorwerten
erkennbar. Es ist jedoch nicht mehr möglich, ein
weitere fehlerhafte Recheneinheit (1) zu isolieren.
In Fig. 6 sind die Datenfelder entsprechend Fig. 4 und
Fig. 5 nach dem Ausfall einer weiteren Recheneinheit
(1) skizziert. Die Vorrichtung kann nunmehr noch als
ein Zweifachsystem weiterarbeiten. Es erfolgt jedoch
nur noch eine Überprüfung der beiden Datensätze auf
Gleichheit. Eine Abweichung der Daten voneinander führt
zu einer Abschaltung der gesamten Vorrichtung.
Aus der Gegenüberstellung von Fig. 4, Fig. 5 und Fig. 6
ist erkennbar, daß aufgrund der byzantinischen Fehler
erkennung bei einem Auftreten eines Fehlers im Bereich
einer Redundanzgruppe ausgehend von einem Vierfach
system zunächst zu einem Dreifachsystem und bei einem
zusätzlichen Fehler zu einem Zweifachsystem umgeschaltet
wird. Es ist somit möglich, zwei nacheinander auf
tretende Fehler unabhängig voneinander zu kompensieren.
Nach dem Auftreten des ersten Fehlers, der eine Iso
lierung einer ersten Recheneinheit (1) zur Folge hat,
übernimmt eine bis dahin passive Recheneinheit (1)
aktiv den Feldbus der deaktivierten Recheneinheit (1).
Dies bedeutet, daß die Vorrichtung nach der Deakti
vierung der ersten fehlerhaften Recheneinheit (1) zur
Peripherie hin weiter als ein Dreifachsystem arbeitet.
Der prinzipielle Aufbau der peripheren Ein- und Aus
gabeeinheiten ist in Fig. 7 dargestellt. Die Ein- und
Ausgabeeinheiten werden über zwei redundante Feldbusse
mit drei aktiven Recheneinheiten (1) verbunden. Die
Feldbusse sind als standardisierte Zweidrahtverbin
dungen ausgebildet. Die Feldbusse werden zur Über
tragung der Ausgabewerte bzw. zum Einlesen der Sensor
werte benutzt. Drei Peripheriegeräte werden zu einer
dreikanaligen Ein- und Ausgabeeinheit konfiguriert. Es
sind somit jeweils drei Aktorausgänge vorhanden, die
einer zwei aus drei Auswahl unterzogen werden. Dies
wird die über dargestellte Relaislogik realisiert.
Fehlerhafte Kommandos auf einem Kanal werden somit
unterdrückt unabhängig davon, ob sie durch Rechen
fehler, Übertragungsfehler oder Fehler in der Ausgabe
einheit selbst hervorgerufen werden. Dieses elektrische
zwei aus drei Vergleichsverfahren an den Ausgabeein
heiten stellt die Sicherheit des Gesamtsystems im
Fehlerfall in jedem Fall sicher. Dies gilt selbst bei
einem totalen Ausfall der Vorrichtung.
In Fig. 8 ist eine Parallelisierung einer Anwendungs-
Software auf mehreren Redundanzgruppen dargestellt. Bei
einer Parallelisierung der Programmabläufe werden
jeweils auf den vier Recheneinheiten (1) einer Redun
danzgruppe die gleichen Programme ausgeführt, jede der
Redundanzgruppen bearbeitet hingegen unterschiedliche
Programmteile. Jeweils eine Redundanzgruppe ist in
Fig. 8 aus vier horizontal angeordneten Recheneinheiten
(1) ausgebildet. Grundsätzlich ist es möglich, die
Recheneinheiten (1) innerhalb einer vertikalen Gruppie
rung mit einer gemeinsamen Stromversorgung zu be
treiben. Jede der Redundanzgruppen verfügt über einen
eigenen dreifach redundanten Feldbus sowie über einen
eigenen fehlertoleranten Taktgeber (20). Die Ein- und
Ausgabebaugruppen (28) sind an den Datenbus (3) ange
schlossen.
Aus Fig. 9 ergibt sich die Verbindung der Ein- und
Ausgabebaugruppen (28) über den als genormten Feldbus
ausgebildeten Datenbus (3) in einer gegenüber Fig. 8
vereinfachten Darstellung mit einer Redundanzgruppe.
Claims (10)
1. Vorrichtung zur fehlertoleranten Ausführung von
Programmen, insbesondere zur Ausführung von Digi
talrechnerprogrammen, die eine Mehrzahl von
Recheneinheiten aufweist, die zur Bereitstellung
einer Fehlertoleranz mit einer die Recheneinheiten
parallel betreibenden Steuerung verbunden sind und
bei der jede der als Redundanzeinheiten ausgebilde
ten Recheneinheiten über eine Schnittstelle mit
einem dreifachredundanten Datenbus verbunden ist
und eine redundante Prozeßperipherie an den Daten
bus angeschlossen ist, dadurch gekennzeichnet, daß
jede der Recheneinheiten (1) im wesentlichen aus
mindestens einem Transputerknoten besteht, daß zur
schaltungstechnischen Realisierung einer Redundanz
entsprechend der byzantinischen Fehlertoleranz aus
mindestens vier Recheneinheiten (1) eine Redundanz
gruppe ausgebildet ist und daß jede der Rechenein
heiten (1) innerhalb der Redundanzgruppe mit
mindestens drei weiteren Recheneinheiten (1) ver
bunden ist.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeich
net, daß der Datenbus (3) seriell ausgebildet ist.
3. Vorrichtung nach Anspruch 1 oder 2, dadurch gekenn
zeichnet, daß die Recheneinheiten (1) eine Torus-
Konfiguration ausbilden.
4. Vorrichtung nach einem der Ansprüche 1 bis 3, da
durch gekennzeichnet, daß bitserielle Transputer
verbindungen vorgesehen sind.
5. Vorrichtung nach einem der Ansprüche 1 bis 4, da
durch gekennzeichnet, daß die Transputerverbindun
gen zur Auswertung von Signalveränderungen diffe
renziell ausgebildet sind.
6. Vorrichtung nach einem der Ansprüche 1 bis 4, da
durch gekennzeichnet, daß die Transputerverbindun
gen als Lichtwellenleiter ausgebildet sind.
7. Vorrichtung nach einem der Ansprüche 1 bis 6, da
durch gekennzeichnet, daß die Recheneinheiten (1)
sowohl in einer horizontalen als auch in einer ver
tikalen Strukturierung angeordnet sind.
8. Vorrichtung nach einem der Ansprüche 1 bis 7, da
durch gekennzeichnet, daß maximal vier horizontal
angeordnete Recheneinheiten (1) sowie eine be
liebige Anzahl vertikaler Recheneinheiten (1) vor
gesehen sind.
9. Vorrichtung nach einem der Ansprüche 1 bis 8, da
durch gekennzeichnet, daß fehlerredundante
Taktgeber (20) zur Zwangssynchronisierung im
Bereich der Recheneinheiten (1) angeordnet sind.
10. Vorrichtung nach einem der Ansprüche 1 bis 9, da
durch gekennzeichnet, daß im Bereich jeder Rechen
einheit (1) zwei Transputerprozessoren (21, 22) an
geordnet sind.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4401168A DE4401168C2 (de) | 1993-02-01 | 1994-01-17 | Vorrichtung zur fehlertoleranten Ausführung von Programmen |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4302772 | 1993-02-01 | ||
DE4401168A DE4401168C2 (de) | 1993-02-01 | 1994-01-17 | Vorrichtung zur fehlertoleranten Ausführung von Programmen |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4401168A1 true DE4401168A1 (de) | 1994-08-18 |
DE4401168C2 DE4401168C2 (de) | 1996-06-27 |
Family
ID=6479372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4401168A Expired - Lifetime DE4401168C2 (de) | 1993-02-01 | 1994-01-17 | Vorrichtung zur fehlertoleranten Ausführung von Programmen |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4401168C2 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0952520A2 (de) | 1998-04-04 | 1999-10-27 | DaimlerChrysler Aerospace AG | Vorrichtung zur fehlertoleranten Ausführung von Programmen |
EP1050814A2 (de) * | 1999-05-07 | 2000-11-08 | DaimlerChrysler Aerospace AG | Fehlertolerantes System nach byzantinem Algorithmus |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473133A (zh) * | 2013-09-25 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种面向高可用系统的冗余进程同步方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3918962A1 (de) * | 1989-06-09 | 1990-12-13 | Siemens Ag | Mehrrechnersystem |
-
1994
- 1994-01-17 DE DE4401168A patent/DE4401168C2/de not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3918962A1 (de) * | 1989-06-09 | 1990-12-13 | Siemens Ag | Mehrrechnersystem |
Non-Patent Citations (2)
Title |
---|
LALA, J.H., und andere: A Design Approach for Ultrareliable Real-Time Systems, in: COMPUTER, Mai 1991, S. 12-22 * |
LANGHAMMER, F.: Supermassive Computer-Architektur,in: Elektronik 13/1991, S. 44-50 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0952520A2 (de) | 1998-04-04 | 1999-10-27 | DaimlerChrysler Aerospace AG | Vorrichtung zur fehlertoleranten Ausführung von Programmen |
US6434712B1 (en) | 1998-04-04 | 2002-08-13 | Daimlerchrysler Aerospace Ag | Method and apparatus for fault tolerant execution of computer programs |
EP0952520A3 (de) * | 1998-04-04 | 2006-04-12 | DaimlerChrysler Aerospace AG | Vorrichtung zur fehlertoleranten Ausführung von Programmen |
EP1050814A2 (de) * | 1999-05-07 | 2000-11-08 | DaimlerChrysler Aerospace AG | Fehlertolerantes System nach byzantinem Algorithmus |
US6567927B1 (en) | 1999-05-07 | 2003-05-20 | Daimlerchrysler Aerospace Ag | Logic unit operable under the byzantine algorithm, computer unit having such logic unit, composite assembly comprised of logic units or computer units, and method of operating such an assembly |
EP1050814A3 (de) * | 1999-05-07 | 2007-05-23 | Astrium GmbH | Fehlertolerantes System nach byzantinem Algorithmus |
Also Published As
Publication number | Publication date |
---|---|
DE4401168C2 (de) | 1996-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60014938T2 (de) | Skalierbares datenerfassungs-/ und rechengerät | |
EP2504740B1 (de) | Sicherheitsmodul für ein automatisierungsgerät | |
EP1927914B1 (de) | Sicherheitsmodul und Automatisierungssystem | |
EP1297394B1 (de) | Redundantes steuerungssystem sowie steuerrechner und peripherieeinheit für ein derartiges steuerungssystem | |
DE2741886A1 (de) | Datenuebertragungseinrichtung | |
EP1952238B1 (de) | Busmodul zum anschluss an ein bussystem sowie verwendung eines solchen busmoduls in einem as-i-bussystem | |
DE102016000126B4 (de) | Serielles Bussystem mit Koppelmodulen | |
EP1743225B1 (de) | Redundantes automatisierungssystem umfassend ein master- und ein stand-by-automatisierungsgerät | |
DE102007061437A1 (de) | Bladeserververwaltungssystem | |
EP1450223A1 (de) | Universeller konfigurierbarer Schnittstellenschaltkreis für E/A-Ankopplungen zum einem Prozess | |
DE2612100A1 (de) | Digitale datenverarbeitungsanordnung, insbesondere fuer die eisenbahnsicherungstechnik | |
DE3328405C2 (de) | ||
DE4416795C2 (de) | Redundant konfigurierbares Übertragungssystem zum Datenaustausch und Verfahren zu dessen Betrieb | |
DE102006055867A1 (de) | Integrierte Schaltung mit Strahlungsschutz | |
WO2004034260A2 (de) | Verfahren und schaltungsanordnung zur synchronisation synchron oder asynchron getakteter verarbeitungseinheiten | |
DE4401168C2 (de) | Vorrichtung zur fehlertoleranten Ausführung von Programmen | |
DE60104336T2 (de) | Fehlertolerante synchronisationseinrichtung für ein echtzeit-computernetzwerk | |
DE102008045590B3 (de) | Bussystem | |
DE102011051629B3 (de) | Sicherheitsbussystem | |
DE19626184C2 (de) | Vorrichtung zum Betreiben eines Systems mit zwei funktionsmäßig in einem Rechner parallel geschalteten Prozessoren | |
DE10302456A1 (de) | Vorrichtung für sicherheitskritische Anwendungen und sichere Elektronik-Architektur | |
DE69737573T2 (de) | Redundantes Datenverarbeitungssystem | |
EP1287435B1 (de) | Vorrichtung und verfahren zur synchronisation eines systems von gekoppelten datenverarbeitungsanlagen | |
DE3918962C2 (de) | System mit mehreren asynchron arbeitenden Rechnern | |
EP1266285B1 (de) | Rechnerknotenarchitektur mit dediziertem middleware prozessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: DAIMLER-BENZ AEROSPACE AKTIENGESELLSCHAFT, 80804 M |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: DAIMLERCHRYSLER AEROSPACE AKTIENGESELLSCHAFT, 8099 |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: ASTRIUM GMBH, 85521 OTTOBRUNN, DE |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: EADS SPACE TRANSPORTATION GMBH, 28199 BREMEN, DE |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: ASTRIUM GMBH, 85521 OTTOBRUNN, DE |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: ASTRIUM GMBH, 82024 TAUFKIRCHEN, DE |
|
R071 | Expiry of right | ||
R071 | Expiry of right |