GEI entwickelt ausfallsicheres Rechnerkonzept auf PC-Basis:

Fehlertolerante Mikros drängen in Mini-Domäne

16.12.1983

Fehlertoleranz bei Superminis und Großrechnern heute kaum noch ein Thema, ist für Mikrocomputer-Anbieter noch ein jungfräuliches Gebiet. Mit wachsender Dezentralisierung übernehmen aber auch die PCs zunehmend kritische Funktionen etwa bei Steuerungsaufgaben Im Fertigungsbereich. Das Aachener Systemhaus GEI entwickelte jetzt einen Mikro, der durch dreifache Hardwareauslegung die Ausfallsicherheit drastisch steigert und sich somit für kritische Anwendungen favorisiert. GEI-Mitarbeiter Dr. Günter Bleimann-Gather beschreibt das Konzept und die Anwendungsmöglichkeiten der "Safeguard"-Rechner.

Bei vielen Aufgaben, die Mikros heute bewältigen, sind Rechnerausfälle teuer oder gar gefährlich. Das GEI-Rechnersystem umfaßt mindestens drei oder allgemein 2n + 1 parallel laufende GEICOM-Rechner mit je einem Fehlertoleranzcontroller und vergleicht ständig die Ausgaben dieser Prozessoren: tritt ein Fehler in einer Einheit auf, so schaltet das System diese Einheit ab, und arbeitet ohne Informationsverlust weiter.

Es gibt viele Einsatzgebiete der Informationsverarbeitung und Automatisierungstechnik, in denen aus Kosten- oder Sicherheitsgründen der Ausfall eines Rechners unbedingt vermieden werden muß. Beispiele findet man regelmäßig bei Anlagen, die kostspielige Produktionsmaschinen steuern und überwachen, die Aufgaben in Kernkraftwerken übernehmen, die Verkehrssysteme leiten oder die in der Medizin eingesetzt sind. Da aber jeder Rechner, ganz gleich wie gut durchdacht und konstruiert, die Eigenschaft hat, gelegentlich schlicht auszufallen und nicht mehr zu funktionieren, gibt es nur einen Weg, die Verfügbarkeit zu garantieren: Man läßt mehrere Rechner gleichzeitig die gleiche Aufgabe bearbeiten. Tritt in einem Rechner, aus welchen Gründen auch immer, ein Fehler auf, so können die anderen dies feststellen, ihn von der Bearbeitung ausschließen und die Aufgabe allein bearbeiten.

Safeguard, die Mikroprozessorlösung der GEI, ist ein solches "fehlertolerantes" System, hat also die Eigenschaft, auch beim Auftreten eines Hardwarefehlers ein korrektes Ergebnis zu liefern. Ein kleines Rechenbeispiel soll zeigen, wie sehr die Stillstandzeit eines solchen fehlertoleranten Systems gegenüber herkömmlichen Einfach-Rechnern schrumpft:

Man geht von einem Prozessor aus, bei dem im Mittel zwischen zwei korrigierbaren Fehlern (Softerrors) 100 Stunden und zwischen zwei nur durch Reparaturen behebbaren Fehlern 1000 Stunden vergehen.

Aus diesen Annahmen ergibt sich eine Stillstandzeit von 132 Stunden in fünf Jahren.

Bei einem fehlertoleranten System, das auf drei gleichen Prozessoren basiert, sieht die Rechnung wesentlich günstiger aus. Das System ist nur dann nicht mehr verfügbar, wenn zwei Prozessoren gleichzeitig ausfallen, die Wahrscheinlichkeit dafür ergibt sich im wesentlichen durch Multiplikation der beiden Einzelwahrscheinlichkeiten für den Ausfall. Eine genaue Rechnung zeigt:

Die mittlere Stillstandzeit schrumpft hier auf ganze zwei Stunden in fünf Jahren. Durch Aneinanderkopplung von noch mehr Prozessoren kann sie noch weiter gedrückt werden, theoretisch gar unter jeden beliebigen, vorgegebenen Wert.

Wie wird nun diese Fehlertoleranz im Rechnersystem erreicht? Sicher genügt es nicht, zwei Prozessoren parallel laufen zu lassen. Es muß eine Logik vorhanden sein, die Fehlerzustände in einem Prozessor erkennt und die Kontrolle an das einwandfrei arbeitende System übergibt. Diese Logik hat zwei Aufgaben:

1. Fehler müssen erkannt werden

Hier arbeitet Safeguard nach dem Prinzip "Vergleich mit Mehrheitsentscheid". Dazu müssen alle Vergleichswerte mindestens 3-fach vorhanden sein und alle drei Systeme zeitlich synchron laufen. Safeguard nimmt als Vergleichswerte die Bus-Zugriffe her und stellt sicher, daß diese immer synchron erfolgen. Safeguard prüft dann den zeitlichen Abstand dieser Bus-Zugriffe (Read-Write) und die Ergebnisse am Ausgang des Systems. Safeguard läßt nur einen solchen GEICOM-Rechner die Steuerung übernehmen, dessen Ausgangswerte mit mindestens einem weiteren GEICOM übereinstimmen.

2. Fehler müssen korrigiert werden

Liefert ein GEICOM andere Werte als die beiden anderen Rechner, so werden seine Ergebnisse ignoriert. Das Safeguard-System versucht dann, während des normal weiterlaufenden Betriebs, den Zustand der intakten Systeme in das fehlerhafte zu kopieren und auf diese Weise identische Systemzustände wiederherzustellen. Mißlingt dies auch nach wiederholten Versuchen, so teilt Safeguard das dem Operator mit: wahrscheinlich liegt dann ein Hardwarefehler vor, der durch Auswechseln einer Platine behoben werden kann. All dies spielt sich natürlich bei laufendem Betrieb des Systems ab.

Ist die Reparatur beendet so führt Safeguard den Kaltstart des fehlerhaften Systems durch, transferiert den Speicherinhalt der intakten Systeme in das zuvor defekte Systeme übernimmt deren Prozessorzustand und gliedert so das ausgefallene System wieder in die laufende Pgrammausführung ein.

Basis der GEI Rechnerfamilie ist ein Einplatinencomputer: auf einer Doppeleuropakarte ist der 16-Bit-Prozessor MC 68000 von Motorola, ein VME-Bus-Interface, parallele und serielle Schnittstellen, die Speicherverwaltungseinheit und die Logik für Interrupt, Bus Request sowie Bus-Time-out und Anschluß des Fehlertoleranzcontrollers untergebracht. Die Karte ist in Multilayertechnik mit vier Schichten ausgeführt.

Das VME-Bus-Interface bietet die Möglichkeit, eine große Anzahl von zusätzlichen Karten anzuschließen, insbesondere sind Multiprozessoranwendungen möglich. Zur Lösung spezieller Aufgaben in der Industrieautomation kann die gesamte Palette der Gipsy-Prozeßperipherie an das Mikroprozessorsystem angeschlossen werden.

Die Software des Systems basiert wahlweise auf dem Realtime-Multitasking-Betriebssystem RMS 68K (Motorola) oder auf dem Multiuser-Multitasking-Betriebssystem Xenix.