DE19618105A1 - Rechnersystem und Verfahren zum Betreiben eines Rechnersystems - Google Patents
Rechnersystem und Verfahren zum Betreiben eines RechnersystemsInfo
- Publication number
- DE19618105A1 DE19618105A1 DE19618105A DE19618105A DE19618105A1 DE 19618105 A1 DE19618105 A1 DE 19618105A1 DE 19618105 A DE19618105 A DE 19618105A DE 19618105 A DE19618105 A DE 19618105A DE 19618105 A1 DE19618105 A1 DE 19618105A1
- Authority
- DE
- Germany
- Prior art keywords
- computer
- units
- unit
- computer unit
- software programs
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2035—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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 maintaining the standby controller/processing unit updated
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
Description
Die Erfindung betrifft ein Rechnersystem und ein Verfahren
zum Betreiben eines Rechnersystems, insbesondere eines Rech
nersystems für Landfahrzeuge, welches mehrere redundante
Komponenten aufweist.
In zivilen und militärischen Anwendungen, z. B. in der Flug
technik, bei militärischen Landfahrzeugen, in Kernkraftwer
ken usw., spielt der Einsatz von elektronischen Komponen
ten und Computern zur Unterstützung der Bedienung und Steue
rung durch den Menschen und zur Steigerung der Leistungsfä
higkeit eine immer größere Rolle.
Im Zuge der Automatisierung von Routine- und Steuerungsauf
gaben sowie der Verringerung der Arbeitskräfte werden tradi
tionelle Aufgaben des Menschen zunehmend von Rechnern und
daran angeschlossenen Peripheriegeräten unterstützt bzw.
übernommen. Insbesondere bei so kritischen Anwendungen, wie
den oben genannten, erfordern das Umfeld, in dem die Rechner
arbeiten, sowie die Sicherheitsanforderungen eine maximale
Zuverlässigkeit, die in der Regel durch geeignete Redun
danzmechanismen erreicht werden kann. Andererseits verbieten
es straffe Kostenvorgaben im Verteidigungs- wie im Zivilbe
reich häufig, technisch aufwendige Lösungen, wie die Mehr
fachauslegung von Systemen, zur Erhöhung der Zuverlässigkeit
einzusetzen.
Für den Einsatz von Rechnern in sicherheitskritischen Berei
chen, wie der Avionik oder der Kernkraftwerkstechnik, sind
Systeme bekannt, mit denen eine Redundanz und Auswahlsicher
heit von Rechnern bzw. Rechnerverbunden erreicht wird. Bei
diesen Systemen werden sicherheitskritische Baugruppen, zu
denen gerade die Rechner selbst gehören, mehrfach ausgelegt.
Wenn der Ausfall einer Baugruppe erkannt wird, bewirkt ein
geeigneter Steuermechanismus, daß eine zusätzliche Ersatz
baugruppe die Aufgabe der ausgefallenen Baugruppe übernimmt.
Diese Ersatzbaugruppe wird nur für den Zweck der Redundanz
bereitgehalten und ist normalerweise nicht aktiviert. Durch
diese Mehrfachauslegung der Systeme entstehen jedoch sehr
hohe Kosten. Die mehrfach bereitgestellte Hardware, die im
ungestörten Betrieb nicht genutzt wird, stellt ferner eine
große Resourcenverschwendung dar.
Es ist somit eine Aufgabe der vorliegenden Erfindung, ein
Rechnersystem und ein Verfahren zum Betreiben des Rechnersy
stems anzugeben, die insbesondere für sicherheitskritische
Anwendungen eine zufriedenstellende Ausfallsicherheit ge
währleisten, ohne zu einem erheblichen Mehraufwand an Hard
ware und somit Kosten zu führen.
Diese Aufgabe wird durch ein Verfahren nach Anspruch 1 und
ein Rechnersystem nach Anspruch 9 gelöst.
Die Erfindung sieht ein redundantes Rechnersystem vor, das
aus mehreren Rechnereinheiten besteht, die über schnelle
Datenverbindungsbusse miteinander verbunden sind. Die Soft
ware-Programme, welche auf den jeweiligen Rechnereinheiten
laufen, sind in einem Massenspeicher oder in einem Arbeits
speicher jeweils jeder Rechnereinheit gespeichert. Bei Aus
fall einer Rechnereinheit bzw. eines Rechners kann dessen
Aufgabe vollständig von anderen, im System vorhandenen Rech
nern übernommen werden. Hierfür werden die Programme des
ausgefallenen Rechners entweder insgesamt in einem anderen
Rechner des Systems gestartet, oder sie werden auf mehrere
Rechner in dem System verteilt. Zu einem gegebenen Zeitpunkt
ist dabei jeweils nur eine Version eines Anwendungsprogramms
in einer Rechnereinheit aktiv.
Während des Betriebs wird zyklisch der Status, z. B. in der
Software vereinbarte globale und statische Variable, über
den schnellen Datenverbindungsbus an die anderen Rechnerein
heiten übertragen. Die Rechnereinheiten speichern den emp
fangenen Status. Somit stehen jeder Rechnereinheit zu jedem
Zeitpunkt sowohl die Software-Programme aller Rechnereinhei
ten als auch die aktuelle Information über den Status dieser
Programme zur Verfügung.
Auch bei Ausfall mehrerer Rechner bleibt das Gesamtsystem
noch funktionsfähig, weil jede Rechnereinheit jede andere
ersetzen und deren Software-Programme mit den aktuellen Va
riablen starten und abarbeiten kann. Sogar bei Ausfall aller
Rechner bis auf einen kann der Betrieb fortgesetzt werden,
weil jeder Rechner die Software und den aktuellen Status der
anderen Rechner kennt und starten kann, wobei in diesem Fall
jedoch die Leistungsfähigkeit des Gesamtsystems herabgesetzt
sein kann.
Zur Erreichung der Redundanz müssen bei der Erfindung keine
Systemkomponenten vorgehalten werden, die für den regulären,
ungestörten Betrieb nicht benötigt werden; vielmehr ist jede
Rechnereinheit in Betrieb, dabei jedoch so ausgelegt, daß
sie die Funktion anderer Rechnereinheiten übernehmen kann.
Dadurch entsteht ein erheblicher Vorteil gegenüber den be
kannten Lösungen.
Vorzugsweise sind die verwendeten Rechnereinheiten im we
sentlichen identisch aufgebaut, was die Beschaffung, Wartung
und Pflege der Rechnereinheiten vereinfacht.
Erfindungsgemäß sind zwei bevorzugte Verfahren zur Ermitt
lung des Rechners, der die Aufgabe eines ausgefallenen Rech
ners übernehmen soll, vorgesehen. Bei einer ersten Variante
sind die Regeln für die Übernahme in tabellenartiger Form im
voraus festgelegt und als Datei in allen Rechnereinheiten
gespeichert. Bei einer alternativen Variante ermittelt jede
Rechnereinheit zyklisch ihren Auslastungsgrad und sendet
diesen zu allen anderen Rechnern. Die Auslastungsgrade der
einzelnen Rechnereinheiten werden verglichen, und die
Rechnereinheit mit der geringsten Auslastung übernimmt die
Aufgabe der ausfallenden Rechnereinheit. Der Auslastungsgrad
kann entweder zyklisch ermittelt werden oder immer dann,
wenn eine Störung auftritt und die Aufgaben eines Rechners
von einem anderen übernommen werden müssen.
Die Software-Programme, welche ursprünglich auf einem ge
störten Rechner gelaufen sind, können von einer Rechnerein
heit übernommen oder auf mehrere Rechnereinheiten verteilt
werden. Bei den eingesetzten Rechnern handelt es sich vor
zugsweise um sogenannte Multi-Tasking-Rechner. Multi-
Tasking-Rechner können gleichzeitig parallel mehrere Pro
gramme, z. B. zur Steuerung unterschiedlicher Peripheriegerä
te, abarbeiten. Diese verschiedenen Programme werden bei
Ausfall des Rechners zweckmäßigerweise auf mehrere der ver
bleibenden Rechnereinheiten verteilt, um eine möglichst
gleichmäßige Auslastung des Gesamtsystems zu erreichen.
Bei einer besonders vorteilhaften Variante der Erfindung
werden die Software-Programme aller Rechnereinheiten beim
Systemstart jeweils in den Arbeitsspeicher der anderen Rech
nereinheiten geladen und gestartet, jedoch im Regelfall
nicht aktiviert. Das heißt, daß zu einem gegebenen Zeitpunkt
immer nur eine Version jedes Software-Programms aktiv ist
und somit an der Rechenverarbeitung und dem Datenverkehr
teilnimmt. Bei Ausfall einer Rechnereinheit wird dann eine
andere Version desselben Software-Programms, das auf dem
ausgefallenen Rechner lief, aktiviert. Daraus ergibt sich
eine schnellere Reaktionszeit bei Störungen von einzelnen
Rechnereinheiten.
Der Datenbus zwischen den Rechnereinheiten ist vorzugsweise
eine aus dem Stand der Technik an sich bekannte Hochge
schwindigkeitsdatenverbindung, womit hier Datenverbindungen
mit einer Übertragungsrate von mindestens 10 Mbit/s ver
standen werden sollen.
Gemäß einer besonders vorteilhaften Ausführungsform der Er
findung ist jede Rechnereinheit über einen zugeordneten Pe
ripheriebus mit Peripheriegeräten verbunden. Sie sendet und
empfängt Signale zu und von den Peripheriegeräten, die von
der Software weiterverarbeitet werden. Die Vernetzung von
Peripheriegeräten über Peripheriebusse ist an sich z. B. aus
der Automatisierungstechnik bekannt. Erfindungsgemäß befin
det sich jeweils zwischen zwei Peripheriebussen ein elektro
nisch steuerbarer Schalter, über den die Peripheriebusse
derart miteinander verbunden werden können, daß zwei Rech
nereinheiten, denen die beiden Peripheriebusse jeweils zu
geordnet sind, Zugriff auf beide Peripheriebusse und die
angeschlossenen Peripheriegeräte haben. Somit kann eine
Rechnereinheit nicht nur die Software-Programme, einschließ
lich dem aktuellen Status einer anderen Rechnereinheit über
nehmen, sondern auch auf deren Peripheriegeräte zugreifen.
Die vorliegende Erfindung ist besonders vorteilhaft bei sol
chen Fahrzeugen und Anlagen einsetzbar, welche auf eine
Vielzahl von Sensoren, Aktuatoren, Anzeigen, Bedienelemente
und dergleichen zugreifen und diese steuern und die besonde
ren Sicherheitsanforderungen unterliegen, wie militärische
Landfahrzeuge. Die vorliegende Erfindung schafft eine Redun
danz der Systemkomponenten, ohne einzelne Komponenten aus
schließlich für den Ersatz ausgefallener Komponenten vorzu
halten. Dadurch können besonders kostengünstige Systeme ent
worfen werden, die genauso zuverlässig sind, wie die Systeme
mit Mehrfachauslegung nach dem Stand der Technik.
Durch die offene Struktur ist das erfindungsgemäße Rechner
system ferner leicht um zusätzliche Funktionen erweiterbar.
Diese werden lediglich an den Datenbus angeschlossen, und
ihre zugeordneten Peripheriebusse werden über Schalter mit
den Peripheriebussen der anderen Rechnereinheiten verbunden.
Weitere Vorteile und Merkmale der vorliegenden Erfindung
ergeben sich aus der folgenden detaillierten Beschreibung
mit Bezug auf die Zeichnung. In den Figuren zeigen:
Fig. 1 eine schematische Darstellung eines Rechnersystems
gemäß der vorliegenden Erfindung,
Fig. 2 eine schematische Darstellung einer Rechnereinheit,
und
Fig. 3 eine ähnliche Ansicht wie Fig. 1, wobei jedoch eine
ausgefallene Rechnereinheit gestrichelt gezeichnet
ist.
Fig. 1 zeigt eine beispielhafte Ausführungsform der vorlie
genden Erfindung. Diese besteht aus zwei oder mehr, bei dem
gezeigten Beispiel drei Rechnereinheiten 1, 2 und 3, welche
über einen schnellen Datenverbindungsbus 4, 5 und 6 mitein
ander verbunden sind. Der Datenverbindungsbus 4, 5, 6 kann
ein ringförmiger Bus sein, auf den die jeweiligen Rechner
einheiten 1, 2 und 3 zugreifen, oder er kann, wie in Fig. 1
gezeigt, aus einzelnen Datenverbindungen 4, 5, 6 bestehen,
welche jeweils zwischen zwei Rechnereinheiten bestehen.
Bei dem Datenverbindungsbus handelt es sich vorzugsweise um
eine Hochgeschwindigkeitsverbindung mit einer Übertragungs
rate von mindestens 10 Mbit/s.
Die Rechnereinheiten sind bei der gezeigten Ausführungsform
im wesentlichen gleich aufgebaut. Eine Rechnereinheit be
steht im wesentlichen aus den Baugruppen, die in Fig. 2
schematisch gezeigt sind. In einer Gehäuseeinheit 30 mit
rechnerüblichen Einbauten, z. B. Netzteil und Backplane, be
finden sich die Baugruppen Zentraleinheit mit Hauptspeicher
und CPU 31, Massenspeicher und Controller 32, eine Schnitt
stellenbaugruppe 33, welche für den Anschluß an die schnelle
Datenverbindung 4, 5 und 6 dient, und eine Schnittstellen
baugruppe 34, welche für den Anschluß an die Peripheriebusse
7, 8 und 9 dient.
Diese Baugruppen entsprechen dem Stand der Technik, und sie
werden daher hier nicht weiter spezifiziert. Die schnellen
Datenverbindungen 4, 5 und 6 bzw. der Datenverbindungsbus
sind mit den nach dem Stand der Technik üblichen Mitteln
aufgebaut, z. B. mit Glasfaserkabeln oder Kupferleitungen.
An jede Rechnereinheit 1, 2 und 3 ist, wie in Abb. 1
gezeigt, ein Peripheriebus 7, 8 und 9 angeschlossen, an de
nen wiederum Peripheriegeräte 13 bis 25 angeschlossen sind.
Diese Peripheriegeräte stellen die Schnittstellen zwischen
den Rechnereinheiten und der Umwelt dar, und sie umfassen
Sensoren, Aktuatoren, Anzeigen, Bedienelemente, Bediengeräte
und dergleichen. Die Art und Anzahl der Peripheriegeräte
hängt ab von der Funktion, die von der jeweiligen Rechner
einheit in Verbindung mit den Peripheriegeräten erfüllt wer
den soll. Typische Bedienelemente bei Landfahrzeugen sind
z. B. Lenkhändel, Gas- und Bremspedal, Richtgriff zur Steue
rung von Sichtgeräten usw. Typische Aktuatoren sind Stell
motoren für die Positionierung der Sichtmittel oder zur
Steuerung von Fahrfunktionen.
Die einzelnen Peripheriebusse 7, 8 und 9 sind galvanisch
voneinander getrennt, sie können jedoch durch Schalterbau
gruppen 10, 11 und 12, bei der gezeigten Ausführungsform
paarweise, miteinander verbunden werden. Die Schalterbau
gruppen enthalten steuerbare Schalter, wobei die Steuerung
der Schalter über die Peripheriebusse erfolgt; d. h. jede von
zwei Rechnereinheiten 1 und 2, 2 und 3, 3 und 1, deren Peri
pheriebusse 7 und 8, 8 und 9, 9 und 7 von einer Schalterbau
gruppe 10, 11 bzw. 12 verbunden werden können, kann den ent
sprechenden Schalter öffnen oder schließen. Jede Schalter
baugruppe 10, 12 ist hierfür über zwei Schnittstellen an die
benachbarten Peripheriebusse 7 und 8, 8 und 9, 9 und 7 an
geschlossen.
Das oben beschriebene System wird erfindungsgemäß nach dem
im folgenden beschriebenen Verfahren betrieben, um bei Stö
rung oder Ausfall einer Rechnereinheit deren Funktion auf
andere zu übertragen, ohne die Funktionsfähigkeit des Ge
samtsystems zu beeinträchtigen.
Zunächst ist die Arbeitsweise des Rechnersystems im Normal
zustand beschrieben, d. h. bei Funktionsfähigkeit aller Rech
nereinheiten; dann wird das Verfahren beschrieben, das zur
Anwendung kommt, wenn eine Rechnereinheit gestört ist oder
ganz ausfällt.
Im Normalzustand erfüllt jeder Rechner 1, 2, 3 die ihm zuge
wiesene Aufgabe. Das geschieht dadurch, daß auf dem Rechner
ein Software-Programm, oder eine Software, läuft, welches
die Information von den Peripheriegeräten 13 bis 25 empfängt
und verarbeitet und seiner Aufgabe gemäß entsprechende Da
ten, Befehle und dergleichen an die Peripheriegeräte sendet.
Diese Software wird in der Regel automatisch nach dem Ein
schalten jeder Rechnereinheit gestartet. Darüberhinaus be
findet sich auf dem Massenspeicher jeder Rechnereinheit je
eine Kopie der Software-Programme, welche auf den anderen
Rechnereinheiten laufen. Diese Softwarekopie wird im Normal
zustand nicht in den Arbeitsspeicher geladen und nicht akti
viert.
Ein wichtiges Merkmal der Erfindung ist, daß jeder Rechner
zyklisch, z. B. im Abstand von wenigen Sekunden, seinen in
ternen Status über die Hochgeschwindigkeitsdatenverbindung
4, 5 und 6 an alle anderen Rechner sendet. Der interne Sta
tus wird hier repräsentiert durch die Inhalte der in der
Software vereinbarten globalen und statischen Variablen.
Jede Rechnereinheit 1, 2, 3 speichert die empfangenen Daten
der anderen Rechnereinheiten in seinem Speicher, z. B. dem
Hauptspeicher 31 oder dem Massenspeicher 32. Ferner führt
jede Rechnereinheit zyklisch einen Selbsttest durch. Das
Ergebnis dieses Selbsttests wird ebenfalls über die schnelle
Datenverbindung 4, 5, 6 zu den anderen Rechnern gesendet.
Jeder Rechner empfängt diese Selbsttest-Meldungen der ande
ren Rechner und analysiert sie. Außerdem wird überprüft, ob
innerhalb einer vorher vereinbarten Zeit eine Selbsttest-
Meldung empfangen wird (Watchdogfunktion).
Tritt in einem Rechner eine Störung auf, die den Rechner
daran hindert, seine Aufgabe korrekt auszuführen, meldet
dieser seine Störung in der zyklisch gesendeten Selbsttest-
Meldung. Falls der Rechner so stark gestört ist, daß er kei
ne Meldung mehr senden kann, z. B. bei einem Totalausfall,
wird von den anderen Rechnereinheiten das Ausbleiben der
Meldung durch die Watchdogfunktion erkannt.
Zur Veranschaulichung ist die Ausfallsituation in Fig. 3
dargestellt. Hier wird angenommen, daß die Rechnereinheit 3
ausfällt. Sie ist daher gestrichelt gezeichnet. Sobald die
anderen Rechner 1, 2 eine Störung bzw. den Ausfall des Rech
ners 3 erkannt haben, wird mit einem der unten näher be
schriebenen Verfahren ein Rechner ermittelt, welcher die
Aufgabe des ausgefallenen übernehmen soll. Dieser Rechner,
z. B. Rechner 2, lädt die Kopie der Software, die auf dem
ausgefallenen Rechner gelaufen ist, d. h. in diesem Fall die
Kopie der Software des Rechners 3, von seinem Massenspeicher
32 in seinen Arbeitsspeicher 31 und startet sie. Durch die
Verwendung eines Multi-Tasking-Betriebssystems auf allen
Rechnern wird hierbei die Ausführung der bis dahin laufenden
Software nicht unterbrochen. Beim Starten der neuen Software
(des Rechners 3) werden die zuletzt von diesem ausgefallenen
Rechner 3 gesendeten Statusdaten als Initialisierungswerte
der globalen und statischen Variablen der Software verwen
det. Dadurch ist der Betriebszustand der Software praktisch
identisch mit dem Stand, den der ausgefallene Rechner 3 kurz
vor der Störung hatte. Ferner schickt der "Ersatzrechner" 2
über seinen zugeordneten Peripheriebus 8 einen Befehl an die
Schalterbaugruppe 11, um die Verbindung zwischen den Peri
pheriebussen 8 und 9 zu schließen. Damit hat der Rechner 2
Zugriff auf alle Peripheriegeräte 17 bis 21, die ursprüng
lich von dem gestörten Rechner 3 verwaltet wurden. Somit
kann der Rechner 2 die Aufgabe des gestörten oder ausgefal
lenen Rechners ohne Einschränkung und ohne Datenverlust wei
terführen.
Die Rechenleistung der Rechnereinheiten 1, 2, 3 wird beim
Entwurf vorzugsweise so gewählt, daß die Mehrbelastung der
CPU keine störenden Leistungsverluste verursacht. Bei einer
alternativen Ausführungsform kann vorgesehen sein, die Soft
ware-Programme eines gestörten Rechners auf mehrere der un
gestörten Rechner zu verteilen, so daß eine gleichmäßigere
Auslastung der ungestörten Rechnereinheiten erzielt wird.
Insbesondere für den Worst-Case, daß alle Rechnereinheiten
bis auf eine ausfallen, ist es ferner zweckmäßig den einzel
nen Software-Programmen Prioritäten zuzuweisen, so daß bei
einer Überlastung der verbleibenden, ungestörten Rechnerein
heit gewährleistet ist, daß die Software-Programme höchster
Priorität weiterlaufen können.
Für die Ermittlung des oder der Rechner, welche die Aufgabe
eines ausgefallenen Rechners übernehmen sollen, können fol
gende Verfahren eingesetzt werden:
Bei einer ersten Ausführungsform wird bei dem Entwurf des Systems für alle denkbaren Kombinationen von Rechnerausfäl len festgelegt, welcher Rechner welche Aufgaben oder Pro gramme übernehmen soll. Diese Festlegung kann z. B. in Form einer Tabelle dargestellt werden. In jedem Rechner ist diese Tabelle als Datei gespeichert. Bei Ausfall eines Rechners ermitteln die anderen Rechner auf der Basis dieser Tabelle, welcher Rechner die Aufgabe des ausgefallenen Rechners über nehmen soll bzw. auf welchen Rechnern welche Software-Pro gramme des ausgefallenen Rechners gestartet werden sollen.
Bei einer ersten Ausführungsform wird bei dem Entwurf des Systems für alle denkbaren Kombinationen von Rechnerausfäl len festgelegt, welcher Rechner welche Aufgaben oder Pro gramme übernehmen soll. Diese Festlegung kann z. B. in Form einer Tabelle dargestellt werden. In jedem Rechner ist diese Tabelle als Datei gespeichert. Bei Ausfall eines Rechners ermitteln die anderen Rechner auf der Basis dieser Tabelle, welcher Rechner die Aufgabe des ausgefallenen Rechners über nehmen soll bzw. auf welchen Rechnern welche Software-Pro gramme des ausgefallenen Rechners gestartet werden sollen.
Gemäß einer zweiten Ausführungsform ermitteln alle Rechner
laufend ihren Auslastungsgrad. Dieser wird den anderen Rech
nern entweder zyklisch oder bei Bedarf, d. h. bei Auftreten
einer Störung, mitgeteilt. Bei Ausfall eines Rechners über
nimmt dann automatisch der Rechner mit der geringsten Aus
lastung dessen Aufgaben.
Das erörterte Ausführungsbeispiel der vorliegenden Erfindung
bezog sich auf eine Konfiguration mit drei Rechnereinheiten
und den Ausfall der Rechnereinheit 3. Das dargelegte
Beispiel ist selbstverständlich übertragbar auf Systeme mit
zwei, vier oder mehr Rechnern, auf den Ausfall einer belie
bigen anderen Rechnereinheit sowie auf den Ausfall von mehr
als einer Rechnereinheit, solange noch mindestens eine Rech
nereinheit funktionsfähig ist. Es wird erwartet, daß Rech
nersysteme mit 3 bis 4 Rechnereinheiten eine gute Betriebs
sicherheit bei vertretbarem Verwaltungsaufwand und Kosten
ergeben. Auf jedem Rechner können gleichzeitig parallel meh
rere Programme laufen.
Anstatt die Aufgaben eines Rechners vollständig an einen
anderen Rechner zu übertragen, kann, wie gesagt, auch vor
gesehen sein, dessen Aufgaben auf mehrere verbleibende Rech
ner zu verteilen. Die Aufgabenverteilung ist bei einer Aus
führungsform im voraus in einer Tabelle festgelegt, sie kann
auch gemäß eines Algorithmus ermittelt werden. Die Schalter
baugruppen 10, 11, 12 der Peripheriebusse werden so geschal
tet, daß jeder Rechner, der eine Aufgabe oder Teilaufgabe
des oder der ausgefallenen Rechner übernimmt, Zugriff auf
deren Peripheriebusse haben.
Anstelle der ringförmigen Anordnung der Peripheriebusse 7, 8
und 9 kann z. B. auch eine sternförmige Anordnung vorgesehen
werden, bei der die Peripheriebusse bei einem entsprechenden
Knotenpunkt miteinander verbunden werden können.
Im folgenden ist eine vorteilhafte Modifikation des erfin
dungsgemäßen Verfahrens beschrieben. Bei der Übernahme der
Aufgabe eines ausgefallenen Rechners durch einen anderen
entsteht eine Zwischenphase, in der die Aufgabe nicht ausge
führt wird. Diese dauert vom Ausfall des Rechners über die
Erkennung des Ausfallzustands durch die anderen Rechner, das
Schalten der Peripheriebusse, bis zur Beendigung des Start
vorgangs der entsprechenden Software des ausgefallenen Rech
ners auf dem Ersatzrechner. Während sich die erste Phase bis
zum Erkennen des Ausfalls in der Praxis beliebig verkürzen
läßt, indem die Wiederholrate der Selbsttestmeldung erhöht
sowie entsprechend die Zeitkonstante der Watchdogfunktion
verringert wird, hängt die Dauer des Startvorgangs der Soft
ware von zahlreichen Parametern, wie der Komplexität der
Software und der Schnelligkeit und Leistungsfähigkeit des
Massenspeichers und der Zentraleinheit ab. Als eine vorteil
hafte Alternative zu dem oben beschriebenen Verfahren wird
daher vorgeschlagen, nach Einschalten der Rechner alle Soft
ware-Programme, die für die Ausführung der unterschiedlichen
Aufgaben benötigt werden, in die Hauptspeicher alle Rechner
einheiten zu laden. Die geladenen Programme werden dann alle
bis auf das, welches die ursprüngliche Aufgabe der jeweili
gen Rechnereinheit durchführt, in einen passiven Zustand
oder Ruhezustand versetzt. Bei Übernahme der Funktion eines
ausgefallen Rechners braucht dann nur noch das entsprechende
Programm mit den aktuellsten Daten initialisiert und akti
viert werden. Der langwierige Lade- und Startvorgang ent
fällt, und die Reaktionszeit verkürzt sich.
Bei einem Rechnersystem mit sehr vielen Rechnereinheiten
kann ferner vorgesehen sein, daß nicht jede Rechnereinheit
Kopien der Software-Programme aller anderen Rechnereinheiten
speichert und gegebenenfalls starten kann, sondern daß vorab
eine Zuordnung in Gruppen festgelegt wird, gemäß derer be
stimmte Rechnereinheiten als "Ersatzrechner" für bestimmte
andere Rechnereinheiten bereitgehalten werden, wodurch der
Speicherbedarf in jeder Rechnereinheit herabgesetzt wird und
die Verbindung der Peripheriebusse überschaubar bleibt.
Die in der vorstehenden Beschreibung, den Ansprüche und der
Zeichnung offenbarten Merkmale können sowohl einzeln als
auch in beliebiger Kombination wesentlich für die Verwirkli
chung der Erfindung sein.
Claims (16)
1. Verfahren zum Betreiben eines Rechnersystems, welches aus
wenigstens zwei Rechnereinheiten (1, 2, 3) besteht, die über
einen Datenbus (4, 5, 6) miteinander verbunden sind, wobei
jede Rechnereinheit einen Speicher (31, 32) hat, mit folgen
den Verfahrensschritten:
- - Speichern einer Kopie der Softwareprogramme, welche auf jeder Rechnereinheit (1, 2, 3) laufen, in anderen Rech nereinheiten (1, 2, 3);
- - zyklisches Übertragen des Status der laufenden Software programme über den Datenbus (4, 5, 6) von jeder Rechner einheit (1, 2, 3) zu den anderen Rechnereinheiten;
- - Speichern des empfangenen Status in den Rechnereinheiten (1, 2, 3); und
- - dann, wenn eine Störung in einer Rechnereinheit (3) auf tritt, Starten der zugehörigen Softwareprogramme auf einer anderen Rechnereinheit (2) oder verteilt auf meh reren anderen Rechnereinheiten (1, 2) unter Verwendung des zuletzt gespeicherten Status.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jede
Rechnereinheit (1, 2, 3) zyklisch einen Selbsttest durchführt
und die Ergebnisse dieses Selbsttests an die anderen Rechner
einheiten überträgt und daß dann, wenn eine Störung in einer
Rechnereinheit (3) erkannt wird, oder dann, wenn nach einer
vorgegebenen Zeitspanne von einer Rechnereinheit (3) kein Er
gebnis übermittelt wird, die Softwareprogramme dieser einen
Rechnereinheit (3) auf der (2) oder den (1, 2) anderen Rech
nereinheit(en) gestartet werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß
zu keinem Zeitpunkt mehr als eine Version eines Softwarepro
grammes aktiviert wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekenn
zeichnet, daß die Rechnereinheiten (2; 1, 2), auf denen die
Softwareprogramme der gestörten Rechnereinheit (3) gestartet
werden, nach Maßgabe einer festen Zuweisung ermittelt werden.
5. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekenn
zeichnet, daß die Rechnereinheiten (1, 2, 3) zyklisch ihre
Auslastung ermitteln und den anderen Rechnereinheiten mittei
len, und daß die Rechnereinheiten (2; 1, 2), auf denen die
Softwareprogramme der gestörten Rechnereinheit (3) gestartet
werden, abhängig von einem Vergleich der Auslastungen der un
gestörten Rechnereinheiten bestimmt werden.
6. Verfahren nach einem der vorangehenden Ansprüche, dadurch ge
kennzeichnet, daß
die Kopie der Softwareprogramme in einem Arbeitsspeicher (31) der Rechnereinheiten (1, 2, 3) gespeichert wird,
im ungestörten Betrieb in jeder Rechnereinheit (1, 2, 3) nur die eigene Version der Softwareprogramme aktiviert wird, und
bei Störung einer Rechnereinheit (3) die kopierte Version de ren Softwareprogramme in dem Arbeitsspeicher (31) einer ande ren Rechnereinheit aktiviert, mit dem zuletzt gespeicherten Status aktualisiert und gestartet wird.
die Kopie der Softwareprogramme in einem Arbeitsspeicher (31) der Rechnereinheiten (1, 2, 3) gespeichert wird,
im ungestörten Betrieb in jeder Rechnereinheit (1, 2, 3) nur die eigene Version der Softwareprogramme aktiviert wird, und
bei Störung einer Rechnereinheit (3) die kopierte Version de ren Softwareprogramme in dem Arbeitsspeicher (31) einer ande ren Rechnereinheit aktiviert, mit dem zuletzt gespeicherten Status aktualisiert und gestartet wird.
7. Verfahren zum Betreiben eines Rechnersystem nach einem der
vorangehenden Ansprüche, dadurch gekennzeichnet, daß die
Rechnereinheiten (1, 2, 3) jeweils mit einem Peripheriebus
(7, 8, 9) verbunden werden und bei Störung einer Rechnerein
heit (3) deren Peripheriebus (9) mit dem Peripheriebus (7, 8)
der anderen Rechnereinheit(en) (1, 2) verbunden wird.
8. Verfahren nach einem der vorangehenden Ansprüche, dadurch ge
kennzeichnet, daß den verschiedenen Softwareprogrammen Prio
ritäten zugewiesen werden, und bei Störung einer Rechnerein
heit (3) die entsprechenden Softwareprogramme nach Maßgabe
der Prioritäten auf der (2) oder den (1, 2) anderen Rechner
einheiten gestartet werden.
9. Rechnersystem, mit
wenigstens zwei Rechnereinheiten (1, 2, 3), einem Datenbus (4, 5, 6) zum Verbinden der Rechnereinheiten, einer Datenschnittstelle (33) in jeder Rechnereinheit zum Übertragen des Status laufender Softwareprogramme über den Datenbus (4, 5, 6) zu den jeweils anderen Rechnereinheiten (1, 2, 3),
einem Speicher (31, 32) in jeder Rechnereinheit zum Speichern einer Kopie der Softwareprogramme, welche auf den jeweils an deren Rechnereinheiten (1, 2, 3) laufen, und zum Speichern des von den anderen Rechnereinheiten (1, 2, 3) übertragenen Status und
einer Steuereinrichtung (31) in jeder Rechnereinheit (1, 2, 3) zum Starten der Softwareprogramme einer anderen Rechner einheit (3) unter Verwendung des zuletzt gespeicherten Sta tus, wenn in dieser anderen Rechnereinheit (3) eine Störung auftritt.
wenigstens zwei Rechnereinheiten (1, 2, 3), einem Datenbus (4, 5, 6) zum Verbinden der Rechnereinheiten, einer Datenschnittstelle (33) in jeder Rechnereinheit zum Übertragen des Status laufender Softwareprogramme über den Datenbus (4, 5, 6) zu den jeweils anderen Rechnereinheiten (1, 2, 3),
einem Speicher (31, 32) in jeder Rechnereinheit zum Speichern einer Kopie der Softwareprogramme, welche auf den jeweils an deren Rechnereinheiten (1, 2, 3) laufen, und zum Speichern des von den anderen Rechnereinheiten (1, 2, 3) übertragenen Status und
einer Steuereinrichtung (31) in jeder Rechnereinheit (1, 2, 3) zum Starten der Softwareprogramme einer anderen Rechner einheit (3) unter Verwendung des zuletzt gespeicherten Sta tus, wenn in dieser anderen Rechnereinheit (3) eine Störung auftritt.
10. Rechnersystem nach Anspruch 9, dadurch gekennzeichnet, daß
jeder Rechnereinheit (1, 2, 3) ein Peripheriebus (7, 8, 9)
zugeordnet ist, und Schaltmittel (10, 11, 12) zum wahlweisen
Verbinden der Peripheriebusse (7, 8, 9) vorgesehen sind.
11. Rechnersystem nach Anspruch 10, dadurch gekennzeichnet, daß
die Schaltmittel (10, 11, 12) steuerbare Schalter aufweisen.
12. Rechnersystem nach Anspruch 10 oder 11, dadurch gekennzeich
net, daß die Schaltmittel (10, 11, 12) für eine paarweise
Verbindung der Peripheriebusse (7, 8, 9) angeordnet sind, so
daß beide Rechnereinheiten (1, 2; 2, 3; 1, 3), die einem Pe
ripheriebuspaar (7, 8; 8, 9; 7, 9) zugeordnet sind, bei ge
schlossenen Schaltmitteln Zugriff auf beide Peripheriebusse
das Paares und daran angeschlossenen Peripheriegeräte (13-16,
17-21, 22-25) haben.
13. Rechnersystem nach einem der Ansprüche 9 bis 12, dadurch ge
kennzeichnet, daß der Datenbus ein Hochgeschwindigkeitsdaten
bus ist.
14. Rechnersystem nach einem der Ansprüche 9 bis 13, dadurch ge
kennzeichnet, daß drei Rechnereinheiten (1, 2, 3) vorgesehen
sind.
15. Rechnersystem nach Anspruch 14, dadurch gekennzeichnet, daß
die Peripheriebusse (7, 8, 9) ringförmig verbunden sind.
16. Rechnersystem nach einem der Ansprüche 9 bis 15, dadurch ge
kennzeichnet, daß jede Rechnereinheit (1, 2, 3) einen Multi
tasking-Rechner aufweist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19618105A DE19618105A1 (de) | 1996-05-06 | 1996-05-06 | Rechnersystem und Verfahren zum Betreiben eines Rechnersystems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19618105A DE19618105A1 (de) | 1996-05-06 | 1996-05-06 | Rechnersystem und Verfahren zum Betreiben eines Rechnersystems |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19618105A1 true DE19618105A1 (de) | 1997-11-13 |
Family
ID=7793453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19618105A Ceased DE19618105A1 (de) | 1996-05-06 | 1996-05-06 | Rechnersystem und Verfahren zum Betreiben eines Rechnersystems |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19618105A1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10357118A1 (de) * | 2003-12-06 | 2005-07-07 | Daimlerchrysler Ag | Laden von Software-Modulen |
DE102007036124A1 (de) * | 2007-08-01 | 2009-02-05 | Conti Temic Microelectronic Gmbh | Fahrzeug mit dynamischen Systemen sowie Verfahren zum dynamischen Durchführen von Fahrzeugfunktionen |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4356546A (en) * | 1980-02-05 | 1982-10-26 | The Bendix Corporation | Fault-tolerant multi-computer system |
-
1996
- 1996-05-06 DE DE19618105A patent/DE19618105A1/de not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4356546A (en) * | 1980-02-05 | 1982-10-26 | The Bendix Corporation | Fault-tolerant multi-computer system |
Non-Patent Citations (2)
Title |
---|
COMPUTER DESIGN, Jan. 1984, Seite 40, 43, 44 * |
KOBUS, S. und andere: Grundzüge der Zentral- steuerung für das Vermittlungssystem Metacouta L, in: Elektrisches Nachrichtenwesen, Bd. 47, No. 3, 1972, S. 157-161 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10357118A1 (de) * | 2003-12-06 | 2005-07-07 | Daimlerchrysler Ag | Laden von Software-Modulen |
DE102007036124A1 (de) * | 2007-08-01 | 2009-02-05 | Conti Temic Microelectronic Gmbh | Fahrzeug mit dynamischen Systemen sowie Verfahren zum dynamischen Durchführen von Fahrzeugfunktionen |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69332185T2 (de) | Bildung und Aufrechterhaltung von Zugriffsgruppen an der Lan/Wan Schnittstelle | |
DE69809254T2 (de) | Architektur eines hybriden echzeitsteuerungssystems und verfahren zu seinem betrieb | |
DE19836347C2 (de) | Fehlertolerantes Computersystem | |
DE69414609T2 (de) | Informationsanzeigesystem zur aktiven redundanten rechnergestützten prozesssteuerung | |
EP2478685B1 (de) | Steuervorrichtung, ein-/ausgabevorrichtung, verbindungsschaltevorrichtung und verfahren für ein flugzeug-steuersystem | |
EP1685451A1 (de) | Redundantes automatisierungssystem zur steuerung einer tech-n ischen einrichtung sowie verfahren zum betrieb eines derar-ti gen automatisierungssystems | |
EP3211533B1 (de) | Fehlertolerante systemarchitektur zur steuerung einer physikalischen anlage, insbesondere einer maschine oder eines kraftfahrzeugs | |
EP1711892B1 (de) | Verfahren zum bestimmen eines übernahmeszenarios der softwareeinheiten bei einem rechnerausfall in einer serverfarm | |
EP1358554B1 (de) | Automatische inbetriebnahme eines clustersystems nach einem heilbaren fehler | |
DE602004010111T2 (de) | Backup-zellensteuerung | |
WO2013007349A1 (de) | Verfahren und system zur dynamischen verteilung von programmfunktionen in verteilten steuerungssystemen | |
DE19983975B3 (de) | Programmierbares Steuersystem und Rücksetz-Steuerverfahren für das programmierbare Steuersystem | |
EP3983897B1 (de) | Verfahren zum sicherstellen und aufrechterhalten der funktion eines sicherheitskritischen gesamtsystems | |
DE19618105A1 (de) | Rechnersystem und Verfahren zum Betreiben eines Rechnersystems | |
EP3538996A1 (de) | Austausch von echtzeitdaten zwischen programmmodulen | |
EP3252549A1 (de) | Verfahren zum betreiben einer automatisierungseinrichtung sowie automatisierungseinrichtung | |
EP1136896A2 (de) | Hochverfügbares Rechnersystem und Verfahren zur Umschaltung von Bearbeitungsprogrammen eines hochverfügbaren Rechnersystems | |
EP1820307B1 (de) | Verfahren zum nachweis der verf]gbarkeit von systemkomponenten eines redundanten kommunikationssystems | |
EP1536328A2 (de) | Datenverarbeitungssystem mit automatisierbarer Verwaltung und Verfahren zur automatisierten Verwaltung eines Datenverarbeitungssystems | |
EP4091054A1 (de) | Verfahren und vorrichtung zum rekonfigurieren eines automatisiert fahrenden fahrzeugs in einem fehlerfall | |
DE19520745C2 (de) | Infrastruktur für ein System von verteilten Objektmanager-Komponenten | |
EP1433061B1 (de) | Verfahren zum überprüfen eines rechnerkerns eines mikroprozessors oder eines mikrocontrollers | |
DE102004061013A1 (de) | Sichere Eingabe-/Ausgabe-Baugruppe für eine Steuerung | |
EP3399375B1 (de) | Verfahren zur konfiguration von steuergeräten | |
DE19520740C2 (de) | Infrastruktur für ein System von verteilten Objektmanager-Komponenten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |