Hohe Ausfallrisiken zwingen Anwender zu Sicherheitsinvestitionen:

Je DV-abhängiger desto mehr Toleranz notwendig

16.06.1983

Von "Nonstop" über "Can't fail" bis hin zu "Go forever" reichen die Aufkleber auf den CPU-Schränken, wenn die Hersteller auf Ihre fehlertoleranten (Ft) Systeme aufmerksam machen wollen. Die Investitionen in derartige Ft-Systeme sollen sich einer Studie der Quantum Science Corp. zufolge in der Bundesrepublik Deutschland binnen fünf Jahren immerhin fast verzehnfachen. Axel Kropp vom Büro für Informatik (BFI), Toppenstedt, setzt sich Im folgenden Beitrag mit den verschiedenen Prinzipien derartiger Systeme auseinander.

Nehmen wir einmal an, die Bundespost verfüge über einen stabilen Bildschirmtext-Dienst und der Vorstand einer großen Bank entscheidet, dem Bankkunden einen 24-Stunden-Service mittels des Rechnerverbundes anzubieten. Der Kunde könnte von zu Hause aus Kontoauszüge sichten, Überweisungen auslösen oder andere bankübliche Serviceleistungen zeitunabhängig in Anspruch nehmen. Welche unverzichtbaren Forderungen müßte die Bank an den in ihrem Hause installierten, sogenannten "externen" Btx-Rechner stellen?

1. Ausfallsicherheit

Ein Btx-System, das nicht rund um die Uhr verfügbar ist, läuft Gefahr, vom Benutzer nicht akzeptiert zu werden.

2. Datenbankintegrität

Transaktionen müssen auch bei Störungen ordnungsgemäß durchgeführt werden, und nie darf die Datenbank unvollständige oder falsche Informationen beinhalten.

3. Erweiterbarkeit

Niemand kann die Benutzerfrequenz, endgültige Ausbaustufe und Teilnehmerzahl vorhersagen. Den. noch muß eine gleichbleibend gute Antwortzeit gewährleistet werden, damit der Bankkunde seinen Bildschirm nicht abschaltet.

Wenn die Bank eine dieser drei Forderungen nicht erfüllt, wird sie ihre Kunden sehr schnell an eine Bank mit dem komfortableren "Home-banking" abgeben müssen. Ein typischer Fall für ein fehlertolerantes, transaktionsorientiertes Onlinesystem - aber kein Einzelfall!

Gleich strenge Maßstäbe müssen auch die Planer anderer ausfallgeschützter Online-Anwendungen wie

- Betriebsdatenerfassung,

- Produktionssteuerung,

- Hochregallager-Steuerung/-Verwaltung,

- Warenbewirtschaftung im Handel mit Kassenterminals,

- Reservierung- und Buchungssysteme für Touristik und Verkehr,

- Büroautomation anlegen.

Datenverarbeitungs-Innovationen nehmen immer bedeutsamen Einfluß auf den Servicegrad der Fachabteilung und somit auf die Wettbewerbssituation des Unternehmens. Die Abhängigkeit vom eingesetzten DV-Konzept wächst, und die kontinuierliche Leistungsbereitschaft der Computer wird zur unabdingbaren Forderung. Die Kosten eines Systemausfalls steigen mit zunehmender Automatisierung. So ist verständlich, daß immer mehr Anwender bereit sein werden, den Preis für eine höhere Verfügbarkeit zu zahlen. Fehlertolerante Systeme (Ft-Systeme) sind dafür die technische Voraussetzung.

In einem Ft-System werden Anwendungen aus der Sicht des Benutzers nicht unterbrochen und weiterhin korrekt ausgeführt, auch wenn Einzelfehler auftreten wie eine defekte CPU, Magnetplatte, Steuereinheit, Kühlung oder Stromversorgung. Der Defekt einer Komponente darf nicht zum Ausfall der Leistung führen; eine Backup-Einrichtung muß die Arbeiten im Fehlerfall automatisch und verzögerungsfrei übernehmen.

Darüber hinaus gibt es partiell fehlertolerante Systeme (fail-soft), bei denen Einzelfehler nicht zum Ausfall des Gesamtsystems führen, es stehen lediglich einzelne Funktionen (zum Beispiel einige Terminals) nicht mehr zur Verfügung. So bietet die Firma Dosc, USA (in der BDR nicht vertreten), ein transaktionsorientiertes Dialogsystem mit fehlertoleranter Datenbank, aber nicht-redundanten CPUs an. (Die wirtschaftlichen Überlegungen, die zu derartigen Kompromissen führen, verlieren mit faulenden Hardwarekosten an Bedeutung. Steigenden Ausfallkosten stehen sinkende Redundanzaufwendungen gegenüber. Diese Tendenz wird die Entscheidung für ausfallgeschützte Systeme erleichtern.)

