-
Verfahren und Zusatzeinrichtung zur Synchronisierung von parallel
arbeitenden Datenverarbeitungsanlagen Zur Erhöhung der Sicherheit gegen Ausfall
oder gegen Rechenfehler werden in bestimmten Anwendungsfällen zwei oder mehrere
Datenverarbeitungsanlagen (DVA) parallel betrieben. Durch Vergleich von Zwischenergebnissen
oder Ausgabedaten kann eine Störung leicht erkannt werden. Hierauf kann die Berechnung
wiederholt und, wenn die Wiederholung auch zu keinem übereinstimmenden Ergebnis
führt, hilfsweise auf Einzelbetrieb der nicht gestörten DVA umgeschaltet werden.
Auf die Maßnahmen, die beim Auftreten einer Störung durchzuführen sind, um die gestörte
DVA zu ermitteln und auf die allgemeinen Bedingungen für eine sinnvolle Parallelarbeit
soll jedoch hier nicht weiter eingegangen werden.
-
Für den Vergleich von Zwischenergebnissen sind z. B. beiden DVA sogenannte
Koppelelemente zugeordnet, die außerdem noch einen direkten und schnellen Datenaustausch
zwischen beiden DVA ermöglichen. Ausgabedaten werden z. B. in einem gemeinsamen
Teil verglichen, der zur Zusammenfassung der Ausgabedaten der beiden Einzelanlagen
bzw. zur Aufteilung der Eingabedaten an beide Einzelanlagen dient.
-
Der Vergleich von Zwischenergebnissen und Ausgabedaten erfordert eine
gewisse zeitliche übereinstimmung im Arbeitsablauf der parallel arbeitenden DVA
zumindest an den Stellen, an denen der Vergleich vorgenommen wird.
-
Selbst unter der Voraussetzung, daß zwei DVA vom gleichen Typ sind
und gleiche Arbeitsfrequenz haben, laufen sie nach einem gleichzeitigen Programmstart
im allgemeinen nur so lange synchron, als kein in jeder DVA getrennt vorhandenes
mechanisches Gerät angesprochen wird. Geben die beiden DVA z. B. einen Lesebefehl
an ihre Trommelspeicher, so kann der Beginn des Lesevorgangs bis zur Zeitdauer einer
Trommelumdrehung verschieden sein, je nach der relativen Lage zwischen Lesekopf
und gesuchter Adresse zu Beginn des Lesebefehls.
-
Ein phasengleicher Synchronlauf von zwei an sich unabhängigen mechanischen
Geräten ist mit vertretbarem Aufwand kaum zu erreichen. Der zumindest zeitweise
notwendige Synchronismus beider DVA muß also durch Eingriffe in die rein elektronischen
Teile der DVA hergestellt und eventuell aufrechterhalten werden.
-
Für die Synchronisierung zweier Datenverarbeitungsanlagen gibt es
verschiedene Möglichkeiten. Die einfachste Möglichkeit ist die starre Kopplung,
d. h. die schnellere DVA muß stets so lange warten, bis auch die andere DVA den
Befehl oder die Befehlsgruppe ausgeführt hat. Dabei ergibt sich jedoch der Nachteil,
daß bei jedem Verkehr mit mechanischen Geräten (Trommelspeicher, Bandspeicher) die
jeweils längste auftretende Zeit für die Wartezeit beider DVA maßgebend ist. Dadurch
kann eine wesentliche Verzögerung für beide DVA auftreten. Weiterhin wird eine Bearbeitung
unterschiedlicher Teilprogramme, die z. B. dann notwendig ist, wenn ein programmgesteuert
korrigierbarer Fehler in einer der beiden DVA aufgetreten ist, recht schwierig und
verursacht auf jeden Fall zusätzliche Wartezeiten.
-
Die Wartezeiten, in denen nach dem bisherigen die jeweils schnellere
DVA angehalten wurde, können durch die Bearbeitung eines Simultanprogramms überbrückt
werden. Da jedes Programm nur an bestimmten Stellen unterbrechbar ist, kann es vorkommen,
daß nunmehr die ursprünglich langsamere DVA warten muß und daher auf eines ihrer
Simultanprogramme übergeht. Auf diese Weise kann bis zur Umschaltung auf das hier
interessierende, auf beiden DVA parallel bearbeitete Programm eine zu lange Zeit
vergehen.
-
Indes ist meist ein synchroner Lauf beider DVA nur an bestimmten Stellen
des Programms erforderlich. Wenn eine Anlage im Programm an eine solche Stelle kommt,
kann sie eine Synchronisierungsmeldung (Programmunterbrechungs-Anforderung) über
das üblicherweise vorhandene, schon erwähnte Koppelelement an die andere Anlage
geben und dann warten, bis die gleiche Meldung von der anderen Anlage erfolgt. Zu
diesem Zeitpunkt werden dann in beiden Anlagen gleichzeitig die nachfolgenden Programmteile
gestartet.
-
Durch diese Maßnahme können viele unnötige Wartezeiten vermieden werden.
Dagegen ist für die Abgabe und vor allem für die Auswertung und überwachung der
Synchronisierungsmeldung ein gewisser
Zeitaufwand erforderlich,
der bei häufiger Synchronisierung erheblich sein kann. Dazu kommt, daß die Synchronisierungsmeldung
zuerst von der schnelleren an die die langsamere DVA gerichtet wird und diese durch
die Auswertung dieser Meldung noch mehr verzögert wird.
-
Die genannten Nachteile können gemäß der Erfindung durch ein Verfahren
zur Synchronisierung von zwei oder mehreren parallel arbeitenden Datenverarbeitungsanlagen
zumindest teilweise vermieden werden. Bei diesem Verfahren werden die Synchronisierungsmeldungen
nicht durch die DVA selbst, sondern durch eine Zusatzeinrichtung ausgewertet.
-
Sobald eine DVA bei der Bearbeitung des Programms an eine Stelle kommt,
an der die Synchronisierung erfolgen soll, gibt sie ein Signal BS (Bereit zum Start)
an die Zusatzeinrichtung ab und hält den Programmablauf so lange an, bis das entsprechende
Signal auch von der zweiten DVA bzw. von den weiteren DVA eintrifft. Durch ein von
der Zusatzeinrichtung nunmehr gebildetes Signal -PU (Programmunterbrechung)
wird der folgende Programmablauf gleichzeitig gestartet. Durch eine Zeitüberwachung
kann erkannt werden, wenn das Signal BS einer DVA unzulässig lange auf sich warten
läßt. Es kann dann mit hoher Wahrscheinlichkeit, auch ohne Ergebnisvergleich, angenommen
werden, daß die betreffende Anlage gestört ist. Die in einem solchen Fall durchzuführenden
Maßnahmen zur Ausscheidung der gestörten DVA, wie z. B. der Start von Prüfprogrammen
u. dgl., interessieren hier nicht.
-
Werden die Wartezeiten zwischen dem ersten Signal BS und dem Signal
PU für die Bearbeitung von Simultanprogrammen ausgenutzt, so kann das gerade laufende
Programm durch das Signal PU nur zu bestimmten Zeitpunkten (Abschluß eines
Befehls öder einer Befehlsgruppe) unterbrochen werden. Es entsteht dadurch ein gewisser
Synchronisierfehler, der maximal dem zeitlichen Abstand zwischen zwei Stellen der
Unterbrechbarkeit des gerade laufenden Programms entspricht.
-
Durch eine weitere Meldung B U (Bereit zur Unterbrechung) von
den zu synchronisierenden DVA kann sichergestellt werden, daß das Signal
PU nur dann abgegeben wird, wenn beide DVA annähernd gleichzeitig unterbrechbar
sind. Die Dauer der Signale B U
kann innerhalb gewisser Grenzen gewählt werden.
Im allgemeinen wird sie größer als der Abstand zweier Taktpulse und höchstens gleich
der Zeit für die Ausführung eines Befehls sein. Bei kurzen Signalen B U wird
ein sehr guter Synchronlauf erreicht, dafür sinkt die Wahrscheinlichkeit, daß ein
annähernd gleichzeitiger Start eines Programmteils überhaupt zustande kommt. Auch
hier können durch eine Zeitüberwachung nicht näher betrachtete Sondermaßnahmen dann
eingeleitet werden, wenn sich über eine längere Zeit hinweg keine überlappung der
B U-Signale ergibt.
-
Die F i g.1 zeigt als Beispiel das Prinzipschaltbild einer Zusatzeinrichtung,
welche zur Durchführung des Verfahrens zur Synchronisierung zweier Datenverarbeitungsanlagen
geeignet ist.
-
Alle Leitungen, auf denen Signale zur Zusatzeinrichtung gegeben werden
bzw. von ihr abgehen, sind durch die entsprechenden Signale gekennzeichnet. Die
Bezeichnungen erhalten den Index 1, wenn die Signale von der DVA 1
kommen oder zu ihr gehen und den Index 2, wenn die Signale von der DVA
2
kommen oder zu ihr gehen. Auch Signale, die für beide DVA gemeinsam gelten,
sind derart bezeichnet. Der Taktpuls T kann einer der DVA entnommen oder durch eine
besondere Anordnung erzeugt werden.
-
Die Schaltungsanordnung der F i g. 1 ist symmetrisch aufgebaut; das
bedeutet, daß beide DVA völlig gleichberechtigt sind. Wird nun angenommen, daß die
DVA 1 durch das in beiden DVA parallel bearbeitete Programm zur Synchronisierung
aufgefordert wird, so gibt sie das Signal BS1 an die Flip-Flop-Schaltung K1 ab.
Durch den nächstfolgenden Taktimpuls des Taktes T wird K1 gesetzt, d. h., der obere
Ausgang der Flip-Flop-Schaltung wird in den 1-Zustand übergeführt. Die innerhalb
der strichpunktierten Umrandung dargestellte ZeitüberwachungseinrichtungZül mit
den Und-SchaltungenG2, G3 und G5, der Oderschaltung G 4 und einer
an sich bekannten Zeitverzögerungseinrichtung DL prüft die Zeitdauer bis
zum Eintreffen des Signals BS2 von der zweiten DVA 2. Wird die durch die
Zeitverzögerungseinrichtung DL bestimmte Zeit überschritten, so gibt die
Und-Schaltung G 5 ein Signal ZF 1 ab, z. B. an das Bedienungspult oder an eine Auswerteeinrichtung,
welche die schon angedeuteten Maßnahmen zur überprüfung der DVA und zur eventuellen
Aufhebung der Parallelarbeit auslöst. Gleichzeitig wird das Flip-Flop K1 zurückgesetzt.
Das Signal ZF1 kann auch über die gestrichelt dargestellten Leitungen PUZ1 und PUZ2
unmittelbar den beiden DVA zugeführt werden, wo es dann eine Programmunterbrechung
wegen Zeitfehler veranlaßt.
-
Treffen dagegen die SignaleBS1 und BS2 von beiden DVA innerhalb der
vorgegebenen Zeitdauer ein und überlappen sich zudem noch zwei Signale BU1 und BU2,
welche Jeweils angeben, daß ein gerade laufendes Simultanprogramm unterbrechbar
ist, so wird am Ausgang der Und-Schaltung G1 das Signal PUS gebildet. Dieses Signal
löst zum nächstmöglichen Zeitpunkt den annähernd gleichzeitigen Start des parallel
zu verarbeitenden Programms oder Programmteils aus und setzt auch die Flip-Flop-SchaltungenK1
und K2 über die Oder-Schaltungen G6 und G7 zurück.
-
Es wurde schon erwähnt, daß der Synchronismus durch die Mitwirkung
von elektromechanischen Geräten oder durch eine zwischengeschobene Bearbeitung voneinander
unabhängiger Simultanprogramme schon nach kurzer Zeit wieder verlorengehen kann.
-
Durch eine vorteilhafte Weiterbildung der Erfindung kann erreicht
werden, daß der synchrone Programmablauf über längere Zeit hinweg aufrechterhalten
bleibt, ohne daß vom Programm immer wieder Befehle zu erneuter Synchronisierung
gegeben -werden müssen. Dazu wird das Signal PUS, welches den Synchronlauf zunächst
auslöste, gespeichert und erst wieder gelöscht, wenn mindestens einer der DVA ein
»Aus«-Signal auf Grund der Programmierung an die Ergänzung der Zusatzeinrichtung
liefert.
-
Sobald eine DVA einen Speicherzyklus, einen Befehl oder eine Befehlsgruppe
abgeschlossen hat, liefert sie ein Signal F an die Ergänzungsschaltung, worauf die
DVA durch ein Verzögerungssignal V so lange verzögert wird, bis auch von der zweiten
DVA ein Signal F eintrifft. Zur Vermeidung einer Blockierung einer DVA im Fall einer
Störung der zweiten Anlage kann hier ebenfalls eine Zeitüberwachung ähnlich der
vorher beschriebenen vorgesehen werden.
Sie tritt dann in Funktion,
wenn zwischen dem Signal F der einen DVA und dem entsprechenden Signal F der anderen
Anlage eine unzulässig lange Zeit verstreicht.
-
In der F i g. 2 ist eine einfache Schaltungsanordnung dargestellt,
welche die eben beschriebenen Funktionen ausführen kann, wie der Zeichnung leicht
zu entnehmen ist. Durch die Punkte an jeweils einem Eingang der beiden Und-Schaltungen
G 8 und G 9 soll angedeutet werden, daß die Signale F 1 und F 2 bezüglich dieser
so gekennzeichneten Eingänge invers wirksam werden. Die Speicherung des PUS-Signals
wird in der Flip-Flop-Schaltung K 3 vorgenommen. Die eventuell vorzusehende Zeitüberwachungseinrichtung
ZU3 kann ähnlich der in F i g. 1 dargestellten Zeitüberwachungseinrichtung ZU 1
unter Weglassung der Und-Schaltungen G2 und G3 aufgebaut werden.