Fehlertoleranz wird also durch die Bereitstellung redundanter Komponenten gewährleistet, auf die die Funktionen bei Ausfall umorganisiert werden. Bezogen auf die Funktionsbeteiligung der Komponenten ist zwischen folgenden Redundanzformen zu unterscheiden:

- Cold-Standby-Redundanz

Vorhanden sind zwei identische Systeme, wobei nur eine Anlage funktionsbeteiligt ist. Mit einer entsprechenden Verzögerung und einem möglichen Datenverlust wird im Fehlerfall auf das Backup-System umgeschaltet. Dieses Konzept entspricht nicht der obigen Definition von Fehlertoleranz.

- Hot-Standby-Redundanz

Vorhanden sind zwei oder mehrere identische Systeme, wobei nur eines funktionsbeteiligt ist, während die Backup-Systeme mit gleichen Eingabedaten versorgt werden und synchron mitlaufen, ohne jedoch aktiv auf die Ausgabeeinheiten einzuwirken.

- Aktive Redundanz

Autonome Rechnersysteme arbeiten unabhängig voneinander, und zusätzlich kommunizieren sie im lokalen Verbund miteinander, so daß sie sich im Störungsfeld gegenseitig ersetzen können. Die Last ist auf alle Rechner verteilt. Bei Ausfall einer Komponente geht der Betrieb weiter - unter Umständen mit verminderter Leistung. Unter zeitweiliger Zurückstellung unkritischer Batch-Läufe kann zum Beispiel die ursprüngliche Performance für kritische Aufgaben aufrechterhalten werden. Dieses Prinzip hält den Hardwareaufwand für die erhöhte Verfügbarkeit niedrig.

Spürbarer Aufschwung

Fehlertoleranz kann sich nicht nur auf das Verhalten gegenüber Hardwareausfällen beschränken, sondern sollte auch Software- und Bedienungsfehler mit einbeziehen - ein idealer Zustand, der in der Praxis bisher nicht erreicht wird.

Tandem Computers und Olivetti sind derzeit die einzigen Anbieter standardmäßiger Ft-Systeme für die transaktionsorientierte Dialogverarbeitung. Die Tandem-Leute sind mit ihrem "Nonstop"-Konzept die Pioniere in diesem Marktsegment gewesen und sind heute unbestrittene Marktführer (laut Diebold-Statistik bis Dezember 1982 insgesamt 95 Installationen; Zuwachs in 1982: elf Systeme).

Seit April 19 82 vertreibt Olivetti in Europa unter der Bezeichnung "CPS 32" (Continuous Processing System) das Ft-System Stratus /32 der Stratus Inc., USA. In Deutschland hat man bis heute drei Systeme verkauft; die erste Installation ist für September 1983 geplant.

Im Herbst dieses Jahres wird Nixdorf ein Ft-System ankündigen, dessen Architektur dem Tandem-Konzept ähnlich ist. Durch den Markteintritt von Nixdorf wird das Geschäft in diesem Marktsegment einen spürbaren Aufschwung erfahren. So plant man, bereits im Jahre 1984 zirka 80 Systeme bei deutschen Kunden zu installieren. Erstmals wird Nixdorf ein Produkt auch über OEMs und Systemhäuser vertreiben.

Delta - so der Produktname - ist eine gemeinsame Entwicklung von Nixdorf und der amerikanischen Firma Aufragen. Als Betriebssystem wird Unix eingesetzt. Dies könnte in der Startphase zwei zusätzliche Märkte öffnen: Den Hochschulbereich, der bisher primär von Digital Equipment bedient wird, und die Markt für Entwicklungsrechner. Immerhin ist Unix - nach Meinung der Toolfachleute - die beste Basis für leistungsfähige Softwareentwicklungswerkzeuge.

Das Nixdorf-Konzept

Wie bereits erwähnt, ist die Delta-Architektur im Grundsatz der des Tandem-Non-Stop-Systems ähnlich. Aus Gründen der Aktualität soll das Prinzip am Beispiel des Nixdorf-Systems gezeigt werden.

Ein fehlertolerantes Delta-System besteht aus mindestens zwei, maximal 32 "Clustern", die als Mehrrechnerkonfiguration im lokalen Verbund miteinander kommunizieren ("Netzwerk im Schrank"). Jeder Cluster ist bereits ein autonomer, noch nicht fehlertoleranter Multiprozessorcomputer mit parallel arbeitenden Prozessoren und mit eigener Unix-Betriebssystem.

Durch zwei Verarbeitungsprozessoren wird eine verbesserte Performance im Cluster erreicht. Prozessoren und Controller basieren auf Prozessoren der Mikroprozessorfamilie 68000 von Motorola (32-Bit-Architektur). Der Messageprozessor jedes Clusters ist mit den Messageprozessoren aller anderen Cluster über einen redundanten, parallel arbeitenden Systembus mit einer Geschwindigkeit von 2 mal 16 Megabyte pro Sekunde verbunden.

Jedes Ein-/Ausgabegerät ist über eine Zwei-Wege-Steuereinheit an zwei unabhängige E-/A-Busse gekoppelt (redundante Übertragungswege). Die Steuerung liegt jeweils bei einem Cluster. Fällt dieser aus, übernimmt ein anderer Cluster sofort die Steuerung.

Alle Daten werden spiegelbildlich auf zwei physikalisch getrennten Magnetplattenlaufwerken gespeichert, die wiederum über zwei physikalisch getrennte Steuereinheiten an zwei Cluster gekoppelt sind. Fällt ein Laufwerk aus, sind die Informationen nicht verloren, da der Betrieb mit der gespiegelten Einheit ohne Verzögerung fortgesetzt wird.

Prozesse (aktive Programme) eines Clusters können über Messageprozessor/Systembus mit Prozessoren anderer Cluster Nachrichten austauschen und systemweit auf die Peripherie anderer Cluster zugreifen. So läßt sich zum Beispiel auch eine Transaktion "aufbrechen", um sie auf mehrere Cluster zu verteilen - sogar auf mehrere geographisch verteilte Knoten eines homogenen Delta-Netzwerkes.

Das Messagesystem ist darüber hinaus die Basis für ausfallgeschützte Software. Wie die Hardware, so hat auch die Software ihre Backup-Komponenten. Das Betriebssystem erzeugt für ein ausfallsicheres Programm den jeweiligen Backup-Prozeß in einem zweiten Cluster.

Die Backup-Prozesse sind nicht aktiv, so daß die Kapazität ihres Clusters für weitere Primärprozesse genutzt werden kann. Der Backup-Prozeß soll lediglich über die Arbeiten des primären informiert sein, so daß er im Fehlerfall verzögerungsfrei die Arbeiten weiterfahren kann. Das Betriebssystem synchronisiert die Prozeßpaare, indem der Primäre eine "Interprozeß-Message" an den Backup sendet. Weiterhin informiert das Betriebssystem die Prozesse eines Clusters über den Ausfall eines anderen Clusters. Hardwareseitig sind die CPUs nach dem oben beschriebenen Prinzip der "aktiven Redundanz" konfiguriert; alle Einheiten sind funktionsbeteiligt.

Das Stratus/Olivetti-Konzept

Während Tandem wie auch Nixdorf Fehlertoleranz über Softwarefunktionen erreichen, hat Stratus das Problem mittels Hardware auf Board-Niveau gelöst. Das Prinzip entspricht der oben erwähnten "Hot-Standby-Redundanz".

Jedes Board des CPS/32 ist eine in sich geschlossene Funktionseinheit, die mit dem Bus nur geprüfte Informationen austauscht.

Auf jedem Board ist die Logik jeweils doppelt vorhanden. Jedes CPU-Board enthält zum Beispiel zwei Mikroprozessoren (Motorola 68000), die zur gleichen Zeit die gleichen Instruktionen Ausfuhren. Nach jedem Zyklus werden im "Self-Checking"-Verfahren beide erzeugte Signale auf Gleichheit geprüft. Da die Speisung beider Prozessoren mit identischen Daten erfolgte, ist bei Gleichheit der verarbeitenden Daten die Verarbeitung mit höchster Wahrscheinlichkeit fehlerfrei erfolgt.

Die Identität der Ausgangsdaten wird von einem Komparator geprüft. Im Falle der Ungleichheit wird das Board isoliert, damit der Fehler sich nicht fortpflanzen kann. Eine rote Alarmleuchte kennzeichnet das defekte Board. Bis zu diesem Punkt ist das System noch nicht fehlertolerant. Nun hat aber jedes Board ein identisches Backup-Board, das taktgenau die gleichen Verarbeitungen durchfuhrt und das Doppel-Bus-System redundant speist.

Es arbeiten in einem fehlertoleranten Board-Paar also immer vier gleiche Logik-Einheiten synchron. Ein einzelnes CPU-Board enthält allerdings bereits vier Prozessoren, da Anwendungs- und Systemprozesse zur Erhöhung der Leistung auf getrennten Prozessoren laufen.

Im fehlerfreien Betrieb werden die beiden Bus-Systeme I und II parallel gespeist. Wird ein Board aufgrund eines Fehlers vom Bus isoliert, erhalten beide Bus-Systeme die Daten vom Backup-Board. Jedes Board blockiert sich im Fehlerfalle selbst, vorausgesetzt, der Komparator ist funktionsfähig; immerhin ist er auf dem Board nicht redundant. Um diese Lücke zu schließen und um flüchtige Fehler von bleibenden Fehlern zu unterscheiden, unterzieht das Betriebssystem zyklisch nacheinander alle Boards einer Diagnose.

Gedoppelte Boards (CPU, Memory, Peripherie- und Kommunikations-Controller) bilden zusammen mit dem gedoppelten Bus ein fehlertolerantes "Processing Module".

Maximal 32 "Processing Modules" können bis zu einer Entfernung von 4000 Metern mittels Koaxialkabel über den sogenannten "Stratalink" (Geschwindigkeit 2 mal 1,4 Megabyte pro Sekunde) als homogenes Mehrrechnersystem konfiguriert werden.

Unter Stratanet werden die Funktionen des lokalen Stratalink-Systems in einem geographisch verteilten System unterstützt.

Die hohe Verfügbarkeit ist zwar der augenscheinliche Vorteil eines Ft-Systems, jedoch nicht der einzige Aspekt, an dem sich die Überlegenheit dieser Systeme darstellt:

- Erweiterbarkeit

Die Erfahrungen mit transaktionsorientierten Dialoganwendungen zeigen immer wieder, daß die geplanten Kapazitäten nicht ausreichen, sobald der Computer "online geht". Antwortzeiten lassen sich einfach nicht genau vorhersagen. Darüber hinaus werden erfolgreiche Online-Installationen von immer mehr Anwendern und von allen wiederum häufiger benutzt, als ursprünglich geplant. Das System muß eine wachsende Zahl von Anwendungen, Terminals und Transaktionen verkraften.

Ohne Betriebsunterbrechung können Mehrrechnersysteme a la Tandem, Stratus/Olivetti oder Nixdorf um ein Vielfaches erweitert werden. Da das zentrale Konzept bereits das "Netzwerk im Schrank" zur Basis hat, ist ein Übergang zu lokalen und geographisch verteilten Installationen leichter zu bewerkstelligen als unter Betriebssystemen, die den Betrieb von herkömmlichen Single-Rechnern optimieren.

- Datenbankintegrität

Der Benutzer eines Ft-Systems darf erwarten, daß seine Daten auch bei Ausfällen von CUPs, Kanälen, Steuereinheiten oder Magnetplatten konsistent bleiben. Auch bei Eintragungen in einer verteilten Datenbank muß die Konsistenz bei Ausfall einzelner Netzkomponenten sichergestellt sein. Gespiegelte Datenhaltung und transaktionsorientierte Sicherungs- und Wiederherstellungsverfahren bewirken, daß auch bei unvermeidbaren Störungen und Fehlern die Datenbank unverfälschte Daten enthält.

- Datenbankkonzept

Die genannten Anbieter von Ft-Systemen bieten relationale DBMS mit komfortablen Benutzerschnittstellen an. Ohne hier auf die besondere Eignung des Relationen-Modells für verteilte Mehrrechnersysteme einzugehen, muß die Flexibilität und einfache Handhabung gegenüber herkömmlichen DBMS hervorgehoben werden.

Besonders IBM-Kunden werden es als Vorteil beurteilen, daß Stratus/ Olivetti und Nixdorf über eine SQL-kompatible Datenbanksprache anbieten werden. Stratus wie auch der Nixdorf-Partner Aufragen haben sich für das DB-Produkt Oracle/SQL-Plus entschieden, während Nixdorf ein eigenes SQL-kompatibles DBMS einsetzen wird, das gemeinsam mit der Technischen Universität Berlin entwickelt wurde.

Nixdorf demonstrierte die Datenbank anläßlich der Hannover-Messe auf dem Modell 8890. Die Entscheidung für eine eigene Entwicklung ist sicherlich auch unter dem Aspekt der Kompatibilität mit weiteren Nixdorf-Systemfamilien zu sehen.