Home

Stabiler Speicher in speichergekoppelten Multiprozessorsystemen

image

Contents

1. Der Prozessor bzw seine CMMU wird sofort durch entsprechende Antwortsignale ber den fehlgeschlagenen Zugriff informiert Dabei wird in der CMMU unter anderem auch die aktuelle Transferadresse vermerkt MOT2 SAR System Address Register Jetzt liegt es am Betriebs system wie schnell es auf den Fehler reagiert Zur Fehlerdiagnose kann neben den Eintragun gen in der CMMU auch das Fehleradre register und das Statusregister aus dem Prozessorinter face benutzt werden Die Fehlerdiagnose sollte rasch erfolgen da die Informationen ber den Fehler nur so lange in den Registern der Prozessorinterface aufgehoben werden bis sich ein neuer Fehler zwischen Prozessor und Kommunikationsspeicher ereignet An dieser Stelle tritt wieder das Problem auf das mit den mehrfach vorhandenen Prozessoren innerhalb eines Prozessorknotens verkn pft ist Ein anderer Prozessor aus diesem Knoten kann zur hnlichen Zeit einen bertragungsfehler ausl sen Dabei wird der Inhalt des Fehleradre und des Statusregisters ver ndert und der berpr fende Prozessor findet in diesen Registern m glicherweise nicht mehr die bei ihm aufgetretene Fehlersituation vor siehe Abschnitt 3 3 Prozessorinterface 5 4 2 Timeout Fehler Als weitere M glichkeit f r die Ausl sung eines Fehlers tritt die berschreitung einer vorgege benen Zeit bei der Durchf hrung eines Zugriffs auf Timeout An drei Stellen laufen Timer die bei Zeit berschreitung eine vorzeitige Beendigu
2. LAM88 LAT91 LEH90 Hardell W R Hicks D A Howell L C Maule W E Montoye R Tuttle D P Data Cache and Storage Control Units IBM RISC System 6000 Technology S 44 51 IBM 1990 Hildebrand U A Fault Tolerant Interconnection Network for Memory Coupled Multiprocessor Systems Proceedings of 5th International Conference on Fault Tolerant Computing Systems Niirnberg Informatik Fachberichte 283 Berlin Springer S 360 371 1991 Hildebrand U Konzeption Bewertung und Realisierung einer dynamischen Netzwerkkomponente f r speichergekoppelte Multiprozessorsysteme Dissertation Arbeitsberichte des IMMD Band 25 Nr 5 Erlangen Juli 1992 H ndler W Maehle E Wirl K DIRMU Multiprocessor Configurations Proceedings of International Conference on Parallel Processing St Charles Illinois S 652 656 1985 Honig J Softwaremethoden zur Rtickwartsfehlerbehebung in Hochleistungs parallelrechnern mit verteiltem Speicher Dissertation IMMD Erlangen Juli 1994 Hofmann R The Distributed Hardware Monitor ZM4 and Its Interface to MEMSY in Bode A Dal Cin M Eds Parallel Computer Architectures Theorie Hardware Software Applications Lecture Notes in Computer Science LNCS 732 Berlin Springer S 66 79 1993 Jewett D Integrity S2 A Fault Tolerant Unix Platform FTCS 21 IEEE S 512 519 1991 Kernighan B W Ritchie D M
3. Pa wort Benutzerinformation KP 4 Ergebnisregister Auftrags Ergebnis KP 5 Transferregister KP 6 Wiederholungsreg letztes zum Lesen bertragenes Wort KP 7 PaBwortregister Pa wort Bel Sperr Abb 31 Aufbau einer Kommunikationspage aus Sicht des Stabilen Speichers Das Abbruchregister wird vom Auftraggeber nicht in der Weise benutzt da er etwas darin ab legen m chte sondern so da ein Schreibzugriff darauf nur als Aufforderung verstanden wird einen Abbruch des aktuellen Auftrags durchzuf hren Das dabei bertragene Pa wort wird da bei nirgends abgespeichert sondern steht nur zum Vergleich mit dem vergebenen Pa wort zur Verf gung Da dieses Register somit beim Abbruch nicht als Speicherplatz ben tigt wird steht es hier f r einen anderen Zweck zur Verf gung Hier werden bei der Anmeldung des Auftrag geber ACCESS das vergebene Pa wort eingetragen und die Informationen die Angaben dar ber machen ob diese Kommunikationspage belegt ist oder nicht und ob derzeit lesend oder schreibend ber diese Kommunikationspage auf den Pufferspeicher zugegriffen werden darf oder nicht Es ist wichtig da diese Informationen im Pufferbereich abgelegt sind damit sie bei jedem Zugriff eines Auftraggebers schnell verf gbar sind Sie m ssen jedesmal zum Vergleich herangezogen werden Die Belegt Information und die Angabe ber die derzeit erlaubten Transferzugriffe werden sogar innerhalb des Worte
4. bei Schreib Transfers mu die KP Nummer ins Auftrags FIFO eingetragen werden Der Schreib Zugriff auf das Abbruchregister KP 7 f hrt ebenfalls zu mehreren internen Aktio nen 122 MeBergebnisse berpr fung ob in der augenblicklichen Situation ein Abbruch erlaubt ist ist nur w h rend der Schreib oder der Lese Phase bei Datentransfers erlaubt Eintrag der aktuellen Situation im Ergebnisregister falls der Abbruch erlaubt ist wird mit folgenden Aktionen fortgefahren Freigabe des benutzten Pufferbereichs und Sperrung weiterer Zugriffe ber das Transfer register Aufhebung der Sperre bei Zugriffen auf Auftrags und Parameter Registern Der Auftrag ACCESS erfolgt als Lese Zugriff auf das Vermittlungsregister der VIP VIP 63 Dies hat auch eine Reihe interner Aktionen zur Folge denn hier mu ein neuer Teilnehmer in eine Kommunikationspage eingetragen werden Lesen der Zahl der noch freien Kommunikationspages ist sie noch gr er als Null so wird wie folgt weitergefahren Dekrementieren dieser Zahl und Zur ckschreiben in das entsprechende Register Anhalten und Lesen der r ckgekoppelten Schieberegister die der Erzeugung eines Pa wortes und einer KP Nummer dienen gew rfelte KP Nummer Untersuchung ob die auf diese Weise ermittelte Kommunikationspage noch frei ist ist sie frei so Kann der n chste Punkt bersprungen werden Suchen einer noch unbelegte
5. Es werden Objekte von maximal 1 Megawort 4 MByte zugelassen F r die Beschrei bung der L nge sind somit 20 Bit ausreichend und eine Kennzeichnung die der Benutzer v llig frei f r ein Stabiles Objekt vergeben kann 20 Bit Benutzerinformation Jede dieser Angaben ist h chstens 20 Bit breit Die restlichen 12 Bit eines 32 bit Wortes k n nen daher f r ein Pa wort verwendet werden Somit gibt es ber 4000 M glichkeiten f r das Pa wort Welche der Angaben ben tigt werden ist bei den Auftr gen verschieden Meistens wird die Nummer des Stabilen Objekts und dessen L nge erforderlich sein Soll die Benutzerinformation geschrieben werden WRITE_BI so ist auch diese anzugeben Beim Lesen der Benutzerinfor mation READ_BI wird diese vom Stabilen Speicher im entsprechenden Parameterregister ausgegeben Beim CREATE Auftrag wird eine vom Stabilen Speicher ermittelte Objektnum mer in dem Parameterregister ausgegeben in das bei den anderen Auftr gen die Objektnummer einzutragen ist Die Datenstrukturen f r das Auftragsregister und die drei Parameterregister sind in Abb 22 dar gestellt Der schattierte Bereich gibt die Stellen in dem zu schreibendem Wort an an denen eine beliebige Bitkombination stehen kann Die dort gemachten Angaben werden weder berpr ft noch f r eine Auswertung herangezogen KP 0 Auftrag Pa wort Auftrag KP 1 Objekt Nummer _ Pa wort Obj Nr KP 2 Objekt L nge Pa wo
6. In Abb 42 ist der prinzipielle Ablauf der Schleife dargestellt Dabei fallt auf daB der Kommu nikationsspeicher mit einer geringeren Zeitdauer an dem Speicherzugriff besch ftigt ist als der Prozessor Das ergibt sich daher da im Prozessorinterface zun chst entschieden werden mu ber welchen Port der Zugriff erfolgen soll Dazu mu die f r diesen Speicherzugriff angege bene Adresse untersucht werden Dann erst werden am ausgew hlten Port die Steuersignale zum Start des Speicherzugriffs im Kommunikationsspeicher erzeugt Diese werden zum Kom munikationsspeicher bertragen und dort synchronisiert Erst zu diesem Zeitpunkt kann die Steuerung des Kommunikationsspeichers auf diesen Zugriffswunsch reagieren Da das Ready Signal das der Kommunikationsspeicher zum Prozessor schickt im Prozessorinterface eben falls synchronisiert werden mu beendet der Prozessor den Zugriff sp ter als der Kommunika tionsspeicher Durch den Einsatz des Koppelmoduls verst rkt sich dieser Effekt noch weiter da auch hier sowohl bei den Signalen auf dem Hinweg als auch bei den Signalen auf dem R ckweg synchronisiert werden mu 7 Situation f r den Prozessor Rest der Schleife i yV Zugriffauf N Komm Speicher i Zyklus Situation f r den Kommunikationsspeicher zugriff C Abb 42 Ablauf eines Schleifendurchlaufs E Das alles hat zur Folge da der Kommunikationsspeicher in der Lage ist mehr Zugriffsw
7. te Unterschied ist der da beim Schreiben in den meisten F llen ein Pa wort angegeben werden mu und beim Lesen wird an dieser Stelle Null ausgegeben Das dient dem Schutz der Auftrag geber untereinander Denn dadurch hat kein Auftraggeber die M glichkeit das Pa wort anderer Auftraggeber auf einfache zuf llige Weise zu erfahren Auch der Auftrag und die Objekt L n ge Kann nicht gelesen werden Dagegen mu das Lesen der Objekt Nummer und der Benutzer information eines Objekts m glich sein da dies bei der Bearbeitung der Auftr ge CREATE und READ_BI notwendig ist In allen Bereichen eines gelesenen Wortes die kein Informationsfeld enthalten wird Null ausgegeben Ein Stabiler Speicher f r MEMSY Lese Daten KP 0 Auftrag 00000000 KP 1 Objekt Nummer 00000 KP 2 Objekt Lange 00000000 KP 4 Ergebnisregister KP 5 Transferregister KP 6 Wiederholungsreg Tetztes zum Lesen bertragenes Wort KP 7 Abbruchregister 00000000 KP 3 Benutzerinfo Abb 30 Aufbau einer Kommunikationspage aus Sicht des Auftraggebers S wenn er Lesezugriffe durchf hren m chte Intern stellt sich die Kommunikationspage dem Stabilen Speicher etwas anders dar Hier ist es zwar auch ein zusammenh ngender Block von 8 Worten Deren Inhalt ist aber geringf gig an ders als es sich f r den Auftraggeber darstellt Dies ist in Abb 31 dargestellt Die vier Auftragsregister haben dieselbe Struktur Da
8. voriibergehender Ausfall des Pufferbereichs oder der Verbindung zwischen Stabilem Speicher und Kommunikationsspeicher erst nach Wiederinbetriebnahme des Pufferbereichs bzw der St rungsbeseitigung auf dem bertragungsweg k nnen die Auftraggeber wieder zugreifen Der dauerhafte Ausfall des Pufferbereichs bzw die dauerhafte St rung des bertragungsweges kann dagegen nicht toleriert werden Allerdings bleibt die Sicherheit der Stabilen Objekte ge w hrleistet Nach einer Reparatur ist der Stabile Speicher wieder nutzbar ohne da die Stabilen Objekte zwischenzeitlich Schaden genommen h tten Ein weiterer Punkt betrifft die Energieversorgung Der Stabile Speicher ist mit einer eigenen Stromversorgung ausgestattet und somit unabh ngig vom Host System Daher kann hierf r eine unterbrechungsfreie Stromversorgung eingerichtet werden Beim Prototyp ist dies zwar nicht erfolgt jedoch besteht kein Hindernis daf r Sogar separate Versorgungen f r die zentrale Steuerung f r den Pufferbereich und f r jeden einzelnen Objektspeicher sind problemlos m g lich da die Kommunikation untereinander ausschlie lich asynchron ber den R ckwandbus er folgt siehe Abb 41 Bei Ausfall einer Platine sind die herausf hrenden Steuersignale auf in aktiv gesetzt zentrale Puffer Steuerung 1 Objekt 2 Objekt bereich speicher speicher C gt Anschlu an den Kommunikationsspeicher C Abb 41 physikalische Struktur des Stabilen
9. MOT1 F r die Betrachtungen von Speicherzugriffen spielen sie jedoch keine Rolle Daher werden sie hier nicht weiter betrachtet 5 3 2 Ma nahmen gegen Hardware Fehler Neben den oben dargestellten Schutzvorkehrungen vor Software Fehlern erkennt das Motorola System zum Teil auch Hardware Fehler die sich auf bertragungsstrecken und in den verschie denen Speichern des Systems ereignen Einige interne Busse sind mit Redundanz ausgestattet indem die 32 Bit breiten Verbindungen mit vier Paritybits versehen sind f r jedes Byte ein Pa ritybit Dieser Schutz ist jedoch nicht durchg ngig Auf dem P Bus der Verbindung zwischen dem Prozessor und den CMMUs gibt es keinen Parityschutz Der Bus auf der anderen Seite der CMMUs der M Bus ist dagegen mit Paritybits ausgestattet Hier handelt es sich um einen zwi schen Adressen und Daten gemultiplexten Bus Somit wird auch beides mit Paritybits versehen Sie k nnen auf der Empf ngerseite gecheckt werden Ob dies aber durchgef hrt wird ist frag 43 Fehlerm glichkeiten in MEMSY lich Empfangene Daten sie stammen aus Lesevorg ngen werden in der CMMU berpr ft An dem M Bus liegen allerdings noch nicht die lokalen Speicher des Systems Diese liegen am S Bus der vom M Bus noch durch eine Schnittstelle getrennt ist vergleiche Abb 6 in Abschnitt 3 1 Schnittstellen Der S Bus verf gt im Gegensatz zum M Bus ber einen separa ten Adre bus und einen Datenbus Von diesen ist nur der
10. WRITE 1 5 0 16 1 66 Auftragsbearbeitungen READ 1 5 0 39 1 89 Auftragsbearbeitungen VERIFY 1 5 0 50 2 00 Auftragsbearbeitungen Die Maximalwerte sind gerade doppelt so gro Alle anderen Auftr ge sind verwaltungstechnischer Art und ben tigen fiir ihre Bearbeitung nur sehr wenig Zeit Kommt vor ihnen ein Auftrag mit Datentransfer an die Reihe so miissen sie im Verh ltnis zu ihrer eigenen Bearbeitungszeit unverh ltnism ig lange warten Daher macht es keinen Sinn f r sie entsprechende Zeitangaben zu machen wie bei den oben dargestellten Auftr gen 7 2 Fehlersituationen Der Stabile Speicher mu mit verschiedenen Fehlersituationen zurechtkommen Dazu wurden verschiedene fehlerhafte Zugriffe provoziert welche die fehlerhaften Auftraggeber in dem Stabilen Speicher ausf hren wollten Zugriff der Prozessoren mit bertragungsfehlern einzeln umgekipptes Bit Zugriff auf unerlaubte Register Zugriff der Prozessoren mit falschen Daten Pa wort Zugriffe auf das Transfer Register in einer falschen Situation oder in der falschen Rich tung In allen F llen reagiert die Puffersteuerung wie erwartet mit der Nichtausf hrung der ge w nschten Operation Die Puffersteuerung gibt ein Ready Signal zur ck f hrt aber nichts aus Bei einem bertragungsfehler wird auch das Error Signal aktiviert Die Ausf hrungszeiten sind 140 MeBergebnisse dabei k rzer als bei der Ausf hrung mit
11. benwirkung Wird n mlich im Motorola System daf r gesorgt da das Betriebssystem f r den Zugriff auf den Stabilen Speicher nur eine einzige Page pro Auftraggeber bereitstellt und die anderen Pages im verwendeten 4 MByte Bereich sperrt so kann bereits an der Schnittstelle des Prozessors an die Au enwelt CMMU ein Schutzmechanismus wirken der Zugriffe auf die an deren Pages von vornherein verhindert Die Nichtbenutzung des gr ten Teils dieses 4 MByte Bereichs bedeutet keine Einschr nkung f r den Auftraggeber denn dieser geh rt zu dem Be reich den er sowieso f r den Stabilen Speicher bereitstellen mu 68 Ein Stabiler Speicher f r MEMSY Alle Auftraggeber m ssen einen entsprechenden 4 MByte Bereich freihalten So ist es dem Sta bilen Speicher m glich einen solchen Bereich nach eigenen Vorstellungen aufzuteilen Dies er m glicht es ihm sich ein eigenes Bild von den au en befindlichen Auftraggebern zu machen Diese Abbildung erfolgt ber die Kommunikationspages 1 255 ber eine besondere Page die Vermittlungs und Informations Page VIP m ssen sich die zu k nftigen Auftraggeber zun chst einmal beim Stabilen Speicher anmelden Dabei bekommen sie eine bisher freie Kommunikationspage und ein Pa wort zugewiesen Die VIP liegt als Kommunikationspage 0 auch im bereits angesprochenen 4 MByte Bereich Alle weiteren Kommunikationen mit dem Stabilen Speicher zur Auftragsbearbeitung m ssen die Auftragge ber nun b
12. bertragungsweg geschaltet wurde wenn ein oder mehr ver nderte Bits nicht erkannt wurden oder wenn die Anwendersoftware bzw das Betriebssystem bei der Umrechnung der bergebenen Kommunikationspage Nummer in einen Eintrag in der Pagever waltung einen Fehler gemacht hat Zur letzten Fehlerm glichkeit wird auf den Abschnitt 6 4 4 verwiesen in der die VIP beschrieben wird Diese Schutzvorkehrung kann allerdings nicht verhindern da ein Auftraggeber durch Probie ren das Pa wort einer fremden Kommunikationspage herausfindet Dies w rde aber ein absicht liches Suchen nach einem fremden Pa wort sein Der Schutz davor ist aber auch nicht seine Aufgabe Die Vorgehensweise des Stabilen Speicher zum Schutz der Kommunikationspages vor unbe rechtigten Zugriffen erinnert an den Ablauf der bei Geldautomaten durchgef hrt wird Auch dort mu sich der Bankkunde mit Hilfe seiner ec Karte und einem Pa wort als Eigent mer eines Kontos Kommunikationspage ausweisen Das Ausspionieren eines fremden Pa wortes nach der oben genannten Methode kann bei Geldautomaten kaum vorgenommen werden denn nach einigen Versuchen mit falschen Pa w rtern beh lt der Automat die ec Karte Damit gibt es f r den falschen Kunden keine M glichkeit mehr mit Hilfe der ec Karte das fremde Konto zu benutzen Neue Versuche k nnen erst dann durchgef hrt werden wenn eine aufwendige Pro zedur erfolgreich durchlaufen worden ist in der die Berechtigung des Kunden anhand v
13. ohne da ein Speicherzugriff stattgefun den hat Dies kann z B durch transiente Fehler passieren wobei einzelne Bits umkippen Bei nachfolgenden Leseoperationen w rde man immer zum Schlu kommen da der Block fehlerhaft ist e Eine weitere Fehlersituation w re da Schreiboperationen nicht stattfinden Um diese Fehler handhaben zu k nnen m ssen einige Annahmen bez glich der Fehlerh ufig keiten gemacht werden So wird angenommen da w hrend eines l ngeren Zeitabschnitts h chstens ein Fehler auftreten darf Der Zeitabschnitt mu dabei so gro gew hlt sein da die ser Fehler erkannt und seine Auswirkungen beseitigt werden k nnen Dann ist es nicht n tig sich mit vielen aufeinanderfolgenden Fehlern zu befassen Bei den heutigen Rechnern kann die se Annahme mit gutem Gewissen aufrechterhalten werden Ein relativ weit verbreiteter Fehler ist die St rung der bertragungsstrecke In den meisten F l len liegen hier transiente Fehler vor Somit lassen sich solche Fehler oft durch einfaches Wie derholen des Zugriffs beheben Zur Tolerierung solcher Fehler konstruierte Lampson zun chst aus den normalen GET und PUT Operationen eines Plattenspeicherzugriffs die Operationen CAREFUL_GET und CAREFUL_PUT Die Operation CAREFUL_GET besteht aus der einfa chen GET Operation die im Fall da ein bertragungsfehler aufgetreten ist wiederholt wird Um eine Verklemmung auszuschlie en ist die Anzahl an Wiederholungsversuchen auf ei
14. 1988 Anderson T Lee P A Fault Tolerance Principles and Practice Prentice Hall Englewood Cliffs New Jersey 1981 Ban tre M Muller G Rochat B Sanchez P Design Decisions for the FTM A General Purpose Fault Tolerant Machine In Proceedings of 21th International Symposium on Fault Tolerant Computing Systems Montreal Canada S 71 78 Juni 1991 Bernstein P A Sequoia A Fault Tolerant Tightly Coupled Multiprocessor for Transaction Processing Computer Vol 21 Nr 2 S 37 45 Februar 1988 Bowen N S Pradhan D K Processor and Memory Based Checkpoint and Rollback Recovery Computer Vol 26 Nr 2 S 22 31 Februar 1993 Chandy K M Lamport L Distributed Snapshots Determining Global States of Distributed Systems ACM Transactions on Computer Systems Vol 3 Nr 1 S 63 75 Februar 1985 Cypress Semiconductor CMOS BiCMOS Data Book Cypress Semiconductor Corporation San Jose California USA 1992 Dal Cin M Dalibor S Eckert T Grygier A Hessenauer H Hildebrand U Honig J Hofmann F Hohl W Linster C U Michel E Pataricza A Sieh V Thiel T Turowski S Architecture and Realization of the Modular Expandable Multiprocessor System MEMSY Proceedings of Conference on Massively Parallel Computing Systems MPCS 94 Ischia Mai 1994 Dal Cin M Hohl W Hrsg Fault Tolerant Computing Systems Tests Diagnosis Fau
15. Da die Timeout Zei ten bei 11 usec bzw 15 usec liegen besteht keine Gefahr eines irrt mlich ausgel sten Timeout An dieser Stelle sind noch einige Bemerkungen zum ACCESS Zugriff angebracht Die k rzeste Zeit von 2 0 usec innerhalb des Stabilen Speichers wird erreicht wenn die gew rfelte KP Nummer bisher nicht belegt ist da in diesem Fall kein Suchalgorithmus gestartet werden mu Ist die gew rfelte KP Nummer aber bereits belegt so wird zun chst in der Sechzehnergruppe nach einer freien KP Nummer gesucht zu der auch die gew rfelte KP Nummer geh rt Wird hier eine freie KP Nummer gefunden so wird diese belegt Dieser Vorgang ben tigt nicht mehr Zeit als der zuerst beschriebene Fall Das liegt daran da auch im Fall der direkten Wahl einer freien Kommunikationspage ein Eintrag in die entsprechende Sechzehnergruppe der Datenbasis f r die KP Belegung erfolgen mu Da diese beiden F lle auch dann noch mit sehr hoher Wahr scheinlichkeit ber 95 auftreten wenn bereits 102 von 255 Pl tzen belegt sind das sind 40 der Kommunikationspages wird blicherweise kaum eine l ngere Zugriffszeit beim Auf trag ACCESS zu beobachten sein Da die Auftraggeber f r einen Stabilen Speicher normaler weise nur aus f nf Prozessorknoten kommen bedeuten 102 belegte Pl tze da in jedem Pro zessorknoten etwa 20 Auftraggeber vorhanden sind eine Zahl die recht hoch gegriffen ist 127 MeBergebnisse hnlich zu dem im letzten
16. Ein solches R ckg ngigmachen darf es aber nicht geben Dies w rde n mlich bedeuten da der Auftragge ber die aus seiner Sicht erfolgreiche bertragung seines Datenblocks nachtr glich r ckg ngig machen wollte ohne da hierf r Gr nde vorliegen w rden die die Funktionsweise des Stabilen Speichers betreffen Abschlie end wird nun der Aufbau einer Kommunikationspage zusammengefa t Die Kommunikationspage kann als zusammenh ngender Block von 8 Worten interpretiert wer den wie es bereits in der Bezeichnung KP 0 KP 7 deutlich wurde Auf diese Register darf nur wortweise zugegriffen werden Byte und Halbwort Zugriffe werden ebenso abgewiesen wie Blockmoves wie sie beim Transport von Cachelines vorkommen Auch eine Ausf hrung des XMEM Befehls auf diese Register wird nicht erlaubt In allen diesen F llen wird der Trans fer mit einem Error Signal beendet 84 Ein Stabiler Speicher f r MEMSY g N Schreib Daten KP 0 Auftrag KP 1 Objekt Nummer KP 2 Objekt L nge KP 3 Benutzerinfo KP 4 Ergebnisregister KP S Transferregister KP 6 Wiederholungsreg KP 7 Abbruchregister Abb 29 Aufbau einer Kommunikationspage aus Sicht des Auftraggebers S wenn er Schreibzugriffe durchf hren m chte gt Auf diese 8 Register in der Kommunikationspage gibt es zwei Sichtweisen Beim Lesen herrscht ein anderes Format vor als beim Schreiben siehe Abb 29 und Abb 30 Der gr
17. alle Knoten arbeiten synchron aber Knoten A hat gegen ber B und C unterschiedliche Werte 0010 alle Knoten arbeiten synchron aber Knoten B hat gegen ber A und C unterschiedliche Werte 109 Ein Stabiler Speicher f r MEMSY 0100 alle Knoten arbeiten synchron aber Knoten C hat gegen ber A und B unterschiedliche Werte 0111 alle Knoten arbeiten synchron aber alle Knoten haben in der Adre oder Daten Phase unterschiedliche Werte geliefert 0011 alle Knoten arbeiten synchron aber die Knoten A und B hatten bei einer Schreiboperation in der Adre bzw Daten Phase je einmal einen unterschiedlichen Wert zu C geliefert 0101 alle Knoten arbeiten synchron aber die Knoten A und C hatten bei einer Schreiboperation in der Adre bzw Daten Phase je einmal einen unterschiedlichen Wert zu B geliefert 0110 alle Knoten arbeiten synchron aber die Knoten B und C hatten bei einer Schreiboperation in der Adre bzw Daten Phase je einmal einen unterschiedlichen Wert zu A geliefert Die erzeugten Werte 0000 und 0111 entsprechen genau dem ersten bzw dritten oben beschrie benen Fall Die anderen sechs Ergebnisse 0001 0110 geben wieder was der Voter bei ein zelnen Fehlern entdeckt hat Diese unterteilen sich in solche bei denen bertragungs oder Zu griffsfehler nur an einem Knoten auftreten 0001 0010 0100 und in solche bei denen sich in der Adre und in der Datenphase beim Schreiben je einmal
18. bis eine andere Antwort ausgegeben wird i a Ready oder Error Im Fall eines Lesezugriffs kann die CMMU nun die Daten vom S Bus bernehmen Im Fall eines Schreibzugriffs hat der Speicher die Daten zu diesem Zeitpunkt bereits bernommen Als letzte Aktion setzt der Adre dekoder das Select Signal wieder auf inaktiv MVM89 siehe 21 Das Multiprozessorsystem MEMSY auch Abb 7 e Schreib Datum mit Paritybits AP Byte Enable Signale LD Lese Signal _______ Warte Antwort XAntwor Select Signal Rn AP 1 Adre Phase LK 0 Einzelwort oder Burst Transfer AP 0 Daten Phase LK 1 RMW Operation S Abb 7 Ablauf eines Einzelwort Speicherzugriffs am S Bus J 3 2 1 2 Burst Zugriff auf den Speicher ber den S Bus Bei einem Burst Zugriff werden vier Worte die an aufeinanderfolgenden Adressen liegen zwi schen dem Speicher und der CMMU transportiert Diese F higkeit setzt die CMMU ein um eine Cache Zeile m glichst schnell zwischen Speicher und Cache zu transportieren Diese F higkeit kann allerdings nicht unmittelbar in einem Anwenderprogramm genutzt werden son dern bleibt dem Betriebssystem vorbehalten Das Erscheinungsbild eines Burst Zugriffs auf dem S Bus hnelt sehr dem Einzelwort Trans fer Das Select Signal bleibt w hrend des ganzen Vier Wort Transfers aktiv und auch das Lock Signal wird hier nicht gesetzt Nur am LDT Signal kann der Empf nger der Speicher den Burst Zugriff erken
19. chers lie e sich mit nur diesem einen Speicher nicht mehr tolerieren Die Verwendung von Parity Absicherung kann dagegen voll von der geforderten doppelten 105 Ein Stabiler Speicher f r MEMSY Speicherung der Stabilen Objekte profitieren Im Fall eines Bitfehlers auch eines Mehrbitfeh lers in einem Wort kann durch Kopieren aus dem entsprechenden Wort aus der zweiten Kopie der Fehler behoben werden solange nicht auch dieses von einem Fehler betroffen ist Au er dem k nnen die Daten ohne Transformation ECC lt gt Parity zwischen dem Stabilen Speicher und dem Anschlu an das Motorola System transportiert werden Die Transformations Hard ware kann somit eingespart werden Es hatte sich auch gezeigt da im Gegensatz zu Parity Checkern und Generatoren kaum Hardware f r ECC Generierung bzw Check angeboten wird Eine eigene Implementierung w re sehr aufwendig gewesen Aus diesen Gr nden wurde die Parity Absicherung auch innerhalb des Stabilen Speichers im Lagerbereich verwendet Jeder der implementierten Speicherplatinen ist mit 4 MBit Chips aufgebaut und hat eine Ge samtkapazit t von 64 MByte Das sind 16 MWorte Intern ist der Speicher in 36 x 4 x 4 MBit organisiert Die Wortbreite von 36 Bit erkl rt sich aus der Abspeicherung jedes 32 bit Wortes mit 4 Paritybits In der Tiefe gibt es somit 4 Bl cke zu je 4 MWorten Das bedeutet da bei Ausfall eines Speicherchips ein Viertel des Gesamtspeichers betroffen ist Die tech
20. ck gesetzt War kein Fehler aufgetreten so ist das Gew nschte eingetreten Die hierbei ermittelte Ausf hrungszeit ist in den Tabellen 8 10 eingetragen Ist dagegen ein Fehler festgestellt wor den so wird der gesamte Transfer wiederholt als Quelle jedoch der andere Objektspeicher ver wendet Ist diese Kopie des Stabilen Objekts korrekt so ergibt sich eine doppelt lange Ausf h rungszeit f r die Bearbeitung des READ Auftrags War jedoch auch die zweite Kopie mit einem Parityfehler behaftet so mu bereits w hrend der Ausf hrung des READ Auftrags korrigiert werden Um die genaue Position f r das umgekippte Bit zu finden wird das gesamte Stabile Objekt aus beiden Objektspeichern nochmals transfe riert nun aber nach jedem einzelnen Wort das Summenbit f r den Parityfehler berpr ft Das Programm f r diese intensive Fehlerbehebung steht im Gegensatz zur schnellen READ Routine nicht im On Chip RAM des Transputers Aus diesem Grund und wegen der berpr fung nach jedem Wort kam es zu einer deutlichen Verschlechterung der resultierenden Trans ferleistung um den Faktor f nf bis sechs Unter der Annahme da umgekippte Bit sehr selten auftreten ist diese Vorgehensweise jedoch akzeptabel Ganz hnliche Vorg nge laufen auch bei der Ausf hrung des VERIFY Auftrags mit einem feh lerhaften Datenblock ab Bei den vor bergehenden Ausf llen einer Teilkomponente zentrale Steuerung Pufferbereich ein Objektspeicher steht nicht ein
21. der Eintrag ins Auftragsregister erst nach dem Schreiben der Parameter in die Parameterregister erfolgt Bei WRITE Auftr gen w rde an dieser Stelle das Schreiben des Datenblocks folgen siehe Abschnitt 6 4 3 Auch die interne bergabe dieses Auftrags w rde in diesem Fall erst nach dem Schreiben des letzten Wortes des Datenblocks ausgef hrt werden Bei der bergabe der Kommunikationspage Nummer ins Auftrags FIFO kann der Auftragge ber allerdings nicht erkennen ob und wieviele Auftr ge im FIFO bereits vorliegen Daher kann er nicht absch tzen wie lange es bis zur Beendigung des Auftrags dauern wird 72 Ein Stabiler Speicher f r MEMSY Prinzipiell gibt es zwei M glichkeiten f r die Feststellung wann der Auftrag beendet worden ist Zum einen k nnte der Stabile Speicher den Auftraggeber mit einem Interrupt von der Been digung seines Auftrags benachrichtigen Und als zweite M glichkeit k nnte der Auftraggeber immer wieder beim Stabilen Speicher nachfragen ob sein Auftrag schon fertig ist Die erste Alternative sieht eleganter aus als die zweite denn sie verhindert da der Auftragge ber ein busy wait durchf hren mu Denn dies k nnte bei intensiver Nutzung dazu f hren da das Verbindungsnetzwerk zwischen den Prozessoren und den Kommunikationsspeichern einer berm igen Belastung ausgesetzt w re Bei der anderen Alternative m te eine Interruptverbindung zwischen dem Stabilen Speicher und den Prozessor
22. eines Kop pelmoduls ausgef hrt werden Damit ergeben sich im Koppelmodul Konflikte durch Zugriff auf denselben Speicher Folglich wird dies die Begrenzung bei der maximalen Zugriffsrate auf den angeschlossenen Kommunikationsspeicher sein Untersucht wurde der Ablauf einer Schleife innerhalb eines Datentransfer Programms Dabei wird ein Datenblock aus dem Privatspeicher eines Motorola Rechners in einen Kommunika tionsspeicher bertragen Mit Hilfe eines Logikanalysators konnte die Dauer gemessen werden w hrend der der Prozessor bzw die CMMU mit der bertragung eines einzelnen Wortes in den Kommunikationsspeicher besch ftigt ist Auch die Zyklusdauer von einer bertragung zur n chsten wurde auf diese Weise ermittelt Die Schleife des Testprogramms hatte folgenden Inhalt for i 0 i lt Blocklange i Kommunikationsspeicher i Privatspeicher i Der Ablauf dieser Schleife besteht aus einem Transfer eines Wortes vom Privatspeicher in ein Register im Prozessor aus einem Transfer vom Register in den Kommunikationsspeicher und aus einer Schleifenbearbeitung Dieses Programm wurde auf zwei Hardware Konfigurationen gemessen Die erste Konfigura tion bestand aus einer direkten Kopplung eines Motorola Systems mit einem Kommunikations speicher In der zweiten Konfiguration wurde noch ein Koppelmodul dazwischengeschaltet Damit sollte die Verz gerung ermittelt werden die durch das Koppelmodul erzeugt wird 119 MeBergebnisse
23. elles System zu konstruieren das ein fehlertolerantes Verhalten zeigt Als Einsatzgebiet betrachtete Lampson Transaktionssysteme die auf Rechnern bearbeitet wer den z B Buchungssysteme Dies sind i a komplexere Vorg nge die im Rechner nicht atomar ablaufen k nnen In Fehlersituationen kann es vorkommen da sie an einer Stelle abgebrochen werden in der weder die Situation vor dem Start der Aktion noch die Situation nach der Fertig stellung dieser Aktion vorliegt Eine solche Situation mu nach der Wiederaufnahme des Be triebs erkannt und geeignet behandelt werden Dazu mu es m glich sein entweder in den Zu stand vor dem Start der Aktion oder in den Zustand nach Beendigung der Aktion zu gelangen Eine sehr wichtige Rolle spielt dabei der Plattenspeicher in dem die bearbeiteten Daten abge legt sind Aus einem normalen Speicher mu nun ein virtuell stabiler Speicher geschaffen werden der die oben gestellten Anforderungen erf llt Dem Vorschlag Lampsons ist der n chste Abschnitt gewidmet Anschlie end wird eine Reali sierung vorgestellt die sich an Lampsons Vorschlag orientiert jedoch auf einem anderen Spei chermedium RAM basiert Da auf dieses in anderer Weise zugegriffen wird als auf einen Plat tenspeicher hatte dies einige Folgen f r die Umsetzung von Lampsons Vorschlag Dies m ndet dann in eine berleitung zum Einsatz eines Stabilen Speichers f r das Multiprozessorsystem MEMSY 2 1 Der Stabile Spei
24. mehrere STM Objekte zu ver ndern je nach ge ffneten Objekten Diese werden in einem Transaktions Deskriptor angegeben Erst wenn alle Aktionen im ersten Speicher erfolgreich waren werden die Ver nderungen im zwei ten Speicher nachvollzogen Waren die Aktionen im ersten Speicher nicht erfolgreich so wer den sie durch Kopieren der alten Information vom zweiten in den ersten Speicher r ckg ngig gemacht Auch nach Prozessor Crashes k nnen wie bei Lampson beschrieben hier defekte Strukturen wiederhergestellt werden hnlich wie STM Objekte werden Transaktionen erzeugt und sp ter auch wieder gel scht Ihre Konfigurationsdaten werden ebenfalls im STM abgelegt Diese enthalten unter anderem die An gabe der ben tigten Objekte Um schon w hrend der Zugriffe auf die verschiedenen Datenstrukturen im STM mehr Kontrolle zu haben ist jedes Wort mit einem Tag ausgestattet Es zeigt an welcher Art die in diesem Wort abgelegte Information ist 13 Ans tze f r einen Stabilen Speicher Dabei wird unterschieden zwischen freien Pl tzen dem Start eines Objekt Deskriptors dem Start eines Transaktions Deskriptors und einer sonst belegten Stelle Diese Angaben werden bei allen Zugriffen auf den STM berpr ft Beispielsweise d rfen bei der Erzeugung eines STM Objekts nur freie Pl tze benutzt werden Ebenso mu z B bei der oben angesprochenen Open Operation der anzugebende Parameter der das zu ffnende Objekt
25. oder von READ Auftr gen gesprochen so gilt das dort beschriebene dann auch f r die entsprechenden anderen Auftr ge mit WRITE oder READ Anteil 6 4 Pufferbereich Der Pufferbereich ist die einzige Einheit des Stabilen Speichers auf die von zwei Seiten aus zu gegriffen wird Zum einen sind es die Prozessoren aus dem Host System Motorola System die den Stabilen Speicher nutzen wollen Auf der anderen Seite ist es die zentrale Steuerung des Stabilen Speichers die zur Bearbeitung des Auftrags vor allem den Datenaustausch durchf hrt Dabei werden Datenbl cke zwischen dem Lagerbereich und dem Pufferbereich transportiert Um einen m glichst reibungslosen Ablauf gew hrleisten zu k nnen bei dem sich die beiden Zugreifer kaum behindern ist der Pufferbereich in drei Unterbereiche aufgeteilt Zugriffskontrolle Pufferspeicher Voter Der zentralen Steuerung sind der Voter und der Pufferspeicher zugewandt dem Anwendersy stem der Bereich Zugriffskontrolle siehe Abb 19 Der Grund f r diese Anordnung liegt darin da die von der zentralen Steuerung bertragenen Adressen und Daten immer gevotet werden m ssen und dann vor allem Zugriffe auf den Pufferspeicher erfolgen Dagegen m ssen die An gaben die vom Anwendersystem kommen zun chst in der Zugriffskontrolle auf ihre Berechti gung berpr ft werden Bei der Ausf hrung der READ und WRITE Auftr ge eines Anwenders m ssen in der Daten bertragungsphase au
26. ufe die bei jedem einzelnen Anwenderzugriff durchgef hrt werden m ssen werden von einer Puffersteuerung ausgel st Diese ist nicht mit Hilfe eines Prozessors son dern mit programmierbaren Logik Bausteinen realisiert worden MACH94 LAT91 Auf Grund der vielen unterschiedlich zu steuernden Aktionen mu ten mehrere Logik Bausteine ein gesetzt werden die einen gro en Teil einer Platine belegen Ansonsten werden Standardbau steine ICs eingesetzt TIT89 FAST85 Die Programme f r die Logik Bausteine wurden mit Hilfe eines Entwicklungstools erstellt LOG93 und programmiert Dies alles konnte im La bor des IMMD 3 an der Universit t Erlangen N rnberg durchgef hrt werden Die Platinenent wicklung und ihre Fertigung mu ten dagegen au erhalb dieses Instituts erfolgen 6 4 1 _ Schutzmechanismen in der Zugriffskontrolle Aus der Sicht der Prozessoren stellt sich der Stabile Speicher als ein Adre bereich dar der in einem Teil eines 16 MByte Bereichs liegt der f r einen Kommunikationsspeicher reserviert ist Andersherum stellt sich f r den Stabilen Speicher die Welt um ihn herum etwas un bersichtlich dar Dem Stabilen Speicher ist es nicht m glich die einzelnen Prozessoren direkt voneinander zu unterscheiden Der Grund liegt darin da die Prozessoren bzw die CMMU f r den Zugriff auf einen Kommunikationsspeicher eine bestimmte physikalische Adresse angeben m ssen die dieses Ziel beschreibt Da nun alle Prozessoren d
27. wird im Fehleradre register die beim Fehler g ltige physikalische Adresse eingetra gen Dieser Eintrag bleibt so lange bestehen bis sich der n chste Fehler mit Beteiligung dieses Interfaces ereignet Das Fehleradre register Kann gelesen werden um die Adresse f r einen fol genden Wiederholungs Zugriff verwenden zu k nnen Als weiteres Spezialregister existiert das Z hlerregister Es enth lt vier 7 bit Z hler mit je einer berlaufanzeige Z hlbereich 0 127 oder mehr als 127 Dieses Register kann durch ei nen Schreibzugriff mit beliebigem Wert komplett gel scht werden In dem Register werden automatisch die seit dem letzten L schen aufgetretenen Parityfehler gez hlt Dabei ist je ein Z hler f r die Kommunikationsspeicher vorgesehen die sich hinter den drei Ports befinden und einer f r die Parityfehler die im Interface selbst erkannt werden Gelesen werden die Z hler ge meinsam durch einen einzigen Lesezugriff Dabei gibt es zwei M glichkeiten In einem Fall bleiben die Werte in den Z hlern unver ndert und im anderen Fall werden sie automatisch d h atomar mit dem Lesezugriff gel scht Diese beiden Leseversionen unterscheiden sich gegen ber dem Prozessor nur durch Zugriff auf unterschiedliche Adressen innerhalb des Interfaces Diese Z hler sind f r den Einsatz als Langzeit berwachung bei Zugriffen auf die Kommuni kationsspeicher gedacht Solange sich nicht allzu viele bertragungsfehler er
28. An diesen Stellen wird dann kurz auf diesen Hinweis verwiesen 3 4 Der Kommunikationsspeicher Der Kommunikationsspeicher dient dem Austausch von Daten benachbarter Knoten Damit von verschiedener Seite aus auf ihn zugegriffen werden kann ist er mit drei Ports ausgestattet Diese hneln sehr den drei Ports des eben beschriebenen Prozessorinterfaces ber diese Ports greifen die angeschlossenen Prozessoren auf den Kommunikationsspeicher zu siehe Abb 12 7 x 2 g oc gt O O0 RE 0 Q o 2 e o X oO 0 O a O Abb 12 Kommunikationsspeicher E Bis zum Port erfolgen die eintreffenden Zugriffsw nsche verschiedener Prozessoren unabh n gig voneinander Der hinter den Ports liegende Speicher kann die Zugriffe aber immer nur hin tereinander bearbeiten Bei gleichzeitig eintreffenden oder bei sich zeitlich berlappenden Zu griffsw nschen verschiedener Prozessoren mu daher eine Hintereinanderausf hrung der Zu griffe stattfinden Das wird von einer internen Steuerung geregelt Auf diese hat der Zugreifer 32 Das Multiprozessorsystem MEMSY keinen Einflu Da diese Steuerung als Zustandsautomat aufgebaut ist mu auch eine Synchro nisierung der bergebenen Signale erfolgen Die vom Prozessor bertragene Adresse wurde schon unabh ngig von der Zuteilung f r diesen Zugriff im Port eingefangen Dieses Einfangen ist der Ausl ser zur Bewerbung um die Zutei lung des Speicherz
29. Datenbus mit vier Paritybits abgesi chert Bei Schreibzugriffen auf den lokalen Speicher werden die bertragenen Paritybits ohne berpr fung im Speicher abgelegt Erst bei einem sp teren Lesevorgang werden sie von der CMMU auf korrekte Parity kontrolliert Die Fehler die von dem Parityschutz erkannt werden k nnen sind solche bei denen sich ma ximal ein Bit eines Bytes seit der Erzeugung der Paritybits ver ndert hat Die Stelle an der die ser Fehler aufgetreten ist l t sich aus der berpr fung der Paritybits aber nicht eindeutig er mitteln Sowohl auf dem bertragungsweg von Platine zu Platine ber einige Treiberstufen und kurze Wege als auch innerhalb des Speichers kann die Ver nderung vorgekommen sein Im Motorola System wird die Parity Information beim Zugriff auf den Hauptspeicher nur beim Lesen und dabei auch nur bei den Daten berpr ft nicht aber bei der bertragenen Adresse Dies ist auch bei vielen anderen Computern so blich Zur sicheren Fehlererkennung darf dann beim Schreiben Lagern und Lesen insgesamt h chstens ein Bit pro Byte in den Daten ver ndert sein Die CMMU sibt die Information da ein Fehler erkannt worden ist als Transaction Fault an den Prozessor weiter Sie selbst markiert in ihrem System Status Register SSR die sen Fehler als Bus Error oder als Copyback Error MOT2 Diese Information kann an schlie end von einer Fehlerbehandlungs Routine zur Diagnose verwendet werden A
30. Leben nicht mehr wegzudenken Sie erledigen schon so viele Aufgaben da sie zum gr ten Teil zum unverzichtbaren Teil der industrialisierten Menschheit geworden sind Die fortschreitende Miniaturisierung und die immer gr er werdende Lei stungsf higkeit der Rechnereinheiten scheinen bisher noch nicht an ihre Grenzen gesto en zu sein Innerhalb weniger Jahre vervielfachen sich Prozessorleistungen und Speicherkapazit ten Viele Aufgaben die mit einem langdauernden Berechnungsverfahren und mit einem enormen Speicherbedarf verbunden sind wie z B umfangreiche Simulationen aus der Str mungsmecha nik lie en sich bisher kaum mit einem vertretbaren Aufwand bearbeiten Als Konsequenz da von wurde die Aufgabe in kleinere St cke zerteilt die dann st ckweise mit den zur Verf gung stehenden Mitteln bearbeitet wurde Unter der Zerst ckelung leiden aber im allgemeinen die ge wonnen Ergebnisse da oft in den kleineren Szenarien nicht mehr alle Abh ngigkeiten ber ck sichtigt werden k nnen die in der Gesamtkonstellation bestehen Die Vereinfachung des Mo dells f hrt dann oft zu Ergebnissen die oft im Detail nicht sehr befriedigend sind Die fortschreitende Entwicklung bez glich der Rechenleistung und der Gr e des verf gbaren Arbeitsspeichers erm glicht es diesen Nachteil zumindest st ckweise zu beheben Die Modelle wurden ja nur deshalb so weit vereinfacht damit sie berhaupt mit vertretbarem Aufwand be arbeitet werden konnten Mit
31. Parity ist Wird der auf diese Weise gebildete Wert zwischen zwei Teileinheiten bertragen so kann der Empf nger berpr fen ob noch die benutzte Parity vorliegt Durch die se Methode lassen sich bertragungsfehler erkennen bei denen als Fehlerursache das Umkip pen eines einzelnen Bits innerhalb eines Bytes angenommen wird Auf gleiche Weise lassen sich auch Fehler erkennen bei denen w hrend der Lagerung in einem Speicher einzelne Bits umgekippt sind WAK78 Ob die Auswirkung eines Fehlers sofort erkannt und gegebenenfalls korrigiert werden Kann oder nicht h ngt entscheidend davon ab wann die m glicherweise gest rte Information ber pr ft wird Eine w hrend einer bertragung aufgetretene St rung kann sofort erkannt werden sofern Einrichtungen daf r zur Verf gung stehen Darauf kann der Prozessor oder auch der an gesprochenen Speicher sofort reagieren Dagegen wird eine transiente St rung im Speicher im allgemeinen erst viel sp ter entdeckt n mlich beim n chsten Lesen des betroffenen Wortes Ist au er dem Parity keine weitere Redundanz vorhanden l t sich der Fehler dann nicht mehr kor rigieren F r die Bewertung der Auswirkung von Fehlern ist es auch wichtig zu wissen ob sich der Fehler 41 Fehlerm glichkeiten in MEMSY auf die weitere Bearbeitung der Aufgabe auswirken wird oder nicht Ist beispielsweise eine Va riable durch einen Fehler ge ndert worden die in der weiteren Berechnung nicht mehr ben
32. Programmieren in C 2 Ausgabe deutsche Ubersetzung von Schreiner A T und Janich E Carl Hanser Verlag Miinchen und Prentice Hall Verlag London 1990 Lampson B W Paul M Siegert H J Distributed Systems Architecture and Implementation Lecture Notes in Computer Science LNCS 105 Berlin Springer 4th printing S 246 265 1988 Lattice GAL Data Book Lattice Semiconductor Corporation Hillsboro Oregon USA 1991 Lehmann Emilius L Rekonfiguration und R ckw rtsfehlerbehebung f r Multiprozessoren mit begrenzter Nachbarschaft eine Untersuchung zur verteilten Recovery Dissertation Arbeitsberichte des IMMD Band 23 Nr 2 Erlangen Februar 1990 149 Literatur LOG93 MACH94 MHP94 MIC92 MIH91 MOTI MOT 2 MOT3 MPD94 MVM89 OCC88 OKO94 PAH90 Isdata LLOGiC Benutzerhandbuch Isdata Karlsruhe 1993 Advanced Micro Devices MACH 1 and 2 Family Data Book High Density EE CMOS Programmable Logic Advanced Micro Devices 1994 Muller G Hue M Peyrouze N Performance of Consistent Checkpointing in a Modular Operating System Results of the FTM Experiment in Echtle K Hammer D Powell D Eds Dependable Computing EDCC 1 Lecture Notes in Computer Science LNCS 852 Berlin Springer S 491 508 1994 Michel E Fehlererkennung mit berwachungsrechnern in Multiprozessor systemen Di
33. Prozessorfeh lers gew hrleistet ist da im Anschlu daran auch weiterhin auf die abgelegten Stabilen Objek te zugegriffen werden kann 6 3 Arbeitsweise des Stabilen Speichers und die Auftr ge In diesem Abschnitt wird zun chst in groben Z gen die grunds tzliche Arbeitsweise vorgestellt wie die Anwenderprozesse den Stabilen Speicher veranlassen k nnen Aktionen auf den Stabi len Objekten auszuf hren Ein Stabiles Objekt ist repr sentiert als ein eindimensionale Feld von 32 bit Werten dessen L nge vom Anwender festgelegt worden ist Erg nzt wird jedes Stabile Objekt mit einer Check summe siehe Abb 18 Zur Erkennung von bertragungsfehlern sind alle Worte mit 4 Paritybits versehen Bei Schreiboperationen werden Parity und die Checksumme vom An wender bertragen und vom Stabilen Speicher berpr ft Bei Leseoperationen ist es umgekehrt en Netto Daten Checksumme p P Paritybits C Abb 18 Stabiles Objekt J Anwenderprozesse die den Stabilen Speicher nutzen wollen m ssen die M glichkeit haben Stabile Objekte im Stabilen Speicher anzulegen zu schreiben zu lesen und auch zu l schen Dies erfolgt in Form von Auftr gen die die Anwenderprozesse an den Stabilen Speicher ber geben Zu diesem Zweck k nnen die Prozessoren des Motorola Systems auf einige Register in nerhalb des Pufferbereichs des Stabilen Speichers zugreifen in die sie den Auftrag und die da 60 Ein Stabiler Speich
34. STM Objekten Schneller Zugriff auf die STM Objekte Schnelle Zugriffe auf die STM Objekte werden erreicht indem der STM direkt an den lokalen Bus angeschlossen ist An diesem befindet sich auch der lokale Speicher des Rechners So k n nen Zugriffe auf den STM hnlich schnell ablaufen wie Zugriffe auf den lokalen Speicher Im Falle einer Schreib Operation sind nur die in einer H lfte des STM abgelegten Daten erreichbar Der Update der zweiten H lfte wird vom intelligenten Controller ausgef hrt 12 Ans tze f r einen Stabilen Speicher Da aber blicherweise Zugriffe auf den lokalen Speicher ohne gr ere Schutzvorkehrungen ab laufen birgt dies f r den STM die Gefahr da schon bei kleineren transienten St rungen irr t mlich auf ihn zugegriffen wird oder da eine falsche Stelle in ihm adressiert wird Um die Auswirkungen solcher Fehler von vornherein zu verringern sind die STM Objekte blicher weise geschlossen und m ssen vor dem Beginn einer Aktion erst ge ffnet werden Nach Ab schlu der Aktion sollten sie wieder geschlossen werden damit unberechtigte Zugriffe auf diese sofort erkannt werden k nnen Die maximale Zahl der Objekte die zu jedem Zeitpunkt ge ffnet sein d rfen ist begrenzt Diese Zahl sollte nach Ban tres Angaben aus Gr nden der m glichen Parallelbearbeitung von Transaktionen gr er als 3 sein Er empfiehlt 8 16 gleichzeitig ge ff nete STM Objekte F r die Beseitigung eines dennoch entsta
35. Speichers J 114 Ein Stabiler Speicher f r MEMSY 6 9 Vorsorgema nahmen im Host System gegen Knotenausf lle Die gemeinsame Nutzung eines Stabilen Speichers durch mehrere Auftraggeber die auch in verschiedenen Prozessorknoten sitzen k nnen war der Grund daf r da Schutzmechanismen eingef hrt wurden die es einem Auftraggeber praktisch unm glich machen sollen auf abgeleg te Daten fremder Auftraggeber zugreifen zu k nnen So erhalten die Auftraggeber nur dann Zu griff auf die Stabilen Objekte wenn sie genaue Angaben bez glich der Kommunikationspage Nummer des Pa wortes und der Objektnummer und l nge machen k nnen Ist auch nur eine dieser Angaben falsch so wird der versuchte Zugriff vom Stabilen Speicher abgewiesen Da durch soll verhindert werden da ein falscher oder ein fehlerhaft arbeitender Auftraggeber das Objekt manipulieren kann Ein Auftraggeber w rde bei Verlust dieser Zugriffsinformationen aber in eine Lage kommen in der er seine eigenen Stabilen Objekte nicht mehr ansprechen verwenden und auch nicht mehr l schen k nnte Diese Gefahr besteht wenn diese Informationen nur in einem fl chtigen Spei cher in der N he des Prozessors aufbewahrt werden w rde Nach einem vor bergehenden Ausfall des Prozessorknotens der durch einen Reset des Prozessorsknotens behoben werden kann ist nicht damit zu rechnen da diese Informationen noch im Hauptspeicher des Prozes sors zu finden sind Es ist auch nich
36. Stabilen Speicher wird auf gleicher Weise die Checkwort Bildung betrieben Sollte das bertragene Checkwort und das vom Stabi len Speicher erzeugte Checkwort nicht bereinstimmen so mu es innerhalb des Stabilen Spei chers m glich sein diese Aktion r ckg ngig zu machen Mit diesem Verfahren wird eine gute Fehler berdeckung erreicht wenn der Fehler darin be steht da einzelne korrekte Worte durch andere Worte ersetzt werden Dies kann z B dann auf treten wenn der Prozessor aus einem falschen Register heraus bertr gt oder wenn eine wegen eines zuvor aufgetretenen bertragungsfehlers eingeleitete Wort Wiederholung nicht oder feh lerhaft abl uft Entsprechende Versuche mit 32 bit Zahlen zeigten da alle falsch zusammen gestellten Bl cke entdeckt wurden Dabei machte es keinen Unterschied ob ein einfacher Checksummenalgorithmus der nur eine Addition ohne Ber cksichtigung eines bertrags macht und ein 32 bit Ergebnis produziert oder ein aufwendigerer Algorithmus mit Ber cksich tigung des bertrags und mit Speicherung als 64 bit Zahl angewandt wurde 50 Fehlerm glichkeiten in MEMSY Unerkannt blieben die Fehler eher dann wenn eine einzelne Bitstelle immer auf einen festen Wert gezwungen wurde Bei diesen Bitspaltenfehlern konnte keiner dieser Checksummenalgo rithmen berzeugen Diese Fehler werden aber viel eher vom Parity Checker entdeckt Bei einer Vertauschung zweier Worte innerhalb des Datenblocks sind alle
37. Wege gibt ber die er seinen ihm zugeordneten Kommunika tionsspeicher erreichen kann Die Wegewahl wird auf Basis der angegebenen physikalischen Adresse vorgenommen Will man erreichen da statt dem Standardweg der Alternativweg f r die bertragung gew hlt wird so mu eine andere physikalische Adresse angegeben werden Dies mu in die Adre bersetzungstabellen eingetragen werden welche die CMMU benutzt Das m te gegebenenfalls von einer Fehlerbehandlungs Routine ausgef hrt werden HIL92 Andere Ma nahmen k nnen softwarem ig implementiert werden wie z B die Erzeugung und berpr fung von Checksummen Mit ihrer Hilfe ist es m glich bei der bertragung von Bl k ken solche Fehler zu entdecken die durch die bertragung eines falschen Wortes innerhalb ei nes Blocks entstehen WAK78 Auch die berwachung eines zuvor festgelegten m glichen Programmablaufs kann zur Erken nung eines fehlerhaften Verhaltens herangezogen werden Hier tun Watchdogs ihre Arbeit MIC92 PMH93 Von ihnen gibt es sehr unterschiedliche Auspr gungen Die einfachsten er warten vom Prozessor nur da dieser periodisch sp testens nach einer vorher festgesetzten Zeit ein Lebenszeichen schickt I m alive Message Wenn dieses Lebenszeichen ausbleibt in terpretiert der Watchdog dies als einen Fehler des Prozessors Aufwendigere Watchdogs kon trollieren den Ablauf des zu beobachteten Programms genauer Dies kann auf der Basis von Si gnature
38. auf das Transferregister wird diese aktuelle Adresse zum Zugriff auf den Puf fer verwendet anschlie end automatisch dekrementiert und wieder in der Kommunikations page abgelegt Dabei wird gleichzeitig festgestellt ob das Blockende schon erreicht worden ist oder nicht Ist das Ende erreicht worden wird dieser Pufferabschnitt f r weitere Zugriffe ge 77 Ein Stabiler Speicher f r MEMSY sperrt Dies ist Teil der Datenmanipulation aus Abb 19 in Abschnitt 6 4 Pufferbereich a 5 Auftraggeber Puffer Offset wird durch Puffersteuerung bestimmt Transfer Register zugewiesener Pufferbereich C Abb 25 Zugriff des Anwenders auf den Puffer E Die bertragung des Datenblocks zwischen dem Prozessor des Host Systems Motorola Sy stem und dem Pufferbereich des Stabilen Speichers ist mit der Gefahr verbunden da ein an derer Auftraggeber Zugriffe auf diesen Datenblock macht obwohl er dazu keine Erlaubnis hat An dieser Stelle wird nicht die berpr fung eines Pa wortes verwendet Denn das h tte bedeu tet da ein Auftraggeber beim Schreiben des Datenblocks seine blicherweise in 32 bit Worten vorliegenden Daten in kleinere Teile z B 20 oder 16 bit Daten aufspalten m te bevor er diese zum Stabilen Speicher transportiert Dies w re eine unn tige Behinderung bei der Zusam menarbeit mit dem Stabilen Speicher So wird auf die Angabe des Pa wortes verzichtet Um dennoch einen akzeptablen Schutz
39. beim Transfer von Datenbl cken 7 1 1 Zugriffe einzelner Prozessoren auf den Kommunikationsspeicher 7 1 2 Zugriffe einzelner Prozessoren auf den Stabilen Speicher 7 1 3 Zugriffe mehrerer Prozessoren auf den Kommunikationsspeicher 7 1 4 Zugriffe mehrerer Prozessoren auf den Stabilen Speicher 7 1 5 Bearbeitung der Auftr ge durch die zentrale Steuerung 7 1 6 Zugriffskonflikte am Pufferspeicher 2 2 2 2 o nennen 7 1 7 Wartezeit der Auftr ge auf ihre Bearbeitung 1 2 Fehlersituationen 244 5 3 ka ele Mae oe aaa line 8 Zusammenfassung und Ausblick 2 22220 e 2 0 0 ee ween eee eens 8 1 Zusammenfassung ea rer 92 AUSBICKE as Seia Aone a ee ea ER ED OM det ADe 9 Literat r 2 a wer SE are aa e ee re edea ae nern Abbildungsverzeichnis Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb BR WN 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Minimalkonfiguration f r eine Fault Tolerant Machine FTM gr erer Multiprozessor einer FIM 2 2 Cm nommen Struktur eines Stable Transactional Memory STM MEMSY mit 5 Knoten Elementar Pyramide MEMSY mit 20 Knoten 4 Knoten in der B Ebene 16 Knoten in der A Ebene V
40. bezeichnet auf den Beginn eines Objekt Deskriptors zeigen hnliches gilt auch f r den Start einer Transaktion Mit diesen berpr fungen zur Laufzeit lassen sich Zugriffsfehler wenigstens zum Teil sofort erkennen bevor ein Schaden z B durch falsche Programmierung oder Adres sierung eingetreten ist Bei einem Multiprozessorsystem ist es oft notwendig eine Gesamt Transaktion aus mehreren Einzel Transaktionen zusammenzusetzen Dies gilt wenn Teile der Gesamt Transaktion in ver schiedenen STMs durchgef hrt werden m ssen Die gesamte Aktion soll nur dann als erfolg reich betrachtet werden k nnen wenn alle einzelnen Teil Transaktionen erfolgreich waren Dazu wird ein zus tzliches Kommando eingef hrt ein Prepare_to_Commit das alle beteilig ten Transaktionen am Ende der ersten Phase im Fall eines erfolgreichen Update im 1 Speicher an einen Koordinator schicken Ansonsten senden sie Abort Wenn dieser Koordinator von allen Transaktionen ein Prepare_to_Commit erhalten hat sendet er das Kommando Com mit ansonsten Abort Die beteiligten Transaktionen warten auf diese Mitteilung und f hren diese Order nach Erhalt aus Auf diese Weise l t sich ein verteiltes Commit Protokoll verwirk lichen 2 3 Absicht zur Implementierung eines Stabilen Speichers f r MEMSY Im n chsten Abschnitt wird n her auf das Multiprozessorsystem MEMSY eingegangen Dabei interessiert vor allem die Interknotenkommunikation ber gem
41. da sich die Knoten unterschiedlich ent scheiden w rden Dann w rden sie sofort ihre Synchronit t verlieren Dies mu verhindert wer den Entscheidungsgrundlage f r Programmverzweigungen sind immer knoteninterne Daten Sie k nnen aus Daten stammen die sich nur innerhalb des Knotens befinden z B Schleifenz hler oder aus tempor r gebildete Daten die aus vorher von anderen Speicherplatinen gelesenen Dat en abgeleitet wurden Ein Fehler der sich dabei nur in einem Knoten ereignet kann dazu f hren da dieser Knoten den Programmablauf in eine andere Richtung lenken wird als die anderen Zun chst wird das nicht erkannt Erst beim n chsten Zugriff ber einen Voter kann die Auswir kung des Fehlers bemerkt werden Wegen der 2 aus 3 Entscheidung am Voter f hrt dies au er halb des Knotens nicht zu einer fehlerhaften Aktion Wird der Knoten der nicht mehr dasselbe tut wie die beiden anderen Knoten vom Voter als asynchron erkannt so meldet der Voter dies an die zentrale Steuerung zur ck Eine Stopp Lo gik h lt dann den entsprechenden Knoten an Nach Abschlu der Bearbeitung eines Auftrags wird wieder versucht diesen Knoten wieder in die gemeinsame Arbeit zu integrieren Die drei Knoten der TMR Schaltung arbeiten intern ohne gegenseitige Beeinflussung Erst Zu griffe die ber ihre Grenzen hinausgehen wie z B der Zugriff auf eine der Speicherplatinen werden ber die Voter geleitet und gegebenenfalls synchronisiert Bei lok
42. dann wenn mindestens ein WBi Signal aufO gesetzt ist Gegen ber einem separaten Schreib Lese Signal und 4 Byte Enable Signalen hat diese Kodierung praktisch keine Einschr nkung Nur eine Schreib operation mit 0 Bytes kann nicht kodiert werden was auch nicht notwendig ist e Operation S Bus Signale Signale zur bertragungsstrecke A RD BE 0 3 WB O 3 Lesen 1 Wort 1 1111 1111 Lesen 1 Halbwort 1 1100 1111 1 0011 1111 Lesen 1 Byte 1 1000 1111 1 0100 1111 1 0010 1111 1 0001 1111 Schreiben 1 Wort 0 1111 0000 Schreiben 1 Halbwort 0 1100 0011 0 0011 1100 Schreiben 1 Byte 0 1000 0111 0 0100 1011 0 0010 1101 0 0001 1110 Tab 2 Gegeniiberstellung der Schreib Lese Steuersignale auf dem S Bus S und der f r die Kommunikationsspeicher ben tigten WBi Signale p Prinzipiell k nnten auch noch andere Schreiboperationen mit den WBi Signalen kodiert werden wie z B das Schreiben von 3 Bytes oder das Schreiben von zwei nicht zusammenh ngenden Bytes Das Prozessorinterface und die Kommunikationsspeicher lassen das zu Jedoch kommt solch ein Auftrag bei dem Motorola Prozessor bzw bei der CMMU nicht vor In den beiden folgenden Abschnitten werden Einzelwort und Mehrwort Transfers wozu Burst und RMW Operationen geh ren n her betrachtet 3 2 2 1 Einzelwort Transfer auf der Ubertragungsstrecke Da es sich bei der bertragungsstrecke um einen im Zeitmultiplex betriebenen Bus handelt m ssen die beiden Phasen i
43. den Stabilen Speicher gestellt werden orientieren sich an verschie denen Gesichtspunkten Zun chst einmal mu es im Stabilen Speicher m glich sein ein aus der Sicht des Anwendersy stems atomaren Update eines Stabilen Objekts durchf hren zu k nnen Dies lehnt sich an die Vorschl gen von Lampson an Da es sich hier um eine Implementierung handelt bei der das Speichermedium aus RAM Bausteinen besteht wird es bez glich des Ablaufs und der Fehler erkennungsm glichkeiten einige Abweichungen zu den Vorschl gen von Lampson geben Aber die Eigenschaft da die zur Verf gung gestellten Operationen nur auf ganze Stabile Ob jekte wirken d rfen und nicht auf einzelne Worte innerhalb des Objekts ndert sich nicht Ebenso mu die Persistenz der Stabilen Objekte gew hrleistet sein Das bedeutet da ein ein mal im Stabilen Speicher abgelegtes Objekt so erhalten werden kann da auch nach sehr langer Zeit dieses Objekt noch ohne Ver nderung gelesen werden kann Diese Zeit sollte deutlich ber der MTBF des Gesamtsystems liegen blicherweise wird ein Sicherungspunkt im Stabilen Speicher zwar sehr viel k rzer aufgehoben werden m ssen als diese angegebene Zeit Dennoch wird eine sehr lange Zeit gefordert da dieser Stabile Speicher nicht nur in der Lage sein soll Sicherungspunkte aufzunehmen sondern auch andere Daten sicher speichern soll die nicht ab und zu einmal ver ndert werden Bei so langen Zeitvorgaben kann man nicht davon ausgeh
44. denen der Wert eines einzelnen Bit ver ndert worden ist m ssen eben falls sofort am Stabilen Speicher erkannt werden Wenn dabei die Bits f r die Wegesteuerung betroffen sind kann dies auch die Ursache f r eine falsche Wegewahl sein Einzelne ver nderte Bits k nnen durch Parity Sicherung erkannt werden Dabei sollen sowohl die Daten als auch die Adressen mit diesem Schutz versehen sein Denn gerade unerkannte Adre fehler k nnen zu sehr schwer zu diagnostizierenden Fehlern f hren wenn man nicht mehr herausfinden kann an welcher falschen Stelle eine Schreiboperation stattgefunden hat F r Fehler die sich auf dem bertragungsweg zwischen Prozessor bzw CMMU und dem Sta bilen Speicher ereignen m ssen folgende Fehlerarten toleriert werden k nnen falsche Wegewahl und dadurch bertragung zu falschem Ziel Einzelbit Fehler bei Adressen und Daten 5 6 3 Fehler innerhalb des Stabilen Speichers Eine weitere und noch kritischere Fehlerquelle ist der Stabile Speicher selbst Hier kann keine u ere Kontrolle einen Fehler verhindern oder korrigieren Daher m ssen innerhalb des Stabi len Speichers Vorkehrungen getroffen werden so da eine Gef hrdung der Daten vor unbeab sichtigter Zerst rung so klein wie m glich gehalten werden kann 52 Fehlerm glichkeiten in MEMSY Die wichtigsten Ziele sind dabei unmittelbare Eigenkontrolle der zentralen Ablaufsteuerung im Stabilen Speicher Fehler m ssen sofort erkann
45. die Zugriffsw nsche der Prozessoren auf ihre Berechtigung hin berpr ft 57 Ein Stabiler Speicher f r MEMSY Der Stabile Speicher hat eine Unterteilung in drei Bereiche siehe auch Abb 17 Pufferbereich Der Pufferbereich bildet die Schnittstelle zwischen dem Anwendersystem Prozessoren und Kommunikationsspeicher und dem Stabilen Speicher Die Prozessoren k nnen bis hier hin zugreifen und ihre Auftr ge ablegen um dem Stabilen Speicher mitzuteilen was er tun soll Ebenso steht hier ein Pufferspeicher zur Verf gung ber den die Stabilen Ob jekte ausgetauscht werden Hier werden auch Datenstrukturen abgelegt und aktuell gehal ten mit deren Hilfe ber die Zugriffsberechtigung entschieden werden kann Die Aktio nen in diesem Bereich werden von einer Puffersteuerung ausgef hrt Verarbeitungsbereich zentrale Steuerung Als n chstes schlie t sich die zentrale Steuerung des Stabilen Speichers an Sie hat die Aufgabe die im Pufferbereich abgelegten Auftr ge auszuf hren Ihre Vorgehensweise orientiert sich am Algorithmus von Lampson Zus tzlich m ssen auch noch weitere Auf tragsarten vor allem Verwaltungsaufgaben bearbeitet werden Der zentralen Steuerung obliegt auch die Kontrolle ob der angegebene Auftrag und die bergebenen Parameter konform zu den Angaben ber die Stabilen Objekte sind Auf Grund der zentralen Bedeu tung dieser Steuerung f r die Funktionsweise des Stabilen Speichers wird sie zum Schutz
46. diesen der Platz an der Seite ei nes Kommunikationsspeichers ausgew hlt Somit ist kein zus tzliches Verbindungssystem f r den Zugriff auf den Stabilen Speicher erforderlich Das Koppelmodul verf gt ber die Eigenschaft von jedem angeschlossenen Prozessorknoten aus einen Weg zu allen angeschlossenen Kommunikationsspeichern bereitstellen zu k nnen siehe Abb 15 Somit k nnen die vier Kommunikationsspeicher aus der Grundfl che einer Elementarpyramide als gemeinsamer Speicher der zugeh rigen Prozessorknoten genutzt wer den Dies geht ber die urspr nglich geforderte Nachbarschaftsverbindung von MEMSY hin aus denn nun gibt es ber das Koppelmodul innerhalb der Ebene auch eine Zugriffsm glichkeit entlang einer Diagonalen 37 Integration des Stabilen Speichers in MEMSY a KS KS KS ommunikationsspeicher Koppelmodul Prozessorknoten C Abb 15 vollst ndige Verbindungen ber ein Koppelmodul E Zwischen den vier A Knoten und dem zugeh rigen B Knoten ist ebenfalls ein Koppelmodul eingesetzt ber dieses greift der B Prozessor auf die vier Kommunikationsspeicher seiner un tergebenen A Prozessoren zu Damit hat auch der B Prozessorknoten wie gefordert einen di rekten Zugriff auf diese vier Kommunikationsspeicher siehe Abb 16 F B Ebene Kommunikationsspeicher und Prozessorknoten Koppelmodul A Ebene Stabiler Speicher Kommunikationsspe
47. f r die bertragenen Datenbl cke aufrechterhalten zu k nnen wird der zugeh rige Pufferabschnitt nur f r den Zeitabschnitt ge ffnet wie es f r die bertragung des Datenblocks zwischen Auftraggeber und Stabilem Speicher erforderlich ist Bei WRITE Auftr gen ist dies unmittelbar nach der Bereitstellung des Pufferabschnitts Nach der bertragung des letzten Wortes wird der Pufferabschnitt von der Puffersteuerung automa tisch gesperrt Weitere Zugriffe eines beliebigen Prozessors auf diesen Pufferabschnitt sind dann nicht mehr m glich Die Freigabe erfolgt von der zentralen Steuerung nachdem das Sta bile Objekt komplett neu beschrieben oder der alte Zustand wiederhergestellt worden ist Zu diesem Zeitpunkt ist auch der WRITE Auftrag vollst ndig ausgef hrt worden Bei READ Auftr gen ffnet die zentrale Steuerung den Pufferabschnitt nachdem sie die ber tragung der Kopie des angeforderten Stabilen Objekts aus dem Lagerbereich in den Pufferbe reich abgeschlossen hat Nachdem das letzte Wort vom Auftraggeber aus dem Pufferabschnitt gelesen worden ist wird dieser Pufferabschnitt von der Puffersteuerung wieder gesperrt Aus 78 Ein Stabiler Speicher f r MEMSY Sicht des Stabilen Speichers ist der READ Auftrag in diesem Moment beendet worden Zus tzlich zu dieser Zeitbegrenzung ist der Zugriff auf den Pufferabschnitt je nach Auftragsart auf Schreiben bzw Lesen beschr nkt Ein Zugriff mit der falschen Transferrichtung durch ein
48. g ltig Die restlichen Steu ersignale sind nicht w hrend der ganzen bertragungsphase g ltig da sie auf Leitungen auf dem S Bus angeboten werden die im Zeitmultiplex betrieben werden Ein Signal das Adre Daten Phase Signal AP entscheidet welche Bedeutung die restlichen Steuersignale haben In der Adre phase AP 1 ist das Lock Signal g ltig Es gibt an ob es sich um einen Einzel wort Transfer oder um einen Burst Transfer handelt LK 0 oder ob ein RMW Befehl ausge f hrt wird LK 1 In der Adre phase gibt es noch drei andere Steuersignale die f r die Cache Koh renz von Bedeutung sind F r den Entwurf des Prozessorinterfaces sind sie aber nicht von Bedeutung In der Datenphase AP 0 gibt das Last Data Transfer Signal LDT an ob nach der bertragung eines Wortes noch weitere Transfers folgen Burst Transfer LDT 0 oder nicht LDT 1 Ferner geben in der Datenphase 4 Byte Enable Signale BE 0 3 an welche Bytes aus dem bertragenen Wort am Ziel relevant BEi 1 sind Da ber die bertragungsstrecke aber immer 4 Byte 1 Wort gleichzeitig transportiert werden sind die Byte Enable Signale f r die Durchf hrung des Transfers selbst nicht von Bedeutung Erst der Empf nger des Wortes beim Schreiben der Speicher beim Lesen der Prozessor bzw die CMMU wertet diese Information aus Nach dem Start einer bertragung liegt auf dem S Bus als Antwort Warte Wait Signal vor Die CMMU wartet nun solange
49. gegen Ausf lle in TMR Technik aufgebaut Im Fall da eine der drei Einheiten vor ber gehend ausf llt kann eine Fortf hrung der Arbeit zumindest zeitweise bis zum Auftre ten des n chsten Fehlers noch aufrechterhalten werden Lagerbereich Objektspeicher Der dritte Bereich ist der Lager Bereich f r die Stabilen Objekte Er besteht aus zwei Ob jektspeichern Ein Stabiles Objekt wird als zweifache Kopie in diesen beiden Objekt speichern abgelegt Auf diesen Bereich hat nur die zentrale Steuerung des Stabilen Spei chers Zugriff Dies soll die Stabilen Objekte vor unkontrollierten Ver nderungen durch die Anwenderprozesse sch tzen Die Aufgaben welche die Puffersteuerung und die zentrale Steuerung bernehmen sind von sehr unterschiedlicher Natur In der zentralen Steuerung stehen die Behandlung eines Stabilen Objekts und dessen sichere Aufbewahrung im Vordergrund Dem gegen ber sieht der Ablauf der sich im Pufferbereich abspielt ganz anders aus Hier ist es wie beim Kommunikationsspei cher an der Tagesordnung da mehrere Prozessoren einzelne Worte schreiben oder lesen wol len Jeder Zugriff kann ein anderes Objekt betreffen und Zugriffe zur Auftragsvergabe und zum Datenaustausch erfolgen ohne erkennbare Ordnung durcheinander da jeder Prozessor sich in einer anderen Bearbeitungsphase befinden kann In dieser Situation mu die Puffersteuerung in der Lage sein einen gr tm glichen Schutz vor unberech
50. hindeuten als auch auf ein Defekt auf dem bertragungsweg Bei der bertragung des Datenblocks zwischen dem Auftraggeber und dem Pufferbereich des Stabilen Speichers kann sich eine Situation einstellen in der der Auftraggeber auf Grund eines Fehlers au er Tritt ger t und nicht mehr herausfinden kann bei welchem Wort er inzwischen angekommen ist Um in solchen F llen einen einfachen Ausstieg aus dem aktuell laufenden Auftrag zu erm glichen existiert ein Abbruchregister in der Kommunikationspage KP 7 Das Schreiben des Pa wortes linksb ndig auf dieses Abbruchregister bewirkt da der Puffer platz wieder freigegeben wird Ein Abbruch ist allerdings nur dann m glich wenn bei einem Auftrag mit Datentransfer die Transferphase an der Reihe ist In allen anderen F llen hat der Schreibzugriff auf das Abbruchregister keine Wirkung Der Erfolg dieser Aktion kann auch im Ergebnisregister abgefragt werden Diese Einschr nkung einen Abbruch nur in der Transferphase zuzulassen ist n tig um unklare Situationen zu vermeiden Da der Stabile Speicher nach einer Auftragserteilung Eintrag im Auftrags FIFO bis zur Auftragsfertigstellung keinen Kontakt zum Auftraggeber herstellt w r de ein Abbruch w hrend dieser Phase eine unterschiedliche Sicht zur Folge haben Der Stabile Speicher w re z B noch mit einem Update eines Stabilen Objekts besch ftigt w hrend der Auf traggeber dieses nach der vollst ndigen bergabe der Daten abbrechen wollte
51. ist die gleiche wie beim Schreibzugriff Dagegen wird eine St rung die die bertragenen Daten auf dem Weg vom Stabilen Speicher zum Prozessor ver ndert nur vom empfangenden Prozessor als Parityfehler erkannt vom Stabilen Speicher aber nicht bemerkt Hier ist der Auftraggeber gefordert dem Stabilen Speicher erkennbar zu machen da beim n chsten Zugriff auf den FIFO Puffer das soeben ausgegebene Wort erneut bertragen werden soll Dazu gibt es innerhalb der Kommunikationspage das Wiederholungs Register KP 6 das nun an Stelle des Transferregisters adressiert werden mu Dieses Register enth lt immer das letzte aus dem FIFO Puffer gelesene Wort Dabei mu die vom Anwender erhaltene Adresse korrekt gewesen sein d h ausschlie lich bei einem Lesezugriff bei dem der bertragungsfeh ler beim gelesenen Wort aufgetreten ist f hrt der nachfolgende Zugriff auf das Wiederholung sregister zum gew nschten Resultat Betraf der bertragungsfehler dagegen die Adresse so mu beim Wiederholungszugriff das Transferregister adressiert werden Zur Kl rung der Art des aufgetretenen Fehlers reicht das Error Signal auf dem bertragungs weg allein nicht aus denn es zeigt nur irgendeinen bertragungsfehler an Die Unterscheidung ob der Fehler bei der Adre oder bei der Daten bertragung aufgetreten ist l t sich aus dem Statusregister im Prozessorinterface ermitteln Nach Auswertung dieser Information kann rich tig auf den bertragungsfehler
52. korrekten Daten Weitere Untersuchungen besch ftigten sich mit Fehlersituationen die innerhalb des Stabilen Speichers betrachtet werden falsche Angaben zum Auftrag bertragung eines fehlerhaften Datenblocks Ver nderungen in den abgelegten Daten voriibergehender Ausfall der zentralen Steuerung voriibergehender Ausfall eines Speicherbereichs Pufferbereich Objektspeicher Diese Fehler wurden alle erkannt und konnten geeignet behandelt werden Dabei war sicherge stellt da zum Abschlu der Fehlerbehebung immer ein Konformes Stabiles Objekt in zweifa cher Kopie vorlag was hier die Voraussetzung f r eine umfassende Fehlertoleranz ist Nun wird n her auf die oben aufgef hrten Fehlersituationen eingegangen Zur Feststellung der korrekten Arbeitsweise des Auftraggebers vergleicht die zentrale Steue rung als erstes alle Angaben die der Auftraggeber zum Objekt gemacht hat mit den Angaben die der Stabile Speicher bei der Erzeugung des angesprochenen Stabilen Objekts bei sich abge legt hatte Besteht eine Diskrepanz oder handelte es sich um einen ung ltigen Auftrag so wird dies im Ergebnisregister der betreffenden Kommunikationspage eingetragen und der Auftrag beendet Das angesprochene Stabile Objekt wird dabei nicht ver ndert Daf r ist die zentrale Steuerung weniger als eine Millisekunde lang besch ftigt Die bertragung eines fehlerhaften Datenblocks bei einem WRITE Auftrag wird von der zen t
53. korrigiert wer den k nnen Dazu wird die Operation CLEANUP eingef hrt Sie mu regelm ig f r alle be nutzten Datenblockpaare gestartet werden Sie vergleicht die Inhalte von Datenblockpaaren miteinander Sind beide Bl cke fehlerfrei und tragen die gleiche Information so ist nichts wei ter zu tun Ist ein Block fehlerfrei der korrespondierende aber nicht so wird der fehlerfreie Block auf den anderen mit CAREFUL_PUT kopiert Unter der Voraussetzung da w hrend ei ner l ngeren Zeit h chstens ein spontanes Fehlerereignis auftritt das den korrekten Block in ei nen fehlerbehafteten Block umwandelt lassen sich auftretende Fehler mit Hilfe von CLEANUP beheben Aus dieser Vorgehensweise l t sich erkennen da das angesprochene Zeitintervall mindestens so lang sein mu wie man f r die berpr fung aller Datenbl cke im Stabilen Speicher und f r deren Korrektur maximal brauchen w rde Damit dem Prozessor auch f r Nutzarbeit noch Zeit bleibt sollte die Zeitspanne deutlich h her liegen Die Operation CLEANUP soll auch direkt nach einem Prozessor Crash eingesetzt werden In dieser Situation m ssen zun chst alle Datenblockpaare auf Gleichheit untersucht werden Bei jedem Datenblockpaar k nnen als Ergebnis drei verschiedene Situationen vorliegen 1 beide Datenbl cke sind in Ordnung und tragen dieselbe Information 2 ein Datenblock ist in Ordnung der andere nicht 3 beide Datenbl cke sind zwar in Ordnung tragen aber
54. leistungsf higeren Maschinen k nnen aber die realit tsn heren aber komplizierteren Modelle f r die Beschreibung der realen Welt in vertretbarer Zeit berech net werden Man dreht sich also im Kreis Je leistungsf higer die Rechner werden um so gr er werden die Anspr che die zur Bew ltigung der Aufgabe gestellt werden Somit wird es wohl nie dazu kommen da die aufwendigen Aufgaben f r einen Rechner ausgehen Multiprozessoren bieten nun die M glichkeit die Leistungsf higkeit eines Rechners noch be deutend zu vergr ern Das betrifft sowohl die verf gbare Verarbeitungsleistung als auch den gesamten Arbeitsspeicher Es ist also kein Wunder da sie bei rechenintensiven und speicher intensiven Aufgaben eingesetzt werden Und auch hier ist man oft genug gezwungen lange Re chenzeiten f r die Bew ltigung der Aufgabe in Kauf zu nehmen Mit der Gr e eines Systems w chst aber nicht nur die Rechenleistung sondern im allgemeinen auch die Wahrscheinlichkeit daf r da ein Fehler im Rechner auftritt Das bezieht sich auf die Hardware des Systems wie auch auf die Software die auf diesem Rechner eingesetzt wird Feh lertoleranzma nahmen sind also erforderlich um langlaufende Prozesse vor den schwerwie genden Folgen eines Fehlers zu bewahren Voraussetzung daf r Fehlertoleranzma nahmen berhaupt wirkungsvoll einsetzen zu k nnen ist die Entdeckung des Fehlers ANL81 Je fr her dies nach dem Auftreten des Fehlers ge sc
55. lfte ein Fehler so kann dieser nach seiner Entdeckung durch Kopieren aus der anderen H lfte behoben werden Die zweite H lfte ist nach Voraussetzung noch korrekt da in der vorgegebenen Zeitspanne h chstens ein Fehler auftreten darf Daraus er gibt sich die Konstruktion der Operationen STABLE_GET und STABLE_PUT Bei einem STABLE_GET wird zun chst mit einem CAREFUL_GET von der ersten H lfte ge lesen Ist der Block fehlerfrei bertragen worden so ist nichts weiter zu tun Ist aber ein Fehler entdeckt worden so wird dieser Block mit einem CAREFUL_GET aus der zweiten H lfte ge lesen Diese ist nach Voraussetzung noch fehlerfrei Das Resultat der Operation STABLE_GET ist daher immer erfolgreich Bei einem STABLE_PUT wird zun chst ein CAREFUL_PUT auf die erste H lfte ausgef hrt War dies erfolgreich so wird auch auf die zweite H lfte ein CAREFUL_PUT durchgef hrt Konnte auch dies erfolgreich beendet werden so ist die Aktion STABLE_PUT erfolgreich be endet worden Dadurch da die zweite CAERFUL_PUT Aktion erst dann gestartet werden darf wenn die erste erfolgreich beendet worden war wird sichergestellt da zu jedem Zeit punkt ein korrekter Datenblock verf gbar ist Das Erkennen eines Fehlers darf nicht zu lange dauern damit die Anforderung an das Zeitinter vall in dem h chstens ein Fehler auftreten darf nicht zu hoch werden W hrend dieser Zeit m ssen s mtliche Datenblockpaare auf Gleichheit berpr ft und gegebenenfalls
56. n sche zu bearbeiten als ein einziger Prozessor erzeugen kann Weitere Prozessoren die ihre Zu griffe ber die anderen Ports am Kommunikationsspeicher f hren k nnen dies nutzen Diese berlappung der Zugriffe wird zwar bei konkurrierenden Zugriffen ber ein Koppelmodul auf einen Kommunikationsspeicher nicht genutzt sie macht aber deutlich da bei intensiven Zu griffen mehrerer Prozessoren auf denselben Kommunikationsspeicher die Prozessoren selbst bzw das Koppelmodul der begrenzende Faktor sind und nicht der Kommunikationsspeicher Der regelm ig auftretende Refresh der DRAM Module macht sich in den Messungen kaum bemerkbar Er tritt etwa alle 11 usec auf und belegt den Kommunikationsspeicher f r die Dauer von etwa 0 3 usec Er tritt wie ein weiterer Zugreifer auf den Kommunikationsspeicher auf der asynchron zu den Prozessoren arbeitet Da er aber keinen laufenden Zugriff verdr ngt und sein Anteil an der Speicherbelegung unter 3 liegt 0 3 usec von 11 usec macht sich der Refresh praktisch nicht im Zeitverhalten der Prozessoren bemerkbar Daher wird diese Zeit nicht weiter ber cksichtigt In Tab 3 sind die Me ergebnisse f r die beiden Hardware Konfigurationen ohne mit Koppelmodul dargestellt Ferner enth lt die Tabelle auch die Zugriffszeit des Pro 120 MeBergebnisse zessors auf den Privatspeicher Die Zeiten sind in der Regel auf 0 1 usec genau angegeben ob wohl genauere Me ergebnisse auf 0 01 usec genau vor
57. noch verst rkt da die Reihenfolge der erzeugten Teilworte Kommunikationspage Nummer und Pa wort nicht aus einer auf oder absteigenden Folge von Zahlen besteht Stattdessen wird f r jedes Teilwort je ein r ckgekoppeltes Shiftregister benutzt Bei diesen R ckkopplungen wurde darauf geachtet da ihnen primitive Polynome zugrunde liegen WIS78 Dann erh lt man Zyklen die die L n ge 2 haben Das bedeutet da bis auf den Wert Null alle m glichen Zahlen vertreten sind F r die Anzahl der KP Nummern gilt n 8 d h es gibt 255 Kommunikationspages F r das Pa wort gilt n 12 d h 4095 verschiedene Pa w rter kommen vor N Zyklus mit 69615 Zust nden Abb 32 Zustandsmenge und berg nge der Kombinationen o zwischen KP Nummer und Pa wort J 89 Ein Stabiler Speicher f r MEMSY Die beiden Zyklen werden gleichzeitig gestartet und laufen mit derselben Taktfrequenz hier 32 MHz Da die Zyklen unterschiedlich lang sind wird es zu jeder KP Nummer auch unter schiedliche Pa w rter geben Um zu ermitteln nach welcher Taktzahl sich der gesamt Zyklus wiederholt mu das kleinste gemeinsame Vielfache kgV der beiden Zyklenl ngen berechnet werden Daraus ergeben sich 69615 Takte das sind 17 x 4095 Takte bzw 273 x 255 Takte Mit anderen Worten solange man sich in einem Zyklus befindet k nnen zu jeder KP Nummer 273 verschiedene Pa w rter vergeben werden Um die Kombinationsm glichkeiten zwischen KP Nu
58. unterschiedliche Inhalte Im ersten Fall ist alles in Ordnung da der Datenblock zum Zeitpunkt des Crashes offenbar nicht bearbeitet worden war Ans tze f r einen Stabilen Speicher Im zweiten Fall war eine H lfte des Datenblocks w hrend des Crashes offenbar in einer Update Phase und diese Aktion wurde unterbrochen Nach der oben dargestellten Vorgehensweise der Operation STABLE_PUT mu die andere H lfte noch in Ordnung sein So kann die defekte H lfte durch Kopieren der anderen H lfte korrigiert werden Als Ergebnis erh lt man entweder den Zustand in dem das Datenblockpaar schon die Update Aktion erfolgreich ausgef hrt hat oder den Zustand in dem sich das Datenblockpaar vor der Update Aktion befunden hat Die dritte Situation kann nur auftreten wenn der Crash bei einer Update Operation auf dem Sta bilen Speicher genau zwischen den beiden CAREFUL_PUT Phasen aufgetreten ist In dieser Situation kann man beim CLEANUP beliebig entscheiden ob f r beide Bl cke der alte oder der neue Inhalt durch CAREFUL_PUT gebildet werden soll Mit dem Starten der Operation CLEANUP nach einem Prozessor Crash kann erneut mit dem Abmessen der Zeitspanne begonnen werden bis zu der ein erneutes CLEANUP f r alle Daten blockpaare gestartet werden mu Abschlie end sei noch auf einige Verh ltnisse hingewiesen die speziell bei einer Implementie rung mit Plattenspeichern beachtet werden m ssen Sie betrifft die Auswahl der Lage f r die Dat
59. 0 0 20000 00 Datenbasis f r die aktuelle Belegung der Pufferpl tze und der Kommunikations Pages KPs 2 2 2 on rn nen Konfiguration zur Messung am Kommunikationsspeicher Konfiguration zur Messung am Stabilen Speicher 2 2 2 2 2 bertragungsleistung bei Transferoperationen in den Kommunikationsspeicher bzw in den Stabilen Speicher Tabellenverzeichnis Tab Tab Tab Tab Tab Tab Tab Tab Tab Tab N aA Wr w 10 Gegen berstellung der Signale am S Bus und an der bertragungsstrecke Gegen berstellung der Schreib Lese Steuersignale auf dem S Bus und der f r die Kommunikationsspeicher ben tigten WBi Signale Zugriff eines Prozessors auf den Kommunikationsspeicher Zugriff eines Prozessors auf die VIP und die KP des Stabilen Speichers WRITE Zugriff eines Prozessors auf den Stabilen Speicher Zugriff mehrerer Prozessoren auf den Kommunikationsspeicher mit einer Blockl nge von 65536 Worten 64 KWorte WRITE Zugriff mehrerer Prozessoren auf den Stabilen Speicher mit einer Blockl nge von 65536 Worten 64 KWorte Auftragsbearbeitung durch die zentrale Steuerung Bearbeitungsrate der zentralen Steuerung bei den optimierten Transfer Operationen 2 2 2 2m rennen Interne Transferraten der zentralen Steuerung Motivation 1 Motivation Computer sind aus dem heutigen
60. 00 Worte pro Se kunde ca 2 2 MByte sec aufnehmen zu k nnen Gegen ber dem Kommunikationsspeicher 0 45 usec ber 2222000 Worte pro Sekunde etwa 8 4 MByte sec ist das eine Verringerung etwa um den Faktor vier Das macht den zus tzlichen Synchronisationsaufwand zwischen dem Kommunikationsspeicher und dem Stabilen Speicher sowie den Schutzaufwand deutlich 128 MeBergebnisse Ber cksichtigt man noch das Koppelmodul ber das in beiden F llen zugegriffen wird so be tragen die Zeiten 2 15 usec f r den Stabilen Speicher gegen ber 0 85 usec f r den Kommuni kationsspeicher ber das Koppelmodul k nnen somit bis zu 465000 Worte in den Puffer des Stabilen Speichers geschrieben werden w hrend in den Kommunikationsspeicher bis zu 1176000 Worte bertragen werden k nnen Das Verh ltnis ist in diesem Fall nicht mehr 1 3 9 sondern 1 2 5 Die bisherigen Messungen brachten Aufschlu ber die Leistungsf higkeit des Pufferbereichs des Stabilen Speichers beim Zugriff eines einzelnen Prozessors Da aber zu erwarten ist da bei einem typischen Multiprozessorprogramm mit regelm igem Schreiben von Sicherungsdaten mehrere Prozessoren gleichzeitig die Absicht haben Datenbl cke in den Stabilen Speicher zu schreiben wurden weitere Messungen vorgenommen Dabei greifen bis zu vier Prozessoren ber ein Koppelmodul auf den Pufferbereich zu 7 1 3 Zugriffe mehrerer Prozessoren auf den Kommunikationsspeicher Die bisherigen Beobachtun
61. 04 24 e uo 2 ee te a er a Sb 6 4 1 Schutzmechanismen in der Zugriffskontrolle 6 4 1 1 Kommunikationspages 2 2 2 Cm nen 6 4 1 2 Schutzeinrichtungen in der Kommunikationspage 6 4 2 Ablauf der Auftr ge ohne Datentransfer im Stabilen Speicher 6 4 3 Datentransfer zwischen dem Auftraggeber und dem Stabilen Speicher 6 4 4 Die Vermittlungs und Informations Page VIP 6 5 Die Steuerungs Einheit f r diesen Stabilen Speicher 2 22 2 2 6 5 1 bergabe und Bearbeitung der Auftr ge 2 2 222 22 6 5 2 Struktur der Speicherverwaltung 2 2 2 2 onen 6 5 3 Schutz der zentralen Steuerung vor eigenem Ausfall 2 2 6 5 4 Reaktion der zentralen Steuerung bei Ausfall einer Speicherplatine 6 5 5 Aufbau eines Knotens der zentralen Steuerung 6 5 6 Die gemeinsame Synchronisations und Austausch Einheit der Knoten 6 6 Der Lagerbereich pale 28 3a a a ir a ee ee GI DIeVoter Le can ho Pda at BENG te sce Shee Na an er Et st Dee An ii A 6 7 1 Synchroner Zugriff ber die Voter 2 2 ou nenn 6 7 2 Asynchroner Zugriff ber die Voter 2 22 2 on onen 6 7 3 Alternative Arbeitsweise f r Testzwecke 2 2 2222 onen 6 8 Zusammenfassung der tolerierbaren Fehler 2 2 22 22m nn 6 9 Vorsorgema nahmen im Host System gegen Knotenausf lle T MeBergebnisse s 2 en nr hier ar 7 1 Leistungsf higkeit des Stabilen Speichers
62. 19 in Abschnitt 6 4 Pufferbereich F r die Freigabe eines Pufferbereichs besteht auch die M glichkeit ein bestimmtes Bit zu 16 schen Die Position des Bits kann eindeutig auf Grund der angegebenen aktuellen Pufferadresse w hrend des Transfers des letzten Wortes eines Blocks bestimmt werden 124 MeBergebnisse Auf ganz hnliche Weise erfolgt auch die Freigabe einer belegten Kommunikationspage Im Rahmen der Ausfiihrung des RELEASE Auftrags tibertragt die zentrale Steuerung des Stabilen Speichers die auszutragende KP Nummer an diese Hardware die ihrerseits das entsprechende Bit l scht Die Position des Bits unter 256 Bits kann eindeutig aus der KP Nummer ermittelt werden In diesem Fall mu kein Suchalgorithmus ausgef hrt werden Die unterschiedlichen Aktionenfolgen werden durch eine programmierte Steuerung ausgef hrt Dabei m ssen meistens mehrere Zugriffe auf die Eintr ge einer Kommunikationspage oder der VIP erfolgen Die Anzahl der Zugriffe kann als Ma f r die Ausf hrungsdauer einer Aktionen folge dienen Den meisten Zugriffen der Auftraggeber l t sich eine bestimmte feste Zahl an Aktionen zuordnen Einige wenige sind dagegen abh ngig von den aktuellen Zust nden im Puf ferbereich So mu beim ACCESS Zugriff wobei dem Auftraggeber ein neues Pa wort und eine neue KP Nummer zugewiesen wird unter Umst nden ein Algorithmus ausgef hrt werden bei dem mehrere Eintr ge in der Datenbasis f r die KP Belegung unter
63. 2 Ein Stabiler Speicher f r MEMSY a VIP 0 3 STABLE __ STORAGE _ VIP 4 7 MEMSY___VER_1 0_ VIP 8 11 ANDREAS_GRYGIER_ VIP 12 15 MANFRED_SEMMLER_ VIP 16 19 UNI_ERLANGEN____ VIP 20 23 IMMD_3__1994 VIP 24 Zahl der noch freien Kommunikationspages VIP 25 Zahl der maximal verf gbaren Kommunik Pages VIP 26 eingestellte Anwender Page Gr e in Bytes VIP 27 Zahl der noch freien Pages im Stabilen Speicher VIP 28 Gr e einer Page im Stabilen Speicher in Worten VIP 29 Zahl der maximal verf gbaren Pages im St Sp VIP 30 31 0 VIP 32 47 Info ber Belegung der Kommunikationspages VIP 48 55 0 VIP 56 60 Info ber Belegung der Pufferbereiche VIP 61 62 reserviert unbekannte Werte VIP 63 Pa wort KP Nr C Abb 35 Struktur der VIP J 93 Ein Stabiler Speicher f r MEMSY Um beim Start Hochfahren des Systems herauszufinden ob sich im Bereich eines bereits ge fundenen Kommunikationsspeichers ein Stabiler Speicher befindet kann eine entsprechende Such Software versuchen in dem Bereich der VIP des vermuteten Stabilen Speichers ent sprechende Daten zu finden lesen Dabei kann nach der Zeichenkette gesucht werden die durch die Werte von VIP 0 23 gebildet werden Das letzte Byte innerhalb von VIP 23 hat den Wert Null Das ist bei der Programmiersprache C das Endekennzeichen eines Strings Zei chenkette KER90 Ein Stabiler Speicher kann an der Zeichenkette STABLE__ST
64. 5 Ein Stabiler Speicher f r MEMSY block m glich ist So kann bei Parityfehlern der Ort des Fehlers bis auf das Byte genau lokali siert werden Au erdem ist es m glich sehr viele gleichzeitig vorliegende Parityfehler zu be heben Bei READ Auftr gen kopiert die zentrale Steuerung das Stabile Objekt zun chst aus dem ersten Objektspeicher in den bereitgestellten Pufferabschnitt Der Adre bereich l t sich aus den An gaben ermitteln die vor bzw w hrend der Aufrags bergabe in dem Parameterregister KP 2 Objektl nge vom Auftraggeber und im Transferregister KP 5 Startadresse von der Puffer steuerung eingetragen wurde Genauso konnte bei WRITE Auftr gen der Adre bereich im Puf ferspeicher von der zentralen Steuerung gefunden werden Wird bei der bertragung des Da tenblocks ein Parityfehler oder ein Checksummenfehler festgestellt so wird der Transfer wie derholt als Quelle jedoch der zweite Objektspeicher benutzt Ist dieser Transfer fehlerfrei ab gelaufen so ist der Auftrag f r die zentrale Steuerung beendet Ist aber auch beim zweiten Transfer ein Fehler erkannt worden so mu ein VERIFY durchgef hrt werden wie dies bereits beim WRITE Auftrag beschrieben wurde Ist dies erfolgreich so erh lt der Auftraggeber ein konsistentes Objekt im Pufferbereich Ansonsten wird ihm im Ergebnisregister der Fehler mit geteilt Im Fall da ausschlie lich in einer Kopie in der ersten Kopie Fehler entdeckt worden sind wird de
65. 521 1990 150 Literatur PEW72 PMH93 ROB93 SEM93 SFB93 SIE82 SIE93 SPH94 TIC90 TIT89 TDS88 TDD89 WAK78 WIS78 Peterson W W Weldon E J Error Correcting Codes 2 Edition MIT Press Cambridge Massachusetts 1972 Pataricza A Majzik I Hohl W Honig J Watchdog Processors in Parallel Systems Microprocessing and Microprogramming 39 S 69 74 1993 Robbert G Software Simulation eines Stabilen Speichers Studienarbeit im Fach Informatik am IMMD 3 der Universit t Erlangen N rnberg M rz 1993 Semmler M Die Steuerung fiir einen Stabilen Speicher Diplomarbeit im Fach Informatik am IMMD 3 der Universit t Erlangen Niirnberg Dezember 1993 Arbeits und Ergebnisbericht des SFB182 S 114 120 Erlangen 1993 Siewiorek D P Swarz R S The Theory and Practice of Relieable System Design Digital Press 1982 Sieh V Transparente Zustandssicherung und wiederherstellung im Memsos Betriebssystem Diplomarbeit im Fach Informatik am IMMD 3 der Universit t Erlangen N rnberg M rz 1993 Sieh V Pataricza A Sallay B Hohl W Honig J Beny B Fault Injection Based Validation of Fault Tolerant Multiprocessors Proceedings of the 8th Symposium on Microcomputer and Microprocessor Applications Budapest S 85 94 Oktober 1994 Texas Instruments Interface Circuits Data Book Te
66. Abschnitt 6 4 3 Datentransfer nur w hrend der bertra gung eines Datenblocks n tig sein Hierf r gibt es die M glichkeit dem Stabilen Speicher anzuzeigen da der derzeit laufende Transfer nun abgebrochen werden soll Alle anderen Ak tionen werden mit einem einzigen Schreibzugriff gestartet und diese sind aus Sicht des Prozes sors atomar durchf hrbar Ein Crash ereignet sich daher entweder davor noch kein Start oder dahinter Start ist erfolgt die Ausf hrung wird vom Stabilen Speicher allein durchgef hrt Die erkennbaren Fehler des Prozessors die der Stabile Speicher tolerieren soll sind demnach Zugriff auf fremde Daten fehlerhafte Bearbeitung eines Auftrags Protokolls bertragung fehlerhafter Datenbl cke und Totalausfalle eines Prozessors 5 6 2 Fehler auf der bertragungsstrecke Neben den Prozessoren gibt es weitere Teileinheiten bei denen sich Fehler ereignen k nnen so die bertragungsstrecke Das Multiprozessorsystem MEMSY verf gt ber umfangreiche Hard ware zwischen den Prozessoren und dem Stabilen Speicher Ein Zugriff eines Prozessors bzw einer CMMU l uft innerhalb des Motorola Systems durch mehrere Stufen Treiber und gelangt 51 Fehlerm glichkeiten in MEMSY zu den Boards des Hauptspeichers und an das Prozessorinterface Nachdem durch Steuersignale entschieden worden ist da dieser Zugriff ber das Interface zu den Kommunikationsspeichern gef hrt werden soll werden z
67. Abschnitt behandelten Testprogramm wurde auch hier ein typischer Ablauf bei der Ubertragung eines Datenblocks aus dem Privatspeicher eines Prozessors des Mo torola Systems in den Pufferbereich des Stabilen Speichers gemessen Zur Ermittlung der Uber tragungsleistung wurde nur der Datentransfer genauer untersucht Die zuvor n tige bergabe des Auftrags WRITE blieb hier unber cksichtigt da sie im Gegensatz zu den Transferoperatio nen nur einmal ausgef hrt werden mu Die Schleife des Testprogramms hatte folgenden Inhalt for i 0 i lt Blockl nge i KP 5 Privatspeicher i Der Ablauf dieser Schleife besteht aus einem Transfer eines Wortes vom Privatspeicher in ein Register im Prozessor dem Transfer vom Register in das Transferregister KP 5 und aus einer Schleifenbearbeitung Auch in diesem Fall wurde das Programm auf zwei Hardware Konfigurationen gemessen ein mal ohne und einmal mit Verwendung des Koppelmoduls In Tab 5 sind die Ergebnisse zusam mengefa t Zugriff auf Stabilen Speicher ohne Koppelmodul mit Koppelmodul Rest der Schleife 1 2 usec KS mit Zugriff besch ftigt 1 75 usec 1 75 usec Tab 5 WRITE Zugriff eines Prozessors auf den Stabilen Speicher Die Zeit von 1 75 usec die der Kommunikationsspeicher bei einem WRITE Auftrag mit jedem bertragenem Wort besch ftigt ist zeigt da der Pufferbereich des Stabilen Speichers zusam men mit dem Kommunikationsspeicher in der Lage ist maximal etwa 5710
68. Auftreten eines solchen Flags ruft eine sofortige Reaktion der MMU hervor und die vom Prozessor gew nschte Aktion auf den Speicher wird nicht ausgef hrt Au erdem wird diese Si tuation dem Prozessor sofort angezeigt so da dieser seine vorgesehene Arbeitsweise unterbre chen und eine Ma nahme zur Fehlerdiagnose und behebung einleiten kann Die Wahl welche Abschnitte aus dem Speicher auf welche Weise gesch tzt werden wird zuvor vom Betriebssystem durch Programmieren der MMU eingerichtet Die Hardware MMU ist dann in der Lage im laufenden Betrieb die Rechte zu berpr fen Ein sorgf ltiges Programmie ren der MMU ist daher sehr wichtig f r die Abwehr von Fehlern Die MMU die im Motorola System eingesetzt wird hat neben den Umrechnungs und Schutz aufgaben zus tzlich einen Cache Controller sowie einen Cache zusammen auf einem einzigen Chip integriert Daher wird dieser Baustein als CMMU Cache Memory Management Unit bezeichnet In den an der Universit t Erlangen N rnberg vorhandenen Multiprozessorsystemen vom Typ MEMSY gibt es verschiedene CMMU Bausteine Die lteren haben je einen Cache der Gr e von 16 KByte integriert Baustein MC88200 w hrend die neueren mit einem 64 KByte gro en Cache Baustein MC88204 ausgestattet sind MOT2 MOT3 Neben den Fehlern die sich auf Speicherzugriffe beziehen werden vom Prozessor auch einige Ausnahmen bei der Datenverarbeitung erkannt z B divide by 0 und als Exceptions signalisiert
69. Deren Freigabe und die Sperre des Transferregisters wird von der Puffersteuerung nach der bertragung des letzten Wortes an den Auftraggeber durchgef hrt Bei jeder Auftragsbeendigung setzt die zentrale Steuerung die Eintr ge der Objektnummer und der Objektl nge des gerade bearbeiteten Auftrags in der Kommunikationspage auf einen ung l tigen Wert z B Null Dadurch kann verhindert werden da ein Auftrag ohne Angabe der er forderlichen Parameter zur Ausf hrung gelangt Ansonsten k nnte z B versehentlich das L schen des Objekts erfolgen das im zuvor ausgef hrten Auftrag angesprochen war Ausnahmen von dieser Vorgehensweise gibt es nur bei den Auftr gen CREATE und READ_ BI bei denen als R ckgabewert die Objektnummer bzw die Benutzerinformation in das ent sprechende Register eingetragen wird damit dies der Auftraggeber dort lesen kann Da aber auch in diesen F llen die Objektl nge auf den Wert Null gesetzt wird kann bei einem nachfol genden Auftrag schlimmstenfalls ein Objekt mit der L nge Null gel scht oder neu beschrieben werden 6 5 2 Struktur der Speicherverwaltung Jeder der beiden Speicher des Lagerbereichs f r die Stabilen Objekte ist organisatorisch in gleichgro e Pages aufgeteilt Auf Basis dieser Einteilung l t sich eine einfache Speicherver waltung aufbauen Jedes Objekt wird je nach seiner Gr e in einer oder mehreren Pages unter gebracht Diese Pages m ssen sich nicht in aufeinanderfolgenden Adr
70. Die Struktur des Prozessorinterface Das Interface das es dem Prozessor erm glicht auf die Kommunikationsspeicher zuzugreifen hat zwei Schnittstellen eine zum S Bus an den es an das Motorola System angeschlossen ist und eine zur bertragungsstrecke ber die die Kommunikationsspeicher erreichbar sind Da zwischen erfolgt die Umsetzung der Signale und eine Pufferung der bertragenen Daten Die Pufferung ist notwendig da der Kommunikationsspeicher bei einer Lese Operation nur eine ge wisse Zeit lang die Daten treibt Diese Zeit ist nicht ausreichend um die Daten sicher an den Prozessor bzw die CMMU zu bergeben Die Pufferung hat auch den Vorteil da genau das empfangene Wort auf Parity berpr ft wird welches kurz danach an den Prozessor bergeben wird und nicht ein Wort das noch St rungen von der bertragungsstrecke her ausgesetzt ist Einen berblick ber das Prozessorinterface PI gibt Abb 11 4 M88K System Koppelmodule Kommunikationsspeicher A AdreB Schnittstelle D Daten Schnittstelle Mux Multiplexer Wegewahl Parity Parity Erzeugung Uberpr fung a Abb 11 Prozessorinterface J Innerhalb der Schnittstelle werden sowohl f r Adressen als auch f r Schreibdaten die Paritybits erzeugt und zur bertragung bereitgestellt Hintereinander werden dann Adresse und bei 28 Das Multiprozessorsystem MEMSY Schreib Operationen das zu bertragende Wort auf den bertragungswe
71. EMSY bile Speicher darf dies nicht ohne korrekten Auftrag des Auftraggebers tun Daher wird diese Kommunikationspage in Zukunft bis zum Abschalten des Stabilen Speichers nicht mehr ver wendet werden k nnen Daher sollte nach einem bertragungsfehler der beim Lesen des Ver mittlungsregisters auftritt in der Fehlerbehandlung u erst vorsichtig reagiert werden Ist anhand des Statusregisters im Prozessorinterface erkennbar da das gelesene Wort mit ei nem Parityfehler behaftet war so sollte nicht durch oftmaliges Wiederholen des Lesezugriffs versucht werden doch noch dieses Wort d h den Zugang zum Stabilen Speicher zu bekom men Denn dann w rden mehrere Kommunikationspages umsonst belegt werden Akzeptabel w re noch eine sehr begrenzte Zahl z B 3 weiterer Lesezugriffe auf das Vermittlungsregister durchzuf hren Ist dies erfolgreich was bei einem vorherigen transienten Fehler auf der ber tragungsstrecke sehr wahrscheinlich ist so wurden nur wenige Kommunikationspages umsonst vergeben F hrten diese Zugriffe beim transportierten Wort aber erneut zu bertragungsfeh lern so sollten weitere Versuche unterbleiben diesen Stabilen Speicher mit dem Auftrag AC CESS zu erreichen Ist dagegen im Statusregister des Prozessorinterfaces erkennbar da die Adre bertragung mit einem Parity Error quittiert wurde so wurde auch beim Stabilen Speicher kein Zugriff durch gef hrt und somit auch keine Kommunikationspage vergeben
72. Ein Stabiler Speicher f r ein speichergekoppeltes Multiprozessorsystem Der Technischen Fakult t der Universit t Erlangen N rnberg zur Erlangung des Grades DOKTOR INGENIEUR vorgelegt von Andreas Grygier Erlangen 1995 Als Dissertation genehmigt von der Technischen Fakult t der Universit t Erlangen N rnberg Tag der Einreichung 07 November 1994 Tag der Promotion 22 Dezember 1994 Dekan Prof Dr Franz Durst Berichterstatter Prof Dr Mario Dal Cin Prof Dr Erik Maehle Danksagung Ich m chte mich ganz herzlich bedanken bei Herrn Prof Dr Mario Dal Cin f r die Betreuung und die Begutachtung dieser Arbeit ebenso bei Herrn Prof Dr Erik Maehle f r die bereitwillige bernahme des Zweitgutachtens Mein weiterer Dank gilt allen Kollegen die mich mit Kritik und Anregungen bei dieser Arbeit unterst tzt haben Auch das Personal im Labor m chte ich dabei erw hnen das mir alle n tige Unterst tzung bei der Implementierung des Stabilen Speichers zukommen lie Besonderer Dank gilt Manfred Semmler der wichtige Teile des Stabilen Speichers implementiert und gepflegt hat Diese Arbeit wurde im Rahmen des Sonderforschungsbereichs 182 Multiprozessor und Netzwerkkonfigurationen von der Deutschen Forschungsgemeinschaft unterst tzt Eine Anmerkung zur Schreibweise In dieser Arbeit wird der Begriff Stabiler Speicher als Eigenname verwendet Daher wird in diesem Zusammenhang das Adjekt
73. ORAGE_ erkannt werden die in VIP 0 3 steht Dieser Eintrag l t sich auch bei einem Schreibzugriff des zuk nftigen Auf traggebers nicht ver ndern Die restlichen Werte VIP 4 23 k nnen ebenfalls nicht ver ndert werden Bei einer anderen Version dieses Stabilen Speichers k nnen sie jedoch andere Werte enthalten als in Abb 35 angegeben ist Ist eine solche Zeichenkette an dieser Stelle gefunden worden so kann die Such Software davon ausgehen da sich hier ein Stabiler Speicher befin det Die restlichen Angaben VIP 24 62 tragen Informationen die sich zum Teil im Laufe der Zeit ndern k nnen F r den Anwender sind vor allem die Angaben von VIP 24 31 interes sant da hier Werte ber die aktuelle Belegung des Stabilen Speichers zu finden sind Eine Aus wertung der Angaben aus VIP 32 62 durch den Anwender ist dagegen nicht vorgesehen F r Testzwecke besteht aber die M glichkeit s mtliche im Pufferbereich gespeicherten Daten vom M88K System aus nach Belieben zu lesen und zu ver ndern Dazu ist allerdings die ma nuelle Umstellung eines Schalters am Stabilen Speicher n tig Da dieser Modus aber im Nor malbetrieb nicht erlaubt ist wird in dieser Arbeit nicht auf die Testm glichkeiten eingegangen 6 5 Die Steuerungs Einheit f r diesen Stabilen Speicher Die bisherige Beschreibung betraf vor allem die Schnittstelle wie sich der Stabile Speicher dem Auftraggeber gegen ber darstellt Wenn ein Auftrag im Pufferbereich abg
74. Stabilen Objekte die zu einer Kommunikationspage geh ren wieder gel scht wer den m ssen Die Auftr ge WRITE_BI und READ_Bl sind ebenfalls mit nur geringem Aufwand verbunden denn hier mu unabh ngig von der Objektl nge nur ein einzelnes Wort zwischen der Kommunikationspage und einem bereits bestehenden Stabilen Objekt transferiert werden Ein deutlich gr erer Aufwand ist i a mit den WRITE und READ Auftr gen verbunden denn hier mu ein Datenblock zwischen dem Pufferbereich und den Objektspeichern transportiert werden Daher ist der Zeitbedarf f r die Bearbeitung dieser Auftr ge abh ngig von der trans portierten Datenmenge hnliches gilt auch f r den VERIFY Auftrag Bei den vorgenommenen Messungen wurde f r alle Auftragsarten die maximale Objektl nge von 1 MWort angenommen Somit wurde die Maximaldauer der Auftr ge untersucht In Tab 8 sind in der ersten Spalte die dabei ermittelten Zeiten angegeben Dabei zeigte sich da die WRITE und READ Auftr ge und der Auftrag VERIFY unerwartet lange Ausf hrungsdauern besa en 5 5 16 5 sec Daher wurden diese Auftr ge genauer untersucht Bei den angesprochenen Auftr gen mu ber cksichtigt werden da auch im fehlerfreien Fall pro bertragenem Wort vom Auftraggeber mehr als ein interner Transfer zwischen dem Puffer bereich und den Objektspeichern von der zentralen Steuerung ausgef hrt werden mu Im einzelnen sind dies bei WRITE 7 Transfers Lese altes Objekt
75. Umst nden nur in sehr wenigen F llen unter 5 mit einem Konflikt beim Zugriff auf den Pufferspeicher zu rechnen ist 7 1 7 Wartezeit der Auftr ge auf ihre Bearbeitung Die Zeit die ein Auftrag in der Warteschlange im Auftrags FIFO verbringt ist schwierig an zugeben Dies h ngt in erster Linie davon ab welche Aktivit ten die verschiedenen Auftragge ber etwa zur gleichen Zeit an den Stabilen Speicher bergeben Solange immer nur ein Auftraggeber einen Auftrag vom Stabilen Speicher bearbeiten l t f llt praktisch keine Wartezeit an Nur ein gerade laufender VERIFY f r ein Stabiles Objekt das der Stabile Speicher selbst gestartet hat mu zuvor abgewartet werden Die Gesamt Ausf hrungs dauer f r die Bearbeitung dieses Auftrags l t sich somit aus der Objektl nge und den Angaben in den Tabellen Tab 8 und Tab 9 berechnen In den Situationen in denen mehrere Auftraggeber Auftr ge an den Stabilen Speicher berge ben lassen sich nur grobe Absch tzungen angeben wie lange dieser in der Warteschlange ver bleibt Um Aussagen ber die voraussichtliche Wartezeit machen zu k nnen werden folgende Annahmen gemacht der Stabile Speicher wird von vier Auftraggebern gleichzeitig benutzt diese vier Auftraggeber erteilen ann hernd zur gleichen Zeit gleichartige Auftr ge mit gleich langen Objekten diese Annahme entspricht etwa der Situation in der in den vier Prozessorknoten nach einer globalen Synchronisation ein Si
76. Voter so aus als w rde zwar der eine Knoten andere Werte anlegen der Zugriffszeitpunkt w re aber der gleiche In diesem Fall erkennt der Voter 110 Ein Stabiler Speicher f r MEMSY wie bereits beschrieben auf Synchron ein Knoten falsch Im zweiten Fall treffen ebenfalls zur gleichen Zeit drei Zugriffsw nsche ein jedoch will der fehlerhaft arbeitende Knoten einen andersartigen Zugriff ausf hren als die beiden anderen Kno ten Diese Situation z B 2 x Schreiben 1 x Lesen erkennt der Voter bereits als Asynchronit t des einen Knotens und antwortet in seiner Statusinformation mit Asynchron ein Knoten falsch Der dritte Fall unterscheidet sich von allen bisherigen dadurch da die Zugreifer zu unter schiedlichen Zeitpunkten einen Zugriff ber den Voter durchf hren wollen F r einen erfolgrei chen Zugriff m ssen dabei mindestens zwei Zugreifer dieselbe Aktion durchf hren wollen Ein einzeln auftretender Zugriffswunsch kann daher als fehlerhaft interpretiert werden Aus diesem Grund mu der Voter erst dann reagieren wenn mindestens zwei Zugriffsw nsche vorliegen Um alle diese synchron und asynchron auftretenden Zugriffsw nsche in der gew nschten Wei se behandeln zu k nnen wurden die Voter so implementiert da jeder Voter erst dann reagiert wenn mindestens zwei gleichartige Zugriffsw nsche vorliegen Um dabei die Gefahr zu ban nen da ein nur geringf gig aus dem Takt gelaufener Nachz gler sie
77. Weitere Versuche k nnen in die sem Fall bedenkenlos durchgef hrt werden Eine andere Fehlerart kann eintreten die ebenfalls zum Verlust von bisher unbelegten Kommu nikationspages f hren kann Liest ein Auftraggeber st ndig das Vermittlungsregister so eignet er sich damit viele oder sogar alle noch verf gbaren Kommunikationspages an Aus der Sicht des Stabilen Speichers Pufferbereichs ist dies nicht von einer korrekten Arbeitsweise mehrerer Auftraggeber zu unterscheiden Auf diese Situation Kann hindeuten wenn innerhalb des Infor mationsteils der VIP in VIP 24 Zahl der freien Kommunikationspages eingetragen ist da alle Kommunikationspages benutzt sind Allerdings ist diese Information mit gro er Vorsicht zu behandeln da es auch bei einwandfreier Arbeitsweise des Stabilen Speichers und aller ange schlossenen Auftraggeber zu dieser Situation kommen kann In allen Situationen in denen es zum Verlust von bislang unbelegten Kommunikationspages kommen kann ist sichergestellt da die bisher beim Stabilen Speicher angemeldeten Auftrag geber und ihre Stabilen Objekte keine Einbu en bez glich ihres Schutzes vor unerlaubtem Zu griff erfahren Diese Auftraggeber k nnen auch noch normal weiterarbeiten Aber zus tzliche Auftraggeber k nnen m glicherweise diesen Stabilen Speicher nicht mehr benutzen In der folgenden Liste Abb 35 sind alle Daten zusammengestellt die in der VIP von den Auf traggebern gelesen werden k nnen 9
78. Zeitverlusten Auch die Arbeit des Voters nimmt eine gewisse Zeit in Anspruch Selbst wenn keine Unterschiede in den Adressen und bei Schreibzugriffen in den Daten vorliegen und es auch keinerlei zeitliche Diskrepanz bei der Signalisierung des gew nschten Speicherzugriffs gibt werden bereits 0 2 usec f r das Voten der Adresse und bei Schreibzugriffen weitere 0 2 usec f r das Voten der Daten ben tigt Da sich dies bei jedem Speicherzugriff ereignet w re der Einsatz eines Voters der die drei Ver gleiche f r 32 bit Worte in einem Takt ausf hren k nnte sehr vorteilhaft Leider war ein sol cher Chip auch als 8 bit Version nicht verf gbar Ferner kommt hinzu da pro Wort das von einem Auftraggeber in den Pufferspeicher geschrie ben wurde mehrere Worte 2 7 von der zentralen Steuerung zwischen den Objektspeichern dem Pufferspeicher und dem Transputer transportiert werden m ssen Zieht man dieses in Be tracht so l t sich f r die verschiedenen Auftragsarten die Zahl der internen Transfers pro Zeiteinheit bestimmen Aus den Werten der Tab 9 und der zu Beginn dieses Abschnitts ge machten Angaben zu der Anzahl der internen Transfers lassen sich somit die in Tab 10 darge stellten Internen Transferraten ableiten 137 Me ergebnisse Nach diesen Werten wird bei der Ausf hrung der transportintensiven Auftr ge im Durchschnitt etwa 1 56 usec pro internem Transfer ben tigt Dabei entfallen etwa 1 0 usec 64 a
79. a 10 Eine deutlichere Reduzierung der Zeit konnte durch die Verlagerung des optimierten Assem blercodes in den auf dem Transputerchip befindlichen 4 KByte gro en Speicher erreicht wer den Dadurch wird dieser Programmteil so schnell abgearbeitet als w rde der Code in einem Cache liegen In diesem Fall ben tigt die Schleife statt der urspr nglichen 7 25 usec nur noch 4 50 usec 2 9 usec f r den Transfer 64 und 1 6 usec f r die sonstigen Berechnungen 36 Die Gesamtlaufzeit f r die Bearbeitung des WRITE Auftrags innerhalb der zentralen Steuerung verk rzte sich dadurch um 29 7 von 16 5 sec auf 11 6 sec 135 MeBergebnisse Ahnliche Zeitreduzierungen wurden auch in den anderen mit einem Datentransfer verbundenen Auftr gen erreicht Dies gilt auch f r den VERIFY Auftrag der zwar nicht zu einem Daten transfer zwischen dem Auftraggeber und dem Stabilen Speicher f hrt innerhalb der zentralen Steuerung aber mit einem zweifachen Zugriff auf das gesamte Stabile Objekt ausgef hrt wird In Tab 8 sind ebenfalls die optimierten Fassungen dieser Auftr ge in der 2 Spalte angegeben Alle oben angesprochenen Angaben beziehen sich auf den fehlerfreien Fall Im Fehlerfall kann es zu sehr unterschiedlichen und i a auch deutlich l ngeren Bearbeitungszeiten kommen Bei diesen Situationen wurde auch auf eine Optimierung und auf die Verlagerung des Programm codes in den Transputerchip verzichtet da der hierf r erforderliche Programm
80. alen Entscheidungen der drei Knoten besteht die Gefahr da sie auch dann wenn sie die gleichen Daten nach gleichen Kriterien beurteilen dennoch auf Grund eines lokalen Fehlers zu unterschiedlichen Ergebnissen kommen k nnen Dies kann beispielsweise passieren wenn sie mit einem gemeinsamen Zugriff auf den Objektspeicher ber Voter gef hrt einen Wert holen dieser aber bei einem der drei Knoten auf Grund einer St rung auf einer bertragungsstrecke fehlerhaft ankommt Folgt daraus dann ein unterschiedlicher Programmablauf so f hrt dies i a bereits nach kurzer Zeit dazu da ein Knoten angehalten wird und nur noch zwei Knoten synchron weiterarbeiten Hier besteht die gro e Gefahr da ein weiterer Fehler zu einem totalen Ausfall der zentralen Steuerung f hren kann Dies ist bereits geschildert worden Um zu vermeiden da bereits ein transienter Fehler der auf ein einzelnes bertragenes Wort wirkt zu einem so kritischen Zustand f hrt ist auf der Steuerplatine eine Einrichtung geschaf fen worden mit deren Hilfe eine gemeinsame Entscheidung aller drei Knoten herbeigef hrt werden kann Selbst wenn einer der drei Knoten fehlerhafte Daten empfangen hatte und daher lokal eine andere Entscheidung getroffen h tte als die beiden anderen kann er berstimmt wer den und f hrt mit den gleichen Programmschritten fort wie die beiden anderen 103 Ein Stabiler Speicher f r MEMSY Diese Einheit kann auch zur Synchronisation der dre
81. ationspage zugeteilt wird Diese Zuteilung erfolgt ber eine besondere Page die Vermittlungs und Informationspage VIP Vom Adre raum her ist sie den Kommunikationspages zugeordnet Sie vervollst ndigt die 256 Pages Ansprechbar ist die VIP im Adre raum des Stabilen Speichers an der Stelle an der die Kommunikationspage mit der Nummer 0 liegen w rde Ihre physikalische Basisadresse l t sich aus der physikalischen Basisadresse desjenigen Kommunikationsspeichers bilden an den dieser Stabile Speicher angeschlossen ist Bezogen auf eine 32 bit Zahl werden die vorder sten 8 Bit der Adresse zum Ansprechen des Kommunikationsspeichers bernommen gefolgt von zwei gesetzten Bits Alle anderen Adre bits sind Null Lautete die Basisadresse des Kom munikationsspeichers z B hexadezimal 81000000 so ist die Basisadresse des Stabilen Spei chers und damit auch die Basisadresse der VIP gleich 81CO0000 Im Gegensatz zu den anderen Kommunikationspages besteht f r die VIP kein situationsabh n giger Zugriffsschutz Allerdings sind vom Auftraggeber aus nur Lesezugriffe auf sie erlaubt Bei Schreibzugriffen auf sie wird nichts eingetragen Die VIP ist 64 Worte gro Die erste H lfte davon nimmt ein Abschnitt ein der f r Informa tionsdienste verwendet wird In diesem Bereich sind Daten abgelegt die zum einen dem Zug reifer kenntlich machen da sich in diesem 4 MByte gro en Adre raum die Schnittstelle zu ei nem Stabilen Speicher bef
82. ationsspeicher mit einer ERR Antwort ist dann gegeben wenn dieser ein PERR Signal ausgibt Dies wird im mer dann aktiviert wenn bei der bertragung vom Prozessorinterface zum Kommunikations speicher ein Parity Error aufgetreten ist den die Logik am Speicher erkennt Die m glichen Fehler sind in diesem Fall ein Fehler bei der bertragung der Adresse oder ein Fehler bei der bertragung des zu schreibenden Wortes Wichtig ist in diesem Fall da das PERR Signal fal lende Flanke des PERR Signals vom Kommunikationsspeicher sp testens bei der steigenden 25 Das Multiprozessorsystem MEMSY Flanke des MRDY Signals aktiviert wird Es darf aber auch fr her erscheinen Dann kann der Speicherzugriff bereits fr her abgebrochen werden Eine sich daraus ergebende Konsequenz ist da gew hrleistet sein mu da wirklich nur im Fall eines erkannten bertragungsfehlers das PERR Signal aktiv werden darf In allen anderen F llen d h auch in dem Fall da gerade kein Zugriff ber diese bertragunsstrecke abgewickelt wird mu das PERR Signal auf inaktiv ge setzt sein N Adr m Parit zu schreibendes Wort mit Paritybits q smp U m Abb 8 Ablauf eines Einzelwort Speicherzugriffs auf der bertragungsstrecke K zwischen dem Prozessorinterface und den FORTEA ISDERNN 3 2 2 2 Burst Transfer und RMW Operation auf der bertragungsstrecke Zwischen dem Prozessorinterface und den Kommunikationsspeichern gibt es ein w
83. auerhaft in einen STOP Zustand gehen w rde Die abgelegten Daten w ren dann nicht mehr erreichbar und f r den Anwender verloren Das mu verhindert werden Daher wird die Steuerung des Stabilen Speichers in TMR Technik Triple Modular Redundancy errichtet Durch die Maskierung des Fehlers kann die Arbeit im Stabilen Speicher ohne Unterbrechung fortgesetzt werden An einer geeigneten Stelle kann dann versucht werden den ausgefallenen Teil der Steuerung wieder neu aufzuset zen War ein transienter Fehler die Ursache f r den Ausfall so k nnen anschlie end wieder alle drei Teileinheiten der Steuerung arbeiten War dagegen ein permanenter Fehler die Ursache so hat sich der Stabile Speicher in einen nicht mehr stabilen Speicher gewandelt Dann mu es noch m glich sein die bisher abgelegten Daten zu lesen und anderweitig sicher abzulegen Einige weitere Forderungen betreffen die Voraussetzungen die dem Stabilen Speicher in seiner Umgebung zur Verf gung gestellt werden m ssen In einem Speicher abgelegt Daten n tzen nichts wenn der Speicher von den Prozessoren abge schnitten ist Daher sollte es mindestens zwei Wege geben auf die ein Prozessor den Stabilen Speicher erreichen kann Diese Forderung ist bei MEMSY zu einem gro en Teil schon durch die bereits bestehende Verbindungsstruktur der Speicherkopplung erf llt Aus diesem Grund wird hier kein weiteres Verbindungssystem errichtet Als n chstes mu die M glichkeit zur Fehler Erk
84. bei einem Zugriff maximal gewartet werden soll mu deutlich gr er sein als die Zeit die der Kommunikationsspeicher l ngstens mit einem Zu griff besch ftigt ist Das ergibt sich daraus da sich bei Zugriffen von mehreren Prozessorkno ten auf denselben Kommunikationsspeicher deutlich l ngere Zugriffszeiten ergeben k nnen als bei nicht in Konflikt stehenden Zugriffen weil auf die Beendigung der zuvor an die Reihe kom menden Zugriffe gewartet werden mu Dies mu auch f r den Fall zutreffen da alle Zugriffe erst durch Erreichen des Timeouts beim Kommunikationsspeicher oder beim Koppelmodul be endet werden Daher mu ein Prozessorinterface in der Lage sein mehrere fremde Zugriffe die vor ihm an die Reihe kommen auch bei extrem langer Bearbeitungszeit abwarten zu k nnen Daher betr gt seine Timeout Zeit mindestens das zehnfache der Timeout Zeit der anderen Komponenten Dies ist etwa soviel wie die Anzahl der Prozessorknoten die Zugriff auf einen Kommunikationsspeicher haben Die fairen Arbitrierungsprotokolle von Kommunikationsspeicher und Koppelmodul sorgen weiterhin daf r da es bei mehreren vorliegenden Zugriffsw nschen nicht dazu kommt da ein Zugreifer benachteiligt wird und bedeutend l nger als die anderen warten m te HIL92 5 4 3 Signal Fehler Aus den bisherigen Ausf hrungen wurde deutlich da St rungen auf den Steuersignalen die zwischen Prozessoren und Kommunikationsspeichern ausgetauscht werden schwer
85. bei verschiedenen Knoten ein Feh ler ereignet hat 0011 0101 0110 Da in den letzten F llen die zwei Fehler zu unterschiedli chen Zeitpunkten auftraten konnten dennoch immer zwei gleiche Werte f r die bertragene Adresse bzw f r das bertragene Wort gefunden werden Somit kann in allen diesen sechs F l len der Fehler durch den Voter maskiert werden 6 7 2 _Asynchroner Zugriff ber die Voter Bislang wurden nur drei synchron arbeitende Knoten betrachtet Dies bedeutet da sie alle noch die gleichen Folgen von Zugriffen zur gleichen Zeit ausf hren Die dabei entstandenen und ent deckten Fehler sind dabei von dem Typ eines bertragungsfehlers Es kann aber auch ein Fehler auftreten der einen Knoten in einen anderen Programmzweig f hrt als die anderen beiden Kno ten Ursache daf r k nnte z B ein Zugriffsfehler beim Lesen des n chsten Befehls sein Da solch ein Zugriff rein lokaler Natur ist und nicht ber die Voter gef hrt wird wird dies auch nicht sofort bemerkt Erst beim n chsten Zugriff der ber die Knotengrenze hinausgeht kann ein Voter dies bemerken Dann k nnen drei verschiedene Situationen vorliegen Im ersten Fall wollen die beiden anderen noch korrekt arbeitenden Knoten auch gerade einen gleichartigen lesenden bzw schreibenden Zugriff wie der des fehlerhaften Knotens ber die sen Voter durchf hren aber mit einer anderen Adresse und oder mit einem anderen zu schrei benden Wort Dann sieht das Bild f r den
86. beim Lesen wird das ausgegebene Wort dagegen nicht vom Kommunikationsspeicher sondern vom Prozessorinterface berpr ft das ausgew hlte Ziel Kommunikationsspeicher ber Port A oder ber Port B oder ber Port C oder ein internes Spezialregister das angesprochenen Spezialregister existiert nicht oder die erfolgte Zugriffsart ist hier nicht erlaubt z B Lesen von der Me schnittstelle auch Burst und XMEM Zugriffe auf Spezialregister sind nicht erlaubt der Speicherzugriff wurde vom Kommunikationsspeicher nicht mit einem Signal beant wortet d h ein Timeout Fehler trat auf das Statusregister wurde seit der letzten Mitteilung eines Fehlers an den Prozessor bereits gelesen seit dem letzten Lesen des Spezialregisters haben sich im Zusammenhang mit diesem In terface mehrere Fehler ereignet das Statusregister enth lt in diesem Fall die Informationen ber den letzten Fehler es kam zu einem Timing Fehler so da die LOCK Information der CMMU vom Prozes sorinterface nicht ausgewertet werden konnte dieser Fall kann unter Umst nden auftreten wenn das Motorola System dessen Takt das Prozessorinterface bernimmt mit einem schnelleren Takt als 25 MHz betrieben wird 30 Das Multiprozessorsystem MEMSY Nach dem Auftreten eines Fehlers k nnen diese Eintragungen im Statusregister wichtige Hin weise auf den Fehler geben F r den Fall da der mi lungene Speicherzugriff wiederholt wer den soll
87. beitenden Prozessoren zu beobachten Hier erh ht sich die mittlere bertragungszeit um bis zu 134 gegen ber dem Ausgangswert 131 MeBergebnisse Besonders auffallend war bei diesen Messungen der starke Unterschied in den Programmlauf zeiten bei drei Prozessoren Je nachdem ob der Prozessor und der Kommunikationsspeicher mit dem verbundenen Stabilen Speicher an derselben Ecke des Koppelmoduls angeschlossen sind oder nicht ergaben sich sehr unterschiedliche Me werte Der Grund f r dieses Verhalten konn te nicht ermittelt werden Aber auch alle Wiederholungen dieser Messung zeigten dieses Ergeb Gesamtzeit Zeit Wort Worte Zeit usec usec 1 sec i Py 248 550 3 793 263 700 2 288 150 4 379 227 227400 288 500 4 402 ee 200 290 000 4 425 226 000 Prozessoren 536 000 122 300 566 000 115 800 568 300 115 300 Py 581650 8 875 112700 BER 581 650 8 875 112 700 Tab 7 WRITE Zugriff mehrerer Prozessoren auf den Stabilen Speicher mit einer Blockl nge von 65536 Worten 64 KWorte nis In der folgenden Grafik Abb 46 sind die Ergebnisse aus den Zugriffen auf den Kommunika tionsspeicher und auf den Stabilen Speicher gegen bergestellt Hierbei wird besonders deutlich da die zuvor ermittelte maximale bertragungskapazit t zwischen Prozessoren und Stabilem Speicher 465000 Worte sec bei mehreren Zugreifern deutlich fr her erreicht wird als bei den Zugriffen auf den Kommuni
88. bilen Speicher Sie m ssen erstens innerhalb des Stabilen Speichers ber eine lange Zeit unver ndert gespeichert werden k nnen Und zweitens mu daf r gesorgt werden da sich bei Zugriffen auf diese Daten keine Fehler ereignen die zu unbeabsichtigtem Verlust oder Ver nderung f hren Hier spielt vor allem eine Rolle da bertragungsfehler und eine fehlerhafte Arbeitsweise von Prozessoren rechtzeitig entdeckt werden bevor sich zerst rerische Auswirkungen auf die Daten ergeben k nnen Auch mu der Stabile Speicher interne Fehler tolerieren k nnen Die bei Speicherung und Zugriff beteiligten Einheiten sind der Prozessor der bertragungsweg und der Speicher Die f r die Fehlertoleranz erforderlichen Vorkehrungen sind dabei sehr un terschiedlich Je nach spezifischen Fehlerauspr gungen m ssen an den verschiedenen Stellen unterschiedliche Schutzma nahmen getroffen werden 5 6 1 Prozessor Fehler Zun chst werden Prozessor Fehler betrachtet Das ideale Verhalten eines Prozessors beim Auf treten eines Fehlers w re ein Fail Stop Verhalten Das bedeutet da er nach dem Fehler keine weitere Aktion mehr ausf hrt Somit ist die Fehlerausbreitung sehr eingeschr nkt F r die Ein haltung dieses Verhaltens ist jedoch einiger Hardware Aufwand n tig der i a nicht bei der Konstruktion des Prozessors oder des Computers bereitgestellt wird Diese Einheit m te als Master Checker Paar mit einem zuverl ssigen Vergleicher aufgebaut se
89. bungsma nahme eingeleitet Somit kann bei praktisch allen auftretenden Einfachfehlern zun chst ein definierter und f r das Stabile Objekt sicherer Bearbeitungszustand erreicht werden bevor eine Fehlerbehebung ge startet wird Erst beim Auftreten mehrerer oder massiver Fehler z B vor bergehender Ausfall einer Platine ist man gezwungen in einem nicht sehr sicheren Objektzustand eine Fehlerdia gnose und behebung durchzuf hren Nicht gefeit ist dieser Stabile Speicher allerdings vor Fehlern die dazu f hren da das auf den Prozessoren des Host Systems ausgef hrte Programm auf Grund eines einzigen dort aufgetre tenen Fehlers einen ung ltigen Pfad einschl gt Werden dabei Zugriffe auf den Stabilen Spei cher ausgef hrt kann dies der Stabile Speicher unter Umst nden nicht als Fehler erkennen solange alle dabei gemachten Angaben zueinander konform sind Die Gefahr ist deshalb verh ltnism ig gro weil dabei mit hoher Wahrscheinlichkeit g ltige Parameterdaten verwendet werden aber zu diesem Zeitpunkt falsche Auftr ge vergeben wer den k nnen Hier mu z B ein Watchdog daf r sorgen da dieser Fehler rechtzeitig bemerkt wird und ein Auftrag an den Stabilen Speicher in fehlerhafter Situation unterbleibt Rechtzeitig mu in die sem Fall sehr eng begrenzt sein denn bereits ein Auftrag der Form DELETE Objekt Num mer Objekt L nge kann innerhalb weniger Speicherzugriffe erteilt werden und l t sich nach se
90. ch Zugriffe auf den Pufferspeicher durchgef hrt werden Es zeigt sich aber da auch in diesem Fall die Aktivit ten in der Zugriffskontrolle einen deutlich h heren zeitlichen Anteil haben als der reine Zugriff auf den Pufferspeicher siehe Abschnitt 7 1 6 Zu griffskonflikte Dem gegen ber mu auch die zentrale Steuerung des Stabilen Speichers gelegentlich auf den Bereich der Zugriffskontrolle zugreifen da sich hier das Auftrags FIFO und die Angaben zu den erteilten Auftr gen in einem Speicher VIP KP befinden Die Zahl dieser Zugriffe ist im Verh ltnis zu der Zahl der Zugriffe auf den Pufferspeicher sehr gering Daher behindern sich die beiden Zugreifer nur sehr selten 64 Ein Stabiler Speicher f r MEMSY CD AnschluB zum lokalen Bus des Kommunikationsspeichers Auftr FIFO Zugriffs VIP Daten kontrolle KP manipulation normaler Zugriffsbereic Treiber Puffer speicher maximaler Zugriffsbereich des Host Systems gt e Voter pee Anschl sse zu den drei Knoten gt amp der zentralen Steuerung maximaler Zugriffsbereich der zentralen Steuerung normaler Zugriffsbereich Abb 19 Struktur des Pufferbereichs J 65 Ein Stabiler Speicher f r MEMSY In Abh ngigkeit von der vom Anwender angegebenen Adresse m ssen im Pufferbereich unter schiedliche und in den meisten F llen mehrere Einzelaktionen hintereinander ausgel st wer den Diese Abl
91. cher von Lampson Prozessoren und Speicher hier werden Plattenspeicher betrachtet sind mehr oder weniger an f llig f r Fehler blicherweise greift der Prozessor mit den Operationen GET und PUT auf die Platte zu Dabei wird jedesmal ein Block transportiert Um dabei aufgetretene Fehler entdecken zu k nnen ist jeder Block mit redundanter Information ausgestattet z B mit einer Checksum me Fehler k nnen nun in allen aufgef hrten Bereichen auftreten im Prozessor auf der bertra gungsstrecke oder im Plattenspeicher F r eine Untersuchung von Fehlersituationen mu man sich zun chst ber die m glichen Fehlerereignisse klar werden So sind f r jede Teileinheit un terschiedliche Fehler zu erwarten e Der Prozessor kann einen Crash erleiden Das bedeutet da der Prozessor pl tzlich ange halten wird und alle seine Zustandsinformationen vergi t die er in seinem fl chtigen lokalen Speicher gehalten hat Dagegen wird eine Fehlersituation bei der der Prozessor Ans tze f r einen Stabilen Speicher ber einen l ngeren Zeitraum hinweg fehlerhaft arbeitet nicht angenommen e Auf der bertragungsstrecke k nnen Fehler in der Weise auftreten da der transportierte Block beim Schreiben oder beim Lesen verf lscht wird Davon k nnen einzelne Bits be troffen sein oder ganze Worte e Im Speicher kann sich ein abgelegter Block von einem korrekten Zustand in einen fehler hafteten umwandeln spontanes Fehlerereignis
92. chert werden eine feste Anzahl von Pages vergeben werden Diese Zahl ist unabh ngig von der verwendeten Speicher und Page Gr e Ausschlaggebend ist nur noch wieviele Angaben pro Objekt eingetragen werden sollen Die Strategie zur Spei cherverwaltung ist somit unabh ngig von der Speichergr e geworden Bei einem gr eren Speicher erh ht sich mit der Pagegr e in gleichem Ma e auch die Anzahl der maximal abzu legenden Objekte Es m ssen aber nicht mehr Pages zur Verwaltung bereitgestellt werden Da mit ist die Speicherverwaltung f r alle m glichen Speichergr en mit Speichergr e 2 Worte vorbereitet Einige Einschr nkungen gibt es jedoch f r die Mindestgr e einer Page und damit auch f r den Speicher Da einige Informationen die in den Kommunikationspages eingetragen sind aus Schutzgr nden auch im Lagerbereich des Stabilen Speichers abgelegt werden mu im vorliegenden Fall die Page mindestens 1024 Worte gro sein Folgende Informationen sind f r die Verwaltung eines Stabilen Objekts n tig Besitzer dieses Objekts KP Nummer Gr e dieses Objekts in Worten Benutzerinformation einige Angabe die etwas ber den Zustand des Objekts aussagen wie Objekt belegt Objekt in Ordnung Objekt ist gerade in Bearbeitung einer WRITE Operation Zeiger auf die vorherige und auf die n chste Page die Teil dieses Objekts ist Zeiger auf das vorherige und auf das
93. cherungspunkt angesprochen meistens geschrieben werden soll der Stabile Speicher ist zu Beginn des ersten Auftrags mit einem selbst ndig gestarteten VERIFY eines Stabilen Objekts besch ftigt das die gleiche Gr e besitzt wie die Objek te die nun bei den Auftr gen benutzt werden der Verlauf aller Auftr ge erfolgt fehlerfrei 139 MeBergebnisse Aus dem ann hernd gleichzeitigen Start der vier gleich gro en Auftr ge ergibt sich da sie alle etwa zur gleichen Zeit in das Auftrags FIFO eingetragen werden Ihre Reihenfolge ist dabei v l lig zuf llig Somit mu ein Auftrag die Bearbeitung von 0 3 anderen Auftr gen abwarten bis er selbst an der Reihe ist Damit ergibt sich eine mittlere Wartezeit von 1 5 Auftragsbearbeitun gen Erh ht wird dieser Wert durch eine zus tzliche Wartezeit die sich aus der noch ausstehen den Beendigung des zun chst laufenden VERIFY Auftrags ergibt Im Mittel mu die Zeit f r den halben VERIFY Auftrag abgewartet werden bevor der erste neue Auftrag gestartet werden kann Diese Zeit ist zwar f r jeden der folgenden Auftr ge gleich lang gemessen an den Bear beitungszeiten der verschiedenen Nutz Auftr ge haben sie aber einen unterschiedlichen An teil Aus den Werten in Tab 9 l t sich ableiten da sich bei den folgenden Nutz Auftr gen folgende Werte f r die gesamte mittlere Wartezeit ergeben CREATE_and_WRITE 1 5 0 19 1 69 Auftragsbearbeitungen
94. chiedlich Das erste Ergebnis ist sicher das erw nschte Die zweite M glichkeit f hrt obwohl einer der Zugreifer mit einem falschen Wert arbeitet noch zu einer richtigen Aktion Maskierung des ei nen fehlerhaften Zugriffs Dagegen zeigt das dritte Ergebnis einen nicht zu maskierenden Feh ler an 108 Ein Stabiler Speicher f r MEMSY Im gesamten Stabilen Speicher existiert auf Grund des Umfangs und der damit verbundenen St ranf lligkeit kein zentraler Takt Daher mu zwischen den einzelnen Platinen synchronisiert werden Die Inputs werden mit eigenem Takt empfangen und zwischengespeichert Aus Sicht der Voter kann es dabei zu synchronen Zugriffen und zu asynchronen Zugriffen der drei Knoten des TMR Systems kommen 6 7 1 Synchroner Zugriff ber die Voter Solange die drei Knoten v llig synchron laufen treffen gleichzeitig gleichartige Zugriffsw n sche am Speicher ein In diesem Fall m ssen die Adressen und bei Schreiboperationen auch die Daten miteinander verglichen werden In der vorliegenden Hardware handelt es sich um ei nen zwischen Adressen und Daten gemultiplexten Bus Da diese bez glich jedes Knotens ber denselben Bus bertragen werden m ssen sie hintereinander verglichen werden Dazu wird zu n chst die Adresse auf jedem der drei Wege am Eingang des Voters in einem Latch eingefan gen Bei einem Schreibzugriff treibt anschlie end jeder der drei Prozessoren das zu bertragen de Wort Bei Lesezugriffen w
95. code zu gro f r das On Chip RAM ist Bearbeitungsdauer bei 1 M Worten nicht optimiert So names one nme men I name CO BT Anmerkung Die Me genauigkeit betrug etwa 0 06 msec Tab 8 Auftragsbearbeitung durch die zentrale Steuerung Die vier verbesserten Transferoperationen wurden auch mit verschiedenen Blockl ngen im Be reich von KWorten bis 1 MWorten gemessen um feststellen zu k nnen ob die Ausf hrungs 136 MeBergebnisse dauern allein von der Objektl nge abh ngen oder nicht Dabei konnte f r den Bereich zwischen 10 KWorten und 1 MWorten eine exakte lineare Abh ngigkeit festgestellt werden Nur im Be reich noch kleinerer Objektl ngen wurde davon nur um bis zu 20 abgewichen Daher kann f r jeden dieser Auftr ge eine nahezu konstante Bearbeitungsleistung angegeben werden siehe Tab 9 Worte Zeit usec 1 sec CREATE_and_WRITE 107 300 ReaD BET Zu Tab 9 Bearbeitungsrate der zentralen Steuerung bei den optimierten Transfer Operationen Die ermittelten Ergebnisse sehen deutlich schlechter aus als die Werte die bei der bertragung vom Prozessor in den Pufferbereich des Stabilen Speichers gemessen wurden Dabei ist aber zu ber cksichtigen da bei den Zugriffen der zentralen Steuerung auf die Objektspeicher und auf den Pufferspeicher genauso wie bei Zugriffen von Arbeitgebern auf den Stabilen Speicher eine Synchronisierung der Steuersignale n tig ist Dies f hrt zu
96. d 4 Bit Parity und einiger Steuersignale durchzuf hren Die daf r notwendige Hardware w re zu umfangreich geworden und h tte nicht mehr auf der Platine Platz gefunden Der implementierte Voter ist nur in der Lage einen Vergleich zweier 36 bit Zahlen in einem Takt auszuf hren Als Hardware ist dann nur ein blicher Vergleicher ein Register zur Zwischenspeicherung des einen Vergleichwertes und eine Steuerung notwen dig die immer zwei Wertepaare zum Vergleich zusammenstellt siehe Abb 40 a N Weg A lokaler Weg B Bus Voter Treiber Weg C Steuerung Multiplexer Verteiler S Abb 40 interner Aufbau des Voters J Bei den Steuersignalen wird etwas anders vorgegangen Sie werden getrennt registriert und be einflussen die Votersteuerung Dabei kann festgestellt werden ob drei gleichartige Zugriffs w nsche lesend bzw schreibend vorliegen oder nicht Sind drei gleichartige Zugriffe ge w nscht so werden hintereinander die Vergleiche der Zahlenpaare B und A anschlie end von B und C und wenn noch n tig der Vergleich zwischen A und C durchgef hrt Der dritte Ver gleich ist nur dann erforderlich wenn die ersten beiden Vergleiche nicht zu einem positiven Er gebnis gekommen sind Am Ende des Votings k nnen dann 3 verschiedene Situationen vorlie gen alle drei Werte sind gleich oder nur zwei Werte sind identisch einer A oder B oder C unterscheidet sich von ihnen oder alle drei Werte sind unters
97. den Speicher zu gestatten Um die Testsi tuation zu erkennen verf gt jeder Voter ber einen weiteren Input der ihm angibt welche Kno ten zugreifen werden Dazu wurden vier M glichkeiten eingerichtet Normalbetrieb ber alle Knoten soll gevotet werden Testbetrieb A nur Zugriffe von Knoten A werden durchgef hrt Testbetrieb B nur Zugriffe von Knoten B werden durchgef hrt Testbetrieb C nur Zugriffe von Knoten C werden durchgef hrt Die Reaktionen die der Voter in der Statusinformation darstellt sind im Testbetrieb 1110 Zugriff von Knoten A ist durchgef hrt worden 1101 Zugriff von Knoten B ist durchgef hrt worden 1011 Zugriff von Knoten C ist durchgef hrt worden Im Testbetrieb kann der Voter nicht zwischen verschieden Inputs vergleichen So werden Adressen und Daten nur vom angegebenen Knoten zum Speicher transportiert bzw umgekehrt Nur die Verz gerung zum Warten auf andere Knoten ist in diesem Fall aktiv Da aber kein wei terer Zugreifer beachtet wird wird immer die eingestellte Zeitspanne 0 4 8 oder 12 Takte dies entspricht bei 32 MHz etwa 0 125 250 375 nsec lang gewartet Diese Voterergebnisse vervollst ndigen die Liste der zur ckgelieferten Statusinformationen Damit sind alle Kombinationen mit 4 Bits bis auf 1000 mit einer Bedeutung belegt Der Wert 1000 wird aber nicht von den Votern ausgegeben 112 Ein Stabiler Speicher f r MEMSY 6 3 Zusammenfa
98. den heute gebr uchlichen Speicherchips DRAM auch der Fall CYP92 denn die Hersteller der Speicherchips sind sich dieser Fehler 53 Fehlerm glichkeiten in MEMSY quelle bewu t und beugen ihr durch geeignete Ma nahmen im Chipgeh use zum Schutz vor Al pha Teilchen vor Daher d rfte dieser Fehler nur noch sehr selten vorkommen Schon ein ein facher Versuch bei dem ein Kommunikationsspeicher mit bekannten Werten beschrieben wur de und anschlie end lange Zeit unangetastet blieb konnte dies best tigen Nach etwa 170 Stunden 1 Woche hatte sich in den 4 MByte noch kein Bit ver ndert Diese Forderung ist deutlich schw cher als die Forderung von Lampson bei der ber einen sol chen Zeitraum nur ein oder wenige Bits kippen d rfen was bereits zu einem ung ltigen Block f hren w rde Diese hier geltende schw chere Forderung kommt daher zustande da hier jedes Wort mit vier Paritybits abgelegt ist Dann sind auch mehrere umkippende Bits innerhalb eines Objekt Paares kein Grund f r eine unwiderrufbare Zerst rung des gespeicherten Objekts so lange sie nicht im selben Wortpaar auftreten Unter Umst nden k nnen sogar mehrere gekippte Bits im selben Wortpaar wieder repariert werden solange sie nicht gleichzeitig in den entspre chenden Bytes auftreten Mit Hilfe der zweifachen Abspeicherung l t sich auch w hrend des Updates eines Objekts si cherstellen da im Fall eines fehlerhaften Datenblocks der alte Objektzustand wi
99. der Objektbeschreibung noch einige Angaben gemacht die sich w hrend ei ner Auftragsbearbeitung ndern wie der Zustand des Objekts w hrend eines Updates Diese In formationen machen es der zentralen Steuerung leichter nach einem aufgetretenen Fehler den Zustand des Objektes zu erkennen Sollte diese Information aber selbst von einem Fehler be troffen sein so kann auf die Untersuchung der Checksummen der beiden Objektkopien zur ck 96 Ein Stabiler Speicher f r MEMSY gegriffen werden Die Auftr ge WRITE_BI und READ_BI sind sehr einfach auszuf hren Bei ihnen wird nur ein Transfer eines Wortes zwischen dem Parameterregister KP 3 und einem Eintrag in der Objekt beschreibung in jeder der beiden Objektspeicher durchgef hrt F r die korrekte Zusammenarbeit mit der Puffersteuerung mu die zentrale Steuerung die Sperr Eintr ge welche die Puffersteuerung als Grundlage f r die Berechtigung eines Auf traggeberzugriffs auf einzelne Register in der Kommunikationspage benutzt am Ende ihrer Auftragsbearbeitung aktualisieren Bei fast allen Auftr gen mu der Zugriff auf die Auftrags und Parameterregister wieder erlaubt der Zugriff auf das Transferregister wieder verboten wer den Nur bei einem READ Auftrag mu die zentrale Steuerung nach der bertragung des an geforderten Objekts in den Pufferspeicher stattdessen das Lesen vom Pufferspeicher erlauben Die Zugriffssperre auf Auftrags und Parameterregister bleibt bestehen
100. der Wartezeit auf das Ende der Auftragsbearbeitung durchf hrt ist dem Programmierer bzw dem Betriebssystem berlassen Eine M glichkeit die Bearbei tungszeit sinnvoll zu nutzen w re in dieser Zeit die Daten f r einen neuen Auftrag vorzuberei ten In Abb 23 ist der zeitliche Ablauf eines Auftrags ohne Datentransfer skizziert 74 Ein Stabiler Speicher f r MEMSY Auftraggeber Auftrag Erg lesen Erg lesen schreiben nicht fertig fertig l st Stabiler Speicher S Wirkung zum Komm P Komm P Anwender sperren freigeben Ergebnis Ergebnis Ergebnis Ergebnis FERTIG IDLE BUSY FERTIG Auftrag Auftrag empfangen bearbeiten Ergebnis FERTIG bedeutet da irgendein Ergebnis ber den letzten Auftrag vorliegt Ob dieser Auftrag erfolgreich bearbeitet werden konnte oder nicht ist in diesem Zusammenhang nicht entscheidend Abb 23 zeitlicher Ablauf der Auftragsbearbeitung Neben den Statusangaben zum aktuellen Auftrag enth lt das Ergebnisregister noch weitere In formation tiber den Schadenszustand des Stabilen Speichers Dafiir sind 8 Bit vorgesehen siehe Abb 24 Diese Angaben sagen etwas dariiber aus ob der Stabile Speicher noch fehlerfrei ar beitet oder ob sich ein Schaden in ihm ereignet hat Dieser k nnte dazu f hren da der Stabile Speicher auf Dauer nicht mehr sicher arbeiten kann intern KP 4 Ergebnisregister Schaden _Auftrags Ergebris Abb 24 Datenstruk
101. der nicht Im Erfolgsfall ist der 4 bit Bereich voll gleich Null Dann k nnen die KP Nummer und das Pa wort in lokale Variablen des Auftraggebers bertragen werden die dann bei den folgenden Zugriffen auf die eigene Kommunikationspage verwendet werden Es ist dabei sehr wichtig da beim Auftrag ACCESS nur einmal auf das Vermittlungsregister zugegriffen wird Anson sten w rden mehrere Kommunikationspages zugeteilt werden Deren Angaben w rden entspre chend dem beabsichtigten Zweck untereinander nat rlich nicht zusammenpassen Aus der Angabe zur KP Nummer mu f r die weiteren Zugriffe noch die physikalische Basis adresse der bergebenen Kommunikationspage ermittelt werden Diese Adresse wird aus der physikalischen Basisadresse der benutzten VIP gebildet Diese mu als Hexadezimalzahl die Form XXC00000 besitzen XX bezeichnet 2 Hexadezimalstellen das C das hexadezimale C 90 Ein Stabiler Speicher f r MEMSY und jede 0 eine hexadezimale 0 Der zweite Teil der Basisadresse wird aus der bergebenen KP Nummer ermittelt Diese mu noch um einige Bitstellen nach links verschoben werden Die Anzahl der Bitstellen l t sich aus einem Eintrag im Informationsteil der VIP entnehmen In VIP 26 ist die eingestellte Pagegr e in Bytes f r das Host System eingetragen siehe auch Abb 35 Sie sollte mit der tats chlichen Pagegr e des Host Systems bereinstimmen damit der Pageschutzmechanismus der Host Speicherverwaltun
102. die im Bild am Rand erscheinenden vier Nachbarknoten besitzen Zwischen den beiden Ebenen gibt es ebenfalls eine feste Nachbarschaftsbeziehung Vier Kno ten aus der A Ebene die in einem Quadrat angeordnet sind und ein Knoten aus der B Ebene bilden zusammen eine Pyramide Die Kanten der Pyramide stellen die Nachbarschaftsbeziehun 15 Das Multiprozessorsystem MEMSY gen dar Setzt man mehrere solche Pyramiden feldartig nebeneinander so erh lt man ein gr Beres Multiprozessorsystem Beispiele f r ein MEMSY mit f nf bzw mit zwanzig Knoten sind unten dargestellt siehe Abb 4 a AS IN PS Ara Fr a Prozessor Knoten und sein Kommunikationsspeicher Nachbarschafts Verbindungen Abb 4 MEMSY mit 5 Knoten MEMSY mit 20 Knoten Elementar Pyramide 4 Knoten in der B Ebene 16 Knoten in der A Ebene K 2 Ein einzelner Knoten besteht aus einem Prozessor Knoten und einem Kommunikationsspei cher Innerhalb jeder Ebene hat jeder Prozessor Zugriff auf seinen eigenen Kommunikations speicher und auf die Kommunikationsspeicher seiner vier Nachbarn siehe Abb 5 Die Prozes soren in der B Ebene haben zus tzlich Zugriff auf die Kommunikationsspeicher ihrer unterge ordneten vier Knoten ber die Kommunikationsspeicher k nnen die einzelnen Knoten Informationen mit ihren Nachbarknoten austauschen Entsprechend der Nachbarschaftsbeziehungen die durch die Verbindungen zu den Kommuni katio
103. e bereichen befinden Au erdem teilt kein Objekt seine Page mit einem anderen Objekt Folglich k nnen maximal so viele Stabile Objekte angelegt werden wie Pages zur Verf gung stehen In dieser Implementierung wurde die Page Gr e so gew hlt da in einer Page genauso viele Worte stehen wie es Pages gibt Bei einer Pagegr e von N Worten gibt es somit N Pages Die Kapazit t eines Speichers ist also immer N Worte Dies l t sich bei Verwendung der blichen DRAM Bausteine leicht erreichen In der vorliegenden Implementierung enth lt jeder Speicher 97 Ein Stabiler Speicher f r MEMSY 16 MWorte Megaworte das sind 64 MByte Es gibt also 4096 Pages mit einer Gr e von je 4096 Worten Als Basisgr e wurde ein 32 bit Wort genommen und kein Byte Das erkl rt sich daraus da dieser Stabile Speicher an einen Rechner angeschlossen ist bei dem der Datentrans port von Prozessor bis zu den Kommunikationsspeichern und damit auch bis zum Stabilen Speicher auf der Basis von 32 bit Worten ausgef hrt wird Ferner werden voraussichtlich auch die abzulegenden Datenstrukturen aus 32 bit Worten oder sogar aus 64 bit Worten bestehen Mit dem Verzicht auf Byte Zugriffe wird zudem die Speicherzugriffs Hardware einfacher Die zun chst willk rlich erscheinende Wahl der Pagegr e in Abh ngigkeit von der Speicher gr e wirkt sich bei der Speicherverwaltung positiv aus Denn nun kann f r die Verwaltungs daten die ebenfalls hier gespei
104. e schnelle Ausf hrung im Vordergrund sondern eine sichere Bearbeitung Daher wurde in diesem Fall auf Zeitangaben verzichtet 142 Zusammenfassung und Ausblick 8 Zusammenfassung und Ausblick 8 1 Zusammenfassung In dieser Arbeit wurde ein Stabiler Speicher vorgestellt der f r das speichergekoppelte Multi prozessorsystem MEMSY entwickelt worden ist Da als Speichermedium RAM Bausteine ein gesetzt wurden konnte ein schneller Zugriff gew hrleistet werden Die Topologie von MEMSY und seine Realisierung hatten gro en Einflu auf die Details bei der Implementierung des Stabilen Speichers Dennoch sind viele Details in der Problemstellung nicht MEMSY typisch sondern treten auch bei anderen speichergekoppelten Multiprozessorsy stemen auf Daher lassen sich die meisten hier gefundenen L sungen auch auf andere Systeme bertragen Charakteristisch f r diesen Stabilen Speicher ist seine Zweiteilung bei der Bearbeitung von Zu griffsw nschen der Auftraggeber W hrend sich im Pufferbereich bei jedem Speicherzugriff die Auftraggeber st ndig abwechseln k nnen wird von der zentralen Steuerung immer nur ein Auf trag also i a ein Stabiles Objekt komplett ber eine l ngere Zeit bearbeitet F r die Auftrag geber entsteht vor allem bei der Daten bertragung zum Schreiben eines Objekts der Eindruck einer ungehinderten Ansprechbarkeit des Stabilen Speichers und f r das sichere Abspeichern eines Datenblocks ist nur ein einmaliger Tra
105. e zusammen Folgende Auftr ge k nnen ausgef hrt werden INFO ACCESS RELEASE CREATE CREATE and WRITE CREATE and WRITE_BI CREATE and WRITE and WRITE_BI DELETE WRITE WRITE and WRITE_BI READ READ and READ_BI VERIFY WRITE_BI READ_BI 62 Ein Stabiler Speicher f r MEMSY Die Auftr ge INFO und ACCESS unterscheiden sich allerdings in der Benutzung von den an deren Bei ihnen wird nur von bestimmten Adressen gelesen w hrend bei den brigen Auftr gen bestimmte Angaben zu den betroffenen Stabilen Objekten an den Pufferbereich bergeben werden Genauer wird dies in den Abschnitten 6 4 2 Ablauf ohne Datentransfer und 6 4 4 VIP behandelt Ein Lese oder Schreib Auftrag an den Stabilen Speicher betrifft immer das ganze Stabile Ob jekt Auch wenn nur Teile eines Stabilen Objekts ben tigt werden besteht nur die M glichkeit das gesamte Stabile Objekt zu transferieren in diesem Fall lesend und anschlie end au erhalb des Stabilen Speichers die gew nschten Teile des Objekts zu entnehmen und zu verwenden Auch beim Schreiben mu ein ganzes Objekt transferiert werden Dies ist f r die Berechnung und berpr fung der Checksumme notwendig Die Arbeit mit dem Stabilen Speicher wird da durch kaum eingeschr nkt da man bei der vorgesehenen Verwendung Aufnahme von Siche rungsdaten leicht mit dem Transfer von kompletten Objekten auskommen kann In bestimmten Situationen z B bei Recovery nach dem Aus
106. ederhergestellt werden kann Diese Vorgehensweise wurde auch bei anderen Rechnern angewendet BER88 BOP93 Eine weitere Fehlerursache kann der Ausfall eines Speicherchips sein Da die Chips im Haupt speicher von MEMSY und in den Kommunikationsspeichern und auch im Stabilen Speicher so organisiert sind da sie je ein Bit von vielen Worten aufnehmen macht sich dieser Fehler in der gleichen Weise bemerkbar wie ein einzelnes umgekipptes Bit Allerdings ist in diesem Fall gleich ein ganzer Speicherbereich betroffen Eine doppelte Speicherung in verschiedenen Spei cherb nken erm glicht auch in diesem Fall da beim Lesen dem Prozessor ein korrekter Da tenblock geliefert werden kann F r das Schreiben und f r die regelm ige Kontrolle auf paar weise Gleichheit sieht die Situation aber nicht so gut aus In diesem Fall mu ein anderer Spei cherplatz innerhalb des Stabilen Speichers gefunden werden der den defekten Chip nicht benutzt Sofern ein solcher Platz gefunden werden kann soll eine Verlagerung ohne Einflu und Wissen des Anwenderprozesses m glich sein Ansonsten mu der Anwenderproze wie im Fall eines dauerhaften Defekts der zentralen Steuerung ber die Situation informiert werden damit dieser geeignet reagieren kann Als weitere Fehlerm glichkeit kommt auch in Frage da der Speicherzugriff selbst fehlerhaft abl uft Handelt es sich dabei um transiente Fehler so k nnen diese i a durch eine Wiederho lung des Zugriffs ko
107. eiben sie unerkannt bis die fehlerbehafte Einheit verwendet werden soll Aber auch beim n chsten Zugriff auf eine Einheit mit einem permanenten Fehler ist nicht sicher da der Fehler entdeckt wird Beispielsweise kann ein permanenter Fehler in einer Speicherbau gruppe existieren der dazu f hrt da nicht die richtige Adresse an die Speicherchips angelegt wird Dies kann durch eine schadhafte Verbindung zwischen dem Adre register und den Spei cherchips oder durch einen Fehler im Adre dekoder hervorgerufen werden SPH94 Bei Schreibzugriffen kann es dann vorkommen da Daten die an verschiedene Adressen in diesem Speicher geschrieben werden sollen am selben Speicherplatz eingetragen werden Beim sp te ren Lesen wird dieser Fehler unter Umst nden gar nicht bemerkt wenn der zuerst geschriebene Wert f r den weiteren Programmablauf irrelevant ist hnliche Auswirkungen k nnen z B auch dann auftreten wenn die vom Prozessor gelieferte Adresse zu einem falschen Zeitpunkt in das Register bernommen wird Dann erfolgt der Speicherzugriff auch an eine falsche Adresse F r die Fehlererkennung ist es wichtig da Redundanz vorhanden ist Am weitesten verbreitet ist in einem Computer das Erzeugen und Checken von Parity Information Dazu wird zu einer Gruppe von Bits meistens eines Byte ein zus tzliches Bit erzeugt so da die Gesamtzahl der dann vorliegenden gesetzten Bits eine gerade Zahl bzw eine ungerade Zahl bei Even Parity bzw bei Odd
108. eibzugriffe der zentralen Steuerung auf den Pufferspeicher und auf die beiden Objekt speicher werden von einem Lesezugriff und einem Vergleich gefolgt um die erfolgreiche ber tragung des Wortes zu kontrollieren Gegebenenfalls werden bis zu drei Wiederholungen durch 100 Ein Stabiler Speicher f r MEMSY gef hrt um transiente Fehler tolerieren zu k nnen die bei den angesprochenen Speicherplati nen aufgetreten sind Schlagen jedoch alle Wiederholungsversuche fehl wird ein Ausfall der angesprochenen Platine angenommen 6 5 4 Reaktion der zentralen Steuerung bei Ausfall einer Speicherplatine Der Ausfall einer ganzen Platine des Stabilen Speichers ist ein schwerwiegendes Fehlerereignis Unter g nstigen Umst nden kann dieser Fehler toleriert werden Allerdings darf dann i a kein weiterer Fehler aufgetreten sein Ist eine Reparatur oder ein Zur cksetzen erfolgreich so han delt es sich um einen vor bergehenden Ausfall im anderen Fall um einen dauerhaften Schaden Ein vor bergehender Ausfall der zentralen Steuerung ist gleichzusetzen mit einer Asynchronit t von mehr als einem Knoten der TMR Steuerung und l t sich durch Zur cksetzen der drei Pro zessoren beheben Hier mu zun chst ein VERIFY auf dem aktuell bearbeiteten Stabilen Objekt ausgef hrt werden bevor mit der normalen Arbeitsweise fortgefahren werden kann Bei vor bergehendem Ausfall eines Objektspeichers l t sich nach Wiederinbetriebnahme die ses Speicher
109. eicher er zeugen Dazu mu Speicherplatz belegt werden 61 Ein Stabiler Speicher f r MEMSY e DELETE Der Anwender m chte ein Stabiles Objekt l schen Damit wird im Stabi len Speicher wieder Platz frei e WRITE Der Anwender m chte auf ein schon bestehendes Stabiles Objekt schrei ben d h einen Update ausf hren Dabei darf die Gr e des Objekts nicht ver ndert werden e READ Der Anwender m chte ein bestehendes Stabiles Objekt lesen e VERIFY Ein Stabiles Objekt soll berpr ft werden Diese Operation entspricht im wesentlichen dem Cleanup von Lampson Da hier aber jedes Wort mit Pa rity ausgestattet ist gibt es beim Auftreten von Bitfehlern deutlich mehr Korrekturm glichkeiten als bei Datenbl cken die nur durch eine Check summe gesch tzt sind Dieser Auftrag wird vom Stabilen Speicher auto matisch ausgef hrt wenn nichts weiteres zu tun ist Diese Aktion kann aber auch explizit vom Anwender angesto en werden e WRITE_BI Jedem Stabilen Objekt kann der Anwender eine Kurzinformation mitge ben Diese darf im hier implementierten Fall maximal 20 Bit umfassen Mit dieser Operation kann diese Benutzerinformation beschrieben werden e READ BI Mit dieser Operation kann die Benutzerinformation gelesen werden Zum Teil gibt es auch Kombinationen aus diesen Auftr gen z B lt CREATE and WRITE gt oder lt WRITE and WRITE_BI gt Ein solcher Auftrag setzt sich aus der Hintereinanderausfiihrung der beiden Teil
110. eignen kein Z h ler berlauf kann man mit ihnen einen Eindruck von der Fehleranf lligkeit der bertragungs wege gewinnen Die Z hler m ssen nicht nach jedem fehlerhaften Zugriff gel scht werden Sie sind nicht als Datenbasis f r die Untersuchung nach einem aufgetretenen Fehler gedacht ob gleich sie nach jedem untersuchten Fehler gel scht dazu dienen k nnen Ferner ist zu bemerken da diese Z hler unabh ngig davon die Fehler registrieren ob eine Wei termeldung der fehlerhaft gelesenen Worte an die CMMU durchgef hrt werden soll oder nicht Dagegen werden die Informationen ber aufgetretene Fehler im Status und im Fehleradre re gister nur dann eingetragen wenn auch tats chlich der Fehler weitergeleitet werden soll Dies ist so gew hlt worden damit der Prozessor auch immer die Information zum mitgeteilten Fehler im Status und im Fehleradre register vorfinden kann Als weiteres Spezialregister ist eine Me schnittstelle integriert Auf dieses Register kann nur geschrieben werden Ein einfacher Schreibzugriff auf dieses Register l dt ein 32 bit Wort in dieses Register Die Ausg nge des Registers sind mit einem Stecker verbunden an den au er halb des Rechners ein Me ger t oder eine Anzeigeeinheit angeschlossen werden kann Auch ein Signal das als Trigger den Zeitpunkt angibt wann eine neue Information in das Register geschrieben worden ist kann am Stecker abgegriffen werden Diese Einrichtung dient in erster Linie z
111. ein entsprechendes Prozessorinterface PI ent 17 Das Multiprozessorsystem MEMSY wickelt werden siehe Abb 6 2 Prozessoren Caches BITTEN M Bus gem Adre Daten Bus S Bus Adr Dat i lokale Treiber VA Speicher Prozessor Interface zu den Kommunikationsspeichern VME Bus Adr Dat eco k Abb 6 Schnittstellen innerhalb des M88K Systems J Vom Prozessor aus gesehen ist die erste Schnittstelle der M Bus Memory Bus Die n chste Schnittstelle ist der S Bus Slave Bus tiber den das Prozessorboard mit dem lokalen Speicher board und dem System Controller Board verbunden ist Kerneinheit Schlie lich gibt es den VME Riickwand Bus ber den s mtliche Teilsysteme eines Prozessorknotens miteinander ver bunden sind MVM89 Die Entscheidung fiel zugunsten der S Bus Schnittstelle aus Diese hat gegen ber den beiden anderen Varianten einige Vorteile die hier kurz dargestellt werden Die S Bus Schnittstelle besteht aus zwei blichen 96 poligen Steckern die h ufige Steckvor g nge erlauben Dies ist besonders in der Erprobungsphase ein oft vorkommender Vorgang Da gegen hat der M Bus Stecker 3 x 100 Pins einen wesentlich empfindlicheren Aufbau so da h ufige Steckvorg nge nicht ratsam sind Ferner ist zu ber cksichtigen da der Anschlu wei terer Schaltkreise an einer Schnittstelle eine zus tzliche elektrische Belastung darstellt so da sich die Zeitverh ltn
112. einer unkorrekten Arbeitsweise des Betriebssystems entspringen k nnen sehr anf llig Da das Betriebssystem im Gegensatz zu den Anwenderprozessen mei stens alle Zugriffsrechte auf alle Ressourcen besitzt lassen sich Fehler die bei ihm auftreten i a nicht von einer Hardware kontrollieren In den meisten Rechnern laufen auch mehrere Programme gleichzeitig im Time Sharing Be trieb oder bei Multiprozessorsystemen auch im Space Sharing Betrieb Die Programme d rfen sich in ihrer Arbeitsweise gegenseitig nicht beeintr chtigen So geh ren Zugriffe in unerlaubte fremde Adre bereiche zu den problematischsten Fehlern da es kaum m glich ist im nach hinein die Fehlerursache zu diagnostizieren Zur Vermeidung solch katastrophaler Fehler ver f gen die meisten Rechner ber einige Schutzvorkehrungen Die wichtigste Rolle spielt dabei die Memory Management Unit MMU In diesem Baustein werden Adre umrechnungen vorgenommen die eine logische Adresse die der Prozessor aus gibt in eine physikalische Adresse umwandeln Bei den Umrechnungen werden gleichzeitig verschiedene Schutzvorkehrungen berpr ft welche die Zugriffe auf diesen Speicherbereich 42 Fehlerm glichkeiten in MEMSY betreffen Im Fall einer Schutzverletzung werden entsprechende Fehlersignale gesetzt Es sind dies Segment Fault Page Fault Write Protection Violation Supervisor Violation oder auch Privilege Violation genannt Das
113. einsame Speicher die Kommu nikationsspeicher Aus dieser Betrachtung heraus werden anschlie end diejenigen Fehler be trachtet die an dieser Stelle am ehesten zu erwarten sind Besonders solche sind dann von In teresse die von einer Hardware erkannt und gegebenenfalls korrigiert werden k nnen Dies m ndet dann in die Beschreibung f r den Entwurf eines Stabilen Speichers f r MEMSY 14 Das Multiprozessorsystem MEMSY 3 Das Multiprozessorsystem MEMSY Die Besch ftigung mit speichergekoppelten Multiprozessoren hat an der Universit t Erlangen N rnberg schon Tradition wie es die Projekte um den EGPA Rechner HAN76 und um das DIRMU System HMW85 zeigen In Fortsetzung dieser Reihe wurde das Multiprozessorsy stem MEMSY entworfen An ihm werden auf vielen Gebieten verschiedene Untersuchungen bez glich Multiprozessoren durchgef hrt FRH89 Standen zun chst vor allem Untersuchungen zur Leistungsf higkeit Rechenleistung Verbin dungsstrukturen HIL92 im Vordergrund so wurden in j ngerer Zeit in immer st rkerem Ma auch Fehlertoleranz Aspekte betrachtet Neben den Untersuchungen zur schnellen Fehlererken nung werden Ma nahmen zur Fehlerbehebung insbesondere Wiederaufsetzverfahren mit Hilfe von Sicherungspunkten untersucht DCH91 Zur Anwendung von Sicherungspunkten m ssen drei Dinge funktionieren Der Sicherungspunkt mu regelm ig nach einer gewissen Zeit erstellt wird die deutlich unter der MTBF des Rechner
114. eiteres Steu ersignal das bisher noch nicht erw hnt worden ist das ACTIV Signal Es dient dazu dem Kommunikationsspeicher zu signalisieren da nach dem gerade laufenden Transfer ein Wort lesen oder schreiben mindestens ein weiterer Transfer folgt der zu der laufenden Operation ge h rt Dadurch k nnen das Burst Schreiben und Lesen und RMW Operationen als nicht unter brechbare Aktionen mit dem Kommunikationsspeicher durchgef hrt werden Im Fall des Ein zelwort Transfers ist das ACTIV Signal auf inaktiv 1 gesetzt In den anderen angegebenen F llen wird es ab dem ersten DSTR Signal vom Prozessorinterface auf aktiv 0 gesetzt Im Fall eines Burst Transfers bleibt es bis zum vorletzten 3 Wort Transfer gesetzt und wird w h rend des letzten 4 Transfer zur ckgenommen siehe Abb 9 Das Multiprozessorsystem MEMSY Schr Dat 0 Schr Dat 3 WBi f DO WBi f D1 WBi f D2 WBi f D3 ASTR DS DS DS DS ACTIV MR MR MR MR PERR Abb 9 Burst Zugriff ber die bertragungsstrecke zum Kommunikationsspeicher Bei der Durchf hrung einer RMW Operation wird das ACTIV Signal ebenfalls gesetzt und erst w hrend der Schreib Operation zur ckgenommen siehe Abb 10 am e amam WEif L D WEi f S D ASTR DS DS ACTIV MR MR PERR Abb 10 RMW Operation iiber die Ubertragungsstrecke zum a Kommunikationsspeicher J Das Multiprozessorsystem MEMSY 3 3
115. elben Stabilen Speicher ha ben Ferner ist anzunehmen da bei einer verteilten Anwendung alle daran beteiligten Prozes soren etwa zur gleichen Zeit ihren Sicherungspunkt anlegen wollen CHL85 DHL89 Dabei sollen sie sich am Stabilen Speicher gegenseitig nicht berm ig behindern Vor allem das gleichzeitige Ablegen einer gr eren Datenmenge soll simultan ausgef hrt werden k nnen Bei dieser nebenl ufigen Arbeitsweise besteht die Gefahr da das Fehlverhalten eines Prozes sors die Arbeit der intakten Prozessoren mit dem Stabilen Speicher derart st rt da sich bei ih rer Daten bertragung Fehler einstellen obwohl sie selbst korrekt arbeiten Dies mu erkannt werden bevor es zu einer nicht mehr r ckg ngig zu machenden Datenver nderung im Stabilen Speicher kommen kann Dies verlangt nach besonderen Schutzma nahmen des Stabilen Spei chers die die einzelnen Prozessoren voreinander sch tzen Der Stabile Speicher hat eine besondere Funktion in dem Multiprozessorsystem Ihm werden Daten anvertraut die man f r besonders schutzw rdig h lt Damit er seinem Namen gerecht werden kann mu daf r gesorgt werden da er selbst nicht einen Defekt erleidet der zum Ver lust der Daten f hren kann Um sicherzustellen da sich interne Fehler nicht ausbreiten k nnen 56 Ein Stabiler Speicher f r MEMSY m ssen interne Fehler sofort erkannt werden k nnen Es w rde aber nichts n tzen wenn der Stabile Speicher dann d
116. elegt worden ist mu er zur Bearbeitung der zentralen Steuerung des Stabilen Speichers vorgelegt werden Von dieser handelt dieser Abschnitt Dabei werden zun chst die bergabe und Bearbeitung eines Auftrags aus Sicht der Steuerung beschrieben dann die Struktur der Speicherverwaltung in groben Z gen aufgezeigt Schutzmechanismen gegen eigenen Ausfall erl utert und der interne Aufbau dargestellt 6 5 1 bergabe und Bearbeitung der Auftr ge ber das Auftrags FIFO werden die Auftr ge der zentralen Steuerung des Stabilen Speicher bergeben Dazu wird dort die KP Nummer von der Puffersteuerung eingetragen Zu diesem Zeitpunkt hat der Auftraggeber alle Angaben f r diesen Auftrag gemacht Bei Transfer Auftr gen WRITE und READ ist auch ein Platz im Pufferspeicher bereitgestellt und bei einem WRITE Auftrag dort bereits der vollst ndige Datenblock eingetragen worden 94 Ein Stabiler Speicher f r MEMSY Die zentrale Steuerung mu nun den Auftrag mitsamt den Parametern die in der angegebenen Kommunikationspage abgelegt wurden zun chst auf korrekte Angaben berpr fen Dazu ge h rt die Kontrolle ob das angegebene Stabile Objekt auch existiert und dieser Kommunika tionspage zugeordnet ist Weiterhin wird die bergebene Objektl nge mit der Angabe vergli chen die sich der Stabile Speicher beim Erzeugen des Objekts in seiner Objektbeschreibung eingetragen hat Eine weitere berpr fung betrifft die Angabe des Auftrags Du
117. en da einmal geschriebene Daten im Speicher stets unver ndert bleiben Es ist eher zu erwarten da w hrend einer gr eren Zeitspanne hnlich der oben angedeuteten MTBF ein Bit auf Grund eines transienten Fehlers seinen Wert ver ndert So m ssen innerhalb des Stabilen Speichers einige Vorkehrungen dazu getroffen werden die einen aufgetretenen Fehler rechtzei tig erkennen so da er ohne Zutun von au en sicher behoben wird Neben diesen Anforderungen m ssen weitere Forderungen erf llt sein um die Datensicherheit der Stabilen Objekte zu gew hrleisten 55 Ein Stabiler Speicher f r MEMSY Sehr wichtig ist da defekte Prozessoren nicht den Inhalt des Stabilen Speichers zerst ren k n nen Dies geht ber die Annahmen von Lampson hinaus der als Prozessor Fehler nur einen pl tzlichen Crash vorgesehen hat Hier wird auch ein ber l ngere Zeit fehlerhaft arbeitender Prozessor angenommen Die Dauer die ein Prozessor bis zu seiner Entdeckung fehlerhaft ar beiten darf wird nicht eingeschr nkt Verschiedene Fehlererkennungsmechanismen die bereits in das System eingebaut sind bzw noch werden sollen zwar einen Prozessorfehler m glichst rasch entdecken und den betreffenden Prozessor stillegen so da kaum eine Ausbreitung des Fehlers erfolgt Dennoch sollen vom Stabilen Speicher aus keine Anforderungen an diese Ein heiten gestellt werden Da n mlich beim Stabilen Speicher w re er ohne eigene Schutzvorkeh rungen a
118. en fehlerhaft zugreifenden Auftraggeber wird von der Puffersteuerung verhindert Trotz dieser beschr nkten ffnung des Pufferbereichs ist es m glich da ein fremder defekter Auftraggeber w hrend dieser Zeit Zugriffe auf diesen Pufferabschnitt durchf hrt Dies kann aus den bereits fr her erw hnten Gr nden von der Puffersteuerung nicht erkannt werden Zur Ein d mmung dieser Gefahr erfolgt die Kontrolle des gesamten Datenblocks durch das berpr fen der mitgelieferten Checksumme Um die M glichkeiten f r die Bildung der Checksumme nicht von vornherein sehr zu begrenzen wird dies nicht von der Puffersteuerung ausgef hrt da diese rein als Hardware implementiert wurde Stattdessen erfolgt die berpr fung w hrend der ber tragung des Datenblocks vom Puffer in den ersten Objektspeicher Dies wird von der zentralen Steuerung des Stabilen Speichers ausgef hrt wird die aus einem programmgesteuerten Prozes sor besteht Ung ltige Datenbl cke werden dabei rechtzeitig erkannt Rechtzeitig bedeutet in diesem Fall da bei einer nicht konformen Checksumme der alte Zustand des Stabilen Objekts durch Kopieren aus dem zweiten Objektspeicher wiederhergestellt werden kann Beim Lesen des Blocks durch den Auftraggeber stellt dieser den Checksummenfehler fest Da im Stabilen Speicher daf r gesorgt wurde da bei einem READ Auftrag nur eine g ltige Kopie eines Stabilen Objekt im Puffer abgelegt wird mu der Fehler beim Lesen aus dem Puff
119. en gleichzeitig ber dieselbe interne Teilstrecke laufen In beiden F llen kann nur einer der Zugreifer sofort zum gew nschten Kommunikationsspei cher durchgeschaltet werden Der andere Zugreifer mu warten bis der Weg wieder frei gewor den ist Kontrolliert werden die einzelnen Zugriffe im Koppelmodul von einer zentralen Steuerung die st ndig einen genauen berblick ber die gew nschten Zugriffe und die verf gbaren Wege hat Unter Umst nden schaltet sie f r einen Transfer auch einen Umweg der zwar ber mehrere interne Wege geht aber daf r gleichzeitig zu einem anderen Transfer ablaufen kann mit dem dieser bei Wahl des k rzeren Weges in Konflikt stehen w rde So sind beispielsweise die Ver bindung P M ber By B und P M ber B B B By m glich In dieser Situation k nnen sogar noch gleichzeitig die Verbindungen P M ber B und P M ber B benutzt werden Das sind insgesamt vier gleichzeitig nutzbare Verbindungen 34 Das Multiprozessorsystem MEMSY Mit diesem Koppelmodul besteht zum gr ten Teil auch die M glichkeit einen intern ausge fallenen Weg durch Umleitung zu umgehen Damit kann ein Teilausfall des Koppelmoduls oft noch dadurch toleriert werden indem ein Alternativweg benutzt wird Dazu m ssen andere Adre bereiche bei Zugriffen auf die Kommunikationsspeicher benutzt werden Dadurch ist es in den meisten F llen noch m glich von jedem Prozessor au
120. en vom Auftraggeber als ein Block vorliegen der aus einer Folge von Worten besteht array l nge of integer Jedes Wort ist ein 32 bit Wert Die L nge ist eine Zahl zwischen 1 und 1 Mega 2 Der Block setzt sich zusammen aus ei ner Folge von Worten die die Netto Information beinhalten und aus einem Checkwort F r die bei der Auftragserteilung anzugebende L nge gilt die Netto L nge Dieser Wert liegt somit zwischen 0 und 2 1 Er l t sich genau in der daf r vorgesehenen Stelle 20 bit im Parame terregister KP 2 bei der Auftragsvergabe eintragen F r den Datenblock besteht auf Grund seiner Gr e nicht die M glichkeit ihn auch nur ann hernd komplett in dem Adre bereich unterzubringen der von der Kommunikationspage zur Verf gung gestellt wird Daher wurde eine andere M glichkeit f r den Austausch eines Daten blocks geschaffen Im Pufferbereich gibt es einen 4 MWort gro en Speicher den Puffer Dieser wird verwendet um Datenbl cke aufzunehmen die zwischen dem Auftraggeber und dem Stabilen Speicher transferiert werden m ssen Der Puffer ist daf r eingerichtet Bl cke bis zu einer maximalen Gr e von 1 MWorte 1 MWorte 4 MByte aufnehmen zu k nnen Die Auswahl des aktuell bereitgestellten Pufferplatzes ist Teil der Auftragsvergabe die w h rend des Schreibzugriffes auf das Auftragsregister KP 0 durch den Auftraggeber ausgef hrt wird Da hierbei recht enge Zeitgrenzen Timeout des Kommunikationsspeiche
121. en vorhanden sein Dies wurde hier nicht vorgesehen da die Einf hrung einer solchen Verbindung dazu f hren w rde da ein zus tzliches umfangreiches Verbindungssy stem zu dem bereits bestehenden eingerichtet werden m te Denn bei der bestehenden Topo logie kann ein Kommunikationsspeicher und damit auch der dort platzierte Stabile Speicher von 8 Prozessorknoten erreicht werden Doch eine zus tzliche Verkabelung sollte ja vermieden werden Somit hat der Stabile Speicher keinen direkten Draht zu den Auftraggebern Daf r bleibt man aber flexibler was die m gliche Nutzung des Stabilen Speichers durch die Prozessoren betrifft Denn somit gilt f r die Nutzung des Stabilen Speichers nur da ein Pro zessor die M glichkeit hat einen normalen Speicherzugriff auf ihn durchf hren zu k nnen Wieviele Prozessoren dann Zugriff auf den Stabilen Speicher haben ist somit nur von der be reits bestehenden Verbindungstopologie des Multiprozessorsystems abh ngig und nicht von der Struktur des Stabilen Speichers Folglich ist die zun chst ung nstiger erscheinende Version mit dem Nachfragen verwendet worden Dazu existiert in jeder Kommunikationspage das Ergebnisregister KP 4 Auf dieses sind nur Lesezugriffe erlaubt Sein Inhalt gibt an wie es um den Fortschritt des Auftrags bestellt ist M gliche Werte f r das Ergebnisregister sind IDLE der Auftrag wartet noch in der Warteschlange auf seine Bearbeitung BUSY der Auf
122. enblockpaare Falls zwei Plattenspeicher zur Verf gung stehen kann die Verteilung der Datenblockpaare in der Weise vorgenommen werden da die beiden H lften auf unterschiedlichen Platten zu lie gen kommen Dann kann ein Fehler der nur eine Platte betrifft auch nur eine der beiden H lften treffen Die andere H lfte bleibt unversehrt und kann somit als Quelle bei einem anschlie enden CLEANUP dienen Steht nur eine Platte zur Verf gung so sind einige Vorkehrungen zu treffen damit auch in die sem Fall mit sehr hoher Wahrscheinlichkeit nur eine Datenblockh lfte von einem Fehler betrof fen ist Beim Betrieb der Platte sind Fehler typisch die gleich eine ganze Reihe von Bl cken in Mitleidenschaft ziehen k nnen So werden bei einer Besch digung einer Platte berwiegend solche Bl cke betroffen die sich z B auf derselben Oberfl che eines Plattenstapels befinden oder solche die sich auf demselben Zylinder befinden Daher mu bei der Auswahl der Seiten paare ber cksichtigt werden da die beiden Datenblockh lften nicht in die gleichen Schadens einzugsbereiche gelegt werden Dann kann ein solcher Fehler nur einen der beiden Datenblock h lften betreffen 2 2 Die Fault Tolerant Machine FTM Die grundlegenden berlegungen von Lampson haben zu verschiedenen Implementierungsan s tzen gef hrt Zum einen lassen sich die Vorstellungen Lampsons direkt auf Plattenspeicher anwenden Dieser Algorithmus kann auch auf andere Speich
123. ennung gegeben sein Hier wird die bestehen de Parity berpr fung verwendet Weitere Ma nahmen zur Erkennung von Ablauf Fehlern Protokoll Fehler m ssen noch eingerichtet werden Daf r m ssen im Stabilen Speicher bzw in der Schnittstelle zwischen ihm und den Prozessoren entsprechende Schutzma nahmen ein gerichtet werden Die R ckmeldung eines erkannten Protokollfehlers oder eines Datentransfer fehlers an den Prozessor mu ebenfalls m glich sein Das in der Erweiterungshardware vorhan dene Error Signal sollte nicht dazu verwendet werden denn dieses ist f r Fehler gedacht die sich auf dem bertragungsweg ereignen Daher mu eine neue Fehler R ckmeldeeinrichtung vorgesehen werden Da das bestehende Verbindungsnetz nicht mehr ver ndert werden soll wird die Fehlerr ckmeldung ber Eintr ge in Status oder Ergebnis Registern erfolgen ber dieses wird auch die R ckmeldung der oben genannten kritischen Zust nde erfolgen 6 2 Struktur des Stabilen Speichers Die dargestellten Forderungen f hren zu folgender Struktur f r den Stabilen Speicher Der Sta bile Speicher wird eine eigenst ndige Einheit sein ein Coprozessor der ber eine Speicher schnittstelle an den Bus des Kommunikationsspeichers angeschlossen wird Aus Sicht der Pro zessoren l t sich dieser Stabile Speicher genauso ansprechen wie der Kommunikationsspei cher Allerdings findet bei einem solchen Zugriff mehr statt als ein einfacher Datentransfer Vor allem werden
124. er die zugewiesene Kommunikationspage durchf hren Diese Zuordnung bleibt so lange erhalten bis der Auftraggeber dem Stabilen Speicher ber die zugewiesene Kommuni kationspage mitteilt da er die Zusammenarbeit beenden m chte RELEASE Auftrag Dann wird diese Kommunikationspage wieder freigegeben und kann einem anderen Auftraggeber zur Verf gung gestellt werden Auch die m glicherweise noch vorhandenen Stabilen Objekte die ses Auftraggebers werden dabei wieder aus dem Stabilen Speicher entfernt In Abschnitt 6 4 4 befinden sich weitere Einzelheiten ber die VIP 6 4 1 2 Schutzeinrichtungen in der Kommunikationspage Zur Auftragsvergabe mu jeder Auftraggeber die dazu ben tigten Angaben in die Auftrags und Parameterregister eintragen Dies erfolgt durch einfache Schreibzugriffe auf die Kommunika tionspage Dabei mu sichergestellt sein da die mitgeteilten Angaben nur vom zugeordneten Auftraggeber in die Kommunikationspage eingetragen werden Da die Auftraggeber dieselben Verbindungswege benutzen besteht hier die Gefahr da ein Auftraggeber den Stabilen Spei cher ber eine falsche Kommunikationspage erreicht Das kann passieren wenn kein Page schutzmechanismus verwendet wird wenn dieser falsch programmiert worden ist oder wenn auf der bertragungsstrecke ein falscher Weg geschaltet worden ist Dies mu abgewendet wer den k nnen Dieser Schutz ist deshalb sehr wichtig weil nach einer erfolgreichen Auftragsver gabe die zent
125. er ent standen sein Dies kann passieren wenn ein anderer fehlerhaft arbeitender Auftraggeber Dat en aus dem bergebenen Datenblock stiehlt indem er in der Zeit in der dieser Pufferabschnitt zum Lesen ge ffnet war ber das Transferregister aus dem fremden Pufferabschnitt gelesen hat Der Auftraggeber von dem der READ Auftrag stammte wird dann einen Checksummen fehler entdecken Um dennoch an das korrekte Stabile Objekt zu kommen m te er denselben Auftrag erneut stellen Steht bei der Auftrags bergabe des Auftraggebers kein passender Pufferplatz zur Verf gung so wird dies im Ergebnisregister als P_FULL vermerkt Der Auftraggeber mu das Schreiben des Auftrags zu einem sp teren Zeitpunkt wiederholen Die Bestimmung einer Wartezeit ist dabei allein Sache des Auftraggebers Darauf nimmt der Stabile Speicher keinen Einflu Dieser er laubt nur nach Bereitstellung des Pufferplatzes die weitere Fortf hrung des Auftrags In dieser Situation in der kein Pufferplatz zur Verf gung steht w re statt des Wartens auch eine andere Fortf hrung m glich Da aus Sicht des Stabilen Speichers der Auftrag noch nicht ange nommen wurde was aus der P_FULL Mitteilung erkennbar ist k nnte nun auch ein anderer Auftrag gestartet werden Dazu m ten nur andere Eintr ge in die Parameter und ins Auftrags register erfolgen Eine solche Vorgehensweise erfordert allerdings mehr Intelligenz von der Software die f r den Start der Auftr ge vera
126. er f r MEMSY zugeh rigen Parameter ablegen k nnen ein Auftragsregister und drei Parameterregister Der Austausch der Datenbl cke erfolgt ber einen Pufferspeicher Diese Einrichtungen befin den sich alle innerhalb des Pufferbereichs Sobald alle notwendigen Angaben eingetragen und im Fall eines Schreibauftrags auch die Da ten vom Prozessor in den Pufferspeicher bertragen worden sind wird der Auftrag von der Puf fersteuerung in eine Warteschlange Auftrags FIFO eingetragen Die zentrale Steuerung des Stabilen Speichers entnimmt ihn daraus und bearbeitet den Auftrag Bei Leseauftr gen wird das Stabile Objekt von der zentralen Steuerung in den Puffer eingetra gen Nach Abschlu des Auftrags durch den Stabilen Speicher kann der Prozessor den Daten block dort lesen F r die Durchf hrung des Datenaustausches stehen zwei Register zur Verf gung ein Transferregister und ein Wiederholungsregister Ihre Benutzung wird in Abschnitt 6 4 3 Datentransfer genauer erkl rt Zum Abschlu tr gt die zentrale Steuerung in einem Ergebnisregister ein ob dieser Auftrag erfolgreich durchgef hrt werden konnte oder nicht Im Fall einer fehlgeschlagenen Ausf hrung wird darin auch der Grund daf r vermerkt und zus tzlich in welchem Zustand sich das Stabile Objekt nun befindet So kann sich z B am Ende eines Schreibauftrags das Stabile Objekt noch im alten Zustand befinden so als w re der Auftrag nicht erteilt wo
127. er mit einem falschen Pa wort oder die bertragung zum vom Transferregister einer fal schen oder unbelegten Kommunikationspage Neben diesen au erhalb des Stabilen Speichers auftretenden Fehler k nnen auch Hardware Fehler toleriert werden die sich in seinem Innern ereignen transienter Fehler bei Speicherzugriff Kontrollesen Transferwiederholung spontane Ver nderungen einzelner Bits w hrend der Lagerung zweifache Abspeiche rung mit Paritybits w hrend der Ausf hrung eines WRITE Auftrags darf sich dagegen insgesamt h chstens ein Fehler in den bertragungsdaten oder ein Fehler in der Backup Kopie ereignet haben Ausfall eines Knotens der TMR Steuerung ohne Beeintr chtigung der aktuellen Auf tragsbearbeitung Voter Ausfall St rung eines Busses zwischen zentraler Steuerung und Pufferplatine bzw Ob jektspeichern Voter voriibergehender Ausfall der gesamten zentralen Steuerung wenn das anschlie ende Zu 113 Ein Stabiler Speicher f r MEMSY r cksetzen Reset der Prozessoren des TMR Verbundes wieder zur vollen Funktions t chtigkeit dieser drei Prozessoren f hrt k nnen nur zwei Prozessoren wieder gleichzeitig gestartet werden so ist der Stabile Spei cher nur noch eingeschr nkt arbeitsf hig dies wird in der Schadensinformation dem Auftraggeber mitgeteilt voriibergehender Ausfall eines Objektspeichers dies f hrt zu einem eingeschr nkten Betrieb
128. erbindung der einzelnen Knoten innerhalb einer Ebene dargestellt ist eine einzelne Reihe 2 Cm nommen Schnittstellen innerhalb des M88K Systems 2 2 2 2 nme Ablauf eines Einzelwort Speicherzugriffs am S Bus Ablauf eines Einzelwort Speicherzugriffs auf der bertragungsstrecke zwischen dem Prozessorinterface und den Kommunikationsspeichern Burst Zugriff ber die Ubertragungsstrecke zum Kommunikationsspeicher RMW Operation ber die bertragungsstrecke zum Kommunikationsspeicher Prozessorinterface ce re ee Kommunikationsspeicher 22 2 22 2 mn nn Koppelmodul a Zu ee Sh oe an ae Since Realisierung der MEMSY Topologie mit Koppelmodulen dargestellt ist nur eine Ebene 4 2 ae a a 2a HE N a an a a vollst ndige Verbindungen ber ein Koppelmodul Verbindungen innerhalb einer Elementarpyramide Struktur des Stabilen Speichers bei MEMSY 2 2 2222 n nennen Stabiles Objekt rn Mat a oe ee ae Dot ead a a a ae Struktur des Pufferbereichs 2 2 5 be Sa va aim al ve Zuordnung der Kommunikationspages zu den Auftraggebern aus Sicht des Stabilen Speichers 23 54 4 28 20 ee Auswahl der Adre bits f r die angesprochene Kommunikationspage bei verschiedenen Host Pagegr en 2 2 2m rn rn Datenstruktur der Auftrags und Parameter Register 2 222 200 zeitlicher Ablauf der Auftragsbearbeitung 2 2 22m nen Datenstruktur des Ergeb
129. ereits wieder gesperrt ist Zusammenfassend ist in Abb 27 ein einfacher Ablauf f r einen WRITE Auftrag als C Pro gramm dargestellt 81 Ein Stabiler Speicher f r MEMSY WRITE Auftrag ergebnis KP Die Angabe die entspr ergebnis KP while ergebn KPp 0 ergebnis Pufferplat kann hier ansonsten do ergebnis N if ergebnis IDLE ergebnis BUSY return KP 1 Passwort Objektnummer KP 2 Passwort Objektlaenge KP 3 Passwort Benutzerinfo und als letztes KP 0 Passwort WR Auftrag Unter den Angaben Passwort Objekt ist warte gewisse Zeit Schreibe Objekt mit Checksumme in den Puffer for i 0 i lt Objektlaenge i KP 5 Objekt il Falls nicht auf das Ergebnis gewartet werden soll warte gewisse Zeit while ergebnis IDLE ergebnis BUSY auswertung des ergebnisses OK oder FAIL 4 amp OxOOOFFFFF bereit fuer neuen Auftrag von KP 3 ist nur bei WRITE_and_WRITE BI noetig echend formatierte Version zu verstehen 4 amp 0x00F0000 is P FULL Passwort WR Auftrag KP 4 amp 0x00F0000 z ist nun vorhanden return erfolgen KP 4 amp OxOOOFFFFF Abb 27 Programm f r WRITE Auftrag P Die Angaben von Objektnummer Objektl nge Benutzerinfo und Auftrag
130. ermedien bertragen werden z B auf RAM Bausteine Einer davon ist der Ansatz von Ban tre und anderen BAN91 MHP94 f r eine Fault Tolerant Machine FTM Ans tze f r einen Stabilen Speicher 2 2 1 Struktur der FTM F r die FTM wird ein blicher Rechner mit einem Stable Transactional Memory STM aus gestattet der die Aufgabe eines Stabilen Speichers bernimmt Die Architektur der FTM soll jeweils einen Fehler in den Teileinheiten Prozessor Platte und Bussystem tolerieren k nnen Dabei wird der STM so ausgelegt da ein einzelner interner Fehler behoben werden kann Die minimale FTM Konfiguration ist eine Zwei Prozessor Maschine Sie besteht aus zwei Pro zessoren zwei STMs und zwei Gruppen von Peripherieger ten Jeder Prozessor hat einen Zu gang zu seinem eigenen STM und einen Zugang zum STM des anderen Prozessors Jeder STM ist also mit einem Port mit dem zugeh rigen Prozessor verbunden und mit einem zweiten Port dem Backup Port mit dem zweiten Prozessor verbunden An jedem Port befindet sich ein in telligenter Controller C Dieser kann die Zugriffe des Prozessors auf den STM berwachen Die Peripherieger te sind ebenfalls an zwei Busse angeschlossen Einer verbindet sie mit dem ersten Prozessor der andere mit dem zweiten Prozessor In Abb 1 ist die Minimalkonfiguration dargestellt Maschine A Maschine B Backup Verbindu intelligenter Controller im STM Ne Abb 1 Minimalk
131. es machte sich umso st rker bemerkbar je mehr Prozessoren gleichzeitig ber das eine Koppelmodul auf diesen Kommuni kationsspeicher zugreifen wollten Im Einzelfall wurden Unterschiede bis zu 27 festgestellt Daher wurden in den folgenden Tabellen die erhaltenen Me ergebnisse nach den Prozessoren Gesamtzeit Zeit Wort Worte Zeit usec usec 1 sec PrOzesaolenb Paba 167 000 2548 392 400 Py 176 000 2 686 372 400 3 Prozessoren 176 000 372 400 177 000 370 300 178 000 368 200 4 211 000 310 600 Prozessoren 224 000 292 600 243 500 269 100 Tab 6 Zugriff mehrerer Prozessoren auf den Kommunikationsspeicher mit einer Blockl nge von 65536 Worten 64 KWorte Po und P43 getrennt aufgef hrt Um auch hier keine gr ere Me genauigkeit vorzut uschen als tats chlich vorlag wurden die gewonnenen Me werte und ihre daraus abgeleiteten Gr en auf drei bis vier relevante Stellen gerundet Bei sehr unterschiedlichen Einzelergebnissen wurden mehrere Werte in der Tabelle angegeben Diese Schwankungen sind vor allem dadurch zu erkl ren da im Koppelmodul bei jeder Messung nicht wiederholbare Vorg nge bez glich der Arbitrierung stattfanden Schon sehr kleine Differenzen im zeitlichen Zusammenspiel der zugreifenden Prozessoren konnten 130 MeBergebnisse unter bestimmten Umst nden gr ere Unterschiede im Gesamtablauf eines Prozessors hervor rufen 7 1 4 Zugriffe mehrerer Prozessoren auf de
132. espeicherten Daten nicht mehr von alleine d h ohne Hilfe durch den Prozessor r ckg ngig gemacht werden kann Der Stabile Speicher wird mit mehreren Prozessoren zusammenarbeiten m ssen d h mehrere Prozessoren werden Zugriff auf den Stabilen Speicher haben Dies soll schon aus dem Grund m glich sein damit im Fall eines dauerhaften Ausfalls eines Prozessors ein Ersatz Prozessor die M glichkeit hat auf die Daten des ausgefallenen Prozessors zuzugreifen Im Normalfall soll aber jeder Prozessor nur seine eigenen Daten erreichen k nnen Der Stabile Speicher mu also in der Lage sein die Prozessoren voneinander zu unterscheiden Die Fehlersituation da ein Prozessor auf die Daten eines anderen zugreifen m chte au er im Ersatz Fall mu erkannt werden Daf r ist ein Schutzmechanismus mit Hilfe von Pa w rtern vorgesehen Weiterhin mu sichergestellt werden k nnen da ein mit inkonsistentem Inhalt bergebener Datenblock als solcher erkannt werden kann bevor eine endg ltige Abspeicherung im Stabilen Speicher erfolgt Da der Stabile Speicher keine Informationen dar ber hat wie ein korrekter Inhalt semantische Kontrolle eines abzuspeichernden Datenblocks aussieht mu dies mit formalen Methoden erreicht werden k nnen Daher wird die Erzeugung und berpr fung eines Checkworts eingesetzt WAK78 Der Prozessor mu beim Schreiben f r den Netto Daten block ein Checkwort bilden und als letztes bertragen Im
133. f r MEMSY Der Stabile Speicher interpretiert die Zugriffe die ihn ber die gleiche Kommunikationspage erreichen als solche die zum gleichen Auftraggeber geh ren Zugriffe die ihn ber verschie dene Kommunikationspages erreichen ordnet er unterschiedlichen Auftraggebern zu In Abb 20 ist die Sichtweise des Stabilen Speichers auf seine Auftraggeber dargestellt N Kontrollinstanz des Stabilen Speichers Pa ax Cx Auftraggeber Prozessoren Anwender Prozesse KP 1 KP 255 Kommunikationspages KP KP 1 KP 3 KP 255 sind zugeordnet KP 2 ist nicht zugeordnet Abb 20 Zuordnung der Kommunikationspages zu den Auftraggebern A aus Sicht des Stabilen Speichers J Innerhalb des Stabilen Speichers sind 256 Kommunikationspages von einer Gr e von je 64 Worten eingerichtet Die Zahl 64 ist zwar deutlich gr er als die oben angegebenen maximal 8 ben tigten Worte pro Page der restliche Platz kann aber f r die Speicherung interner Daten genutzt werden welche die Kommunikationspages betreffen Die 256 Kommunikationspages m ssen von den Auftraggebern adressiert werden k nnen Dazu werden sie als gleich gro e Adre bereiche innerhalb des zur Verf gung stehenden 4 MByte Bereichs aufgeteilt Daher kann eine Kommunikationspage gegen ber den Auftrag gebern maximal einen Adre raum von 16 KByte belegen Das ist die Gr enordnung von Pages aus der Speicherverwaltung des Host Systems Das legt den Gedanken nahe eine K
134. fall eines Prozessors Kann es aber w nschenswert sein eine Kurzinformation ber das Stabile Objekt erhalten zu k nnen ohne das ganze Objekt lesen zu m ssen Dazu dient die Benutzerinformation Sie wird separat vom Sta bilen Objekt gespeichert und wird auch bei einer Checksummenbildung ber das Stabile Objekt nicht ber cksichtigt So kann sie aus dem Stabilen Speicher entnommen werden ohne das ge samte Objekt transportieren zu m ssen Dies geht deutlich schneller als die oben beschriebene M glichkeit Entsprechend einfach kann diese Information auch ohne Zugriff auf das abgespei cherte Stabile Objekt ver ndert werden In den folgenden Ausf hrungen werden die Auftr ge danach unterschieden ob sie mit einem Datentransport verbunden sind oder nicht Diejenigen ohne Datentransport sind RELEASE CREATE CREATE and WRITE_BI DELETE VERIFY WRITE_BI READ _BI Der Transfer der Benutzerinformation wird nicht als Auftrag mit Datentransfer betrachtet da hierf r kein Pufferplatz zur Verf gung gestellt werden mu Dieser Datenaustausch erfolgt ber ein bestimmtes Register das in einer Kommunikationspage vorgesehen ist Die Auftr ge mit Datentransport sind alle die den Anteil WRITE oder READ enthalten CREATE and WRITE CREATE and WRITE and WRITE_BI WRITE WRITE and WRITE_BI 63 Ein Stabiler Speicher f r MEMSY READ READ and READ_BI Wird in den folgenden Ausf hrungen von WRITE Auftr gen
135. g gelegt Auf der Seite die den Kommunikationsspeichern zugewandt ist stehen drei Ports zur Verf gung An diese kann je ein Kommunikationsspeicher oder ein Koppelmodul siehe auch Abschnitt 3 5 angeschlossen werden Das Koppelmodul erm glicht weitere Wegeverzweigun gen zu den Kommunikationsspeichern Die Auswahl ber welchen Port ein Zugriff gef hrt werden soll wird durch zwei Bits aus der bertragenen physikalischen Adresse ermittelt Von den vier M glichkeiten die mit zwei Bit dargestellt werden k nnen werden drei Kombinationen 00 01 10 zur Wegewahl bei ei nem Zugriff auf die Kommunikationsspeicher verwendet In diesen F llen werden die Steuer signale und die Adre und Daten Informationen in der vorher beschriebenen Weise ber die Koppelmodule zum ausgew hlten Kommunikationsspeichern bertragen An den anderen bei den Ports dieses Interfaces bleiben alle Signale in Ruheposition Die vierte Kombination 11 dient zur Auswahl von Zugriffen die sich direkt auf dieses In terface beziehen Innerhalb des Interfaces befinden sich n mlich einige 32 Bit breite Spezial Register SP Register die vom Prozessor angesprochen werden k nnen Es sind dies ein Kommando Register ein Status Register ein Fehleradre Register ein Z hler Register und eine Me schnittstelle Register dessen Ausgang an einen Stecker gef hrt ist Diese Spezialregister haben verschiedene Funkti
136. g und einer der Objektspeicher in Ordnung sind K nnen die Auftraggeber ihre abgelegten Objekte noch er reichen In dieser Situation erlaubt die zentrale Steuerung jedoch nur noch solche Auftr ge bei denen keine Objekte geschrieben oder erzeugt werden Nur noch das Lesen READ das L schen DELETE und das berpr fen VERIFY der Stabilen Objekte wird dann durchgef hrt Au erdem kann der Auftrag zum Freigeben der Kommunikationspage RELEASE noch aus gef hrt werden Detailliertere Angaben dazu sind in SEM93 zu finden Somit ist es den Auf traggebern zumindest in den meisten F llen noch m glich ihre Objekte aus diesem nicht mehr 101 Ein Stabiler Speicher f r MEMSY Stabilen Speicher herauszuholen und an einer anderen Stelle abzuspeichern 6 5 5 Aufbau eines Knotens der zentralen Steuerung Jeder Knoten ist mit einem lokalen zwischen Adressen und Daten gemultiplexten Bus ausge stattet An ihm sitzen der Prozessor T805 und Programm und Datenspeicher Weiterhin gibt es in jedem Knoten einen Parity Checker Generator der je nach Transferrichtung das bertragene Wort Adresse bzw Datum mit passenden Paritybits versieht bzw die Parity berpr ft Zugriffe innerhalb eines Knotens laufen alle ohne Synchronisierungsvorg nge zwischen den drei Knoten ab Werden die drei Knoten aber mit dem gleichen Programm und mit den gleichen Daten im Datenspeicher versorgt und synchron gestartet so laufen sie dennoch synchron Der G
137. g wirken kann Ist in VIP 26 z B die Hexadezimalzahl 1000 eingetragen so mu um 12 Bit nach links verschoben werden Dies ist die Pagegr e des M88K Systems IS im Bereich eines Stabilen Speichers unsigned long int VIP 64 lokal im Prozessorknoten long int lokale vip Passwort voll kpnr hpg unsigned long int BasisKP BasisVIP ACCESS lokale vip VIP 63 Lesen nur 1 x durchfuehren voll lokale vip amp 0x000F0000 if voll 0 Kommunikationspage wurde vergeben Passwort lokale vip amp 0OxFFFO00000 kpnr lokale vip amp 0x000000FF hpg VIP 26 eingestellte Pagegr d Host Systems hpg gt gt 1 while hpg 0 hpg gt gt 1 kpnr lt lt 1 BasisKP BasisVIP kpnr else Stabiler Speicher kann nicht benutzt werden Abb 34 Programm f r den Auftrag ACCESS und Zubereitung der lokalen Parameter Passwort und BasisKP E Ein Problem ergibt sich aber noch an dieser Stelle Ereignet sich beim Transport des aus dem Vermittlungsregister gelesenen Wortes unterwegs ein bertragungsfehler so hat der Stabile Speicher eine Kommunikationspage vergeben der Auftraggeber aber keine erhalten Da in die sem Fall kein Auftraggeber das 32 bit Wort abfragen und anschlie end benutzen kann ist es niemandem m glich diese vergebene Kommunikationspage wieder freizugeben Auch der Sta 91 Ein Stabiler Speicher f r M
138. gen von Zugriffen der Prozessoren auf die Kommunikationsspeicher von MEMSY legten die Vermutung nahe da vor allem das Koppelmodul der begrenzende Faktor bei der bertragung der Daten in den Kommunikationsspeicher ist Daher wurde zur weiteren Untersuchung das zuvor beschriebene Datentransferprogramm in einer Konfiguration eingesetzt bei der bis zu vier Prozessoren ber dasselbe Koppelmodul auf denselben Kommu nikationsspeicher zugreifen siehe Abb 44 a N P Prozessoren KM Koppelmodul KS Kommunikationsspeicher s Abb 44 Konfiguration zur Messung am Kommunikationsspeicher W Dabei wurde gemessen wie lange der Datentransfer eines Prozessors dauert wenn er allein Zu griffe auf den Kommunikationsspeicher ausf hrt oder wenn gleichzeitig ein bis drei weitere Prozessoren ein gleichartiges Programm ausf hren Um zu verhindern da der gemessene Da tentransfer zum Teil ohne Einflu durch die anderen Prozessoren abl uft mu ten die anderen 129 MeBergebnisse Prozessoren einen deutlich gr eren Datenblock transportieren Dadurch konnte sichergestellt werden da der gemessene Datentransfer vollst ndig unter Konkurrenz der anderen Prozesso ren stattgefunden hat Bei den dabei gewonnenen Me ergebnissen konnte beobachtet werden da die durchschnittli chen Zugriffszeiten davon abhingen ob der Prozessor an derselben Ecke des Koppelmoduls an geschlossen war wie der Kommunikationsspeicher oder nicht Di
139. genutzt Und genau in diesen Bereich wird der Stabile Speicher integriert Hier belegt er einen Bereich von 4 MByte innerhalb dessen die beteiligten Prozessoren den Stabilen Speicher ansprechen k nnen Es ist klar da 4 MByte nicht ausreichend sind um den erforderlichen Speicherbedarf f r die abzulegenden Sicherungsdaten oder hnlich wichtiger Daten der umgebenen Prozessoren auf nehmen zu k nnen Daher und zum Schutz der Daten vor unbefugtem Zugriff z B durch feh lerhaft arbeitende Prozessoren wird in dem angesprochenen Adre bereich eine Speicher schnittstelle eingebettet ber die die Prozessoren nur einen mittelbaren Zugriff auf die Daten haben Die Zugriffe der Prozessoren erfolgen dann auf einige wenige Auftrags Parameter und Transfer Register Eine in dieser Schnittstelle integrierte Steuerung f hrt dann die gew nschten Zugriffe f r den Datentransport aus 39 Fehlerm glichkeiten in MEMSY 5 Fehlerm glichkeiten in MEMSY In jeder Hardware und auch in jeder Software gibt es die M glichkeit da ein oder mehrere Fehler auftreten Auch die sorgf ltigste Arbeit kann dies in umfangreichen Implementierungen sei es Hard oder Software nicht verhindern Daher ist es unerl lich festzustellen welche Feh ler am wahrscheinlichsten auftreten werden Dann k nnen Ma nahmen zu ihrer Abwehr oder Tolerierung gefunden werden 5 1 Fehler in der Software Software Fehler sollen hier zum gr ten Teil ausgeklammert werde
140. halten aufgebaut Um nach dem Ausfall des Controllers noch auf die abgelegten Daten zugreifen zu k nnen ist ein zweiter Controller n tig ebenfalls ein Master Checker Paar mit Fail Stop Verhalten Er wird auf der Backup Seite des STM plaziert ber ihn kann der Backup Prozessor auf diesen Stabilen Speicher zugreifen Um zu erkennen ob der Partner Controller defekt oder intakt ist tauschen die Controller untereinander ihren Status aus Als Konsequenz aus dem Vorhandensein von zwei Zugriffswegen pro STM m ssen die Speicherh lften auch jeweils zwei Ports besitzen 2 2 3 Arbeitsweise des STM Die Arbeitsweise des STM orientiert sich an den Vorgaben des Stabilen Speichers von Lamp son Das betrifft die Zugriffe auf die stabilen Strukturen im STM das sind die im STM ge speicherten Objekte Diese Strukturen werden hier STM Objekte genannt Dar ber hinaus wer den noch weitere Ziele verfolgt die den Umgang des Anwenders mit dem STM erleichtern sol len Da man bei solchen Erleichterungen leicht Gefahr l uft die M glichkeit einer unbeabsichtigten nderung von STM Objekte zuzulassen wird besonderes Augenmerk darauf gelegt dies zu verh ten Folgende Anforderungen sollen f r den STM erf llt sein Atomare Transaktionen auf den STM Objekten wobei auch mehrere STM Objekte gleichzeitig bearbeitet werden k nnen Einfaches Programmier Interface Autonomie des STM Schutzvorkehrungen vor unbeabsichtigten nderungen an
141. he Abschnitt 6 5 3 Schutz der zentralen Steuerung unn tigerweise aus der weiteren Bearbeitung ausgeschlossen wird wartet der Voter noch eine festgelegte kurze Zeit einstellbar bis zu 12 Takten entspricht 375 nsec ob nicht auch der dritte Knoten an diesem Transfer beteiligt sein m chte Wenn nicht so wird in der Statusmitteilung des Voters vermerkt da die Zugriffe der Knoten nicht synchron waren und auch welcher Knoten asynchron war Asynchron ein Knoten falsch Die in diesen Situationen zur ckgelieferten Statusinformationen sind 1001 Knoten A arbeitet nicht mehr synchron zu den beiden anderen 1010 Knoten B arbeitet nicht mehr synchron zu den beiden anderen 1100 Knoten C arbeitet nicht mehr synchron zu den beiden anderen Eine Stop Logik bei den Knoten der zentralen Steuerung reagiert in diesen F llen so da der entsprechende Knoten angehalten wird Die TMR Einheit kann zwar in dieser Situationen noch alle Aufgaben durchf hren f r sie besteht aber ab diesem Zeitpunkt die Gefahr da der Ausfall eines weiteren Knotens zum v lligen Zusammenbruch der Aktivit t der zentralen Steuerung des Stabilen Speichers f hrt Denn dann kann der Voter keine Mehrheitsentscheidung mehr treffen In diesen F llen liefert der Voter als Statusmitteilung folgenden Wert zur ck 1111 alle Knoten arbeiten nicht mehr synchron F r die zentrale Steuerung des Stabilen Speichers bleibt in dieser Situation nichts mehr brig als d
142. hen somit in Konkurrenz Ob die daraus erwachsende gegenseitige Behinderung von Bedeutung ist oder nicht l t sich durch die Untersuchung der beiden parallel durchgef hr ten Vorg nge ermitteln Greift ein Auftraggeber auf das Transferregister zu so ist der Kommunikationsspeicher damit f r eine Zeit von 1 75 usec bei WRITE bzw von den 1 95 usec bei READ damit besch ftigt siehe Tab 5 und Tab 4 Innerhalb des Pufferbereichs wird f r die Arbitrierung und den Zu 138 MeBergebnisse griff auf den Pufferspeicher etwa 0 4 usec ben tigt Das sind 23 bzw 20 5 der Zeit die min destens f r einen Zugriff auf das Transferregister vergeht Dieser Anteil ist die Obergrenze f r den Fall da alle angeschlossenen Auftraggeber intensiv mit einer Daten bertragung zu diesem Stabilen Speicher besch ftigt sind Dem gegen ber greift die zentrale Steuerung des Stabilen Speichers bei der Bearbeitung der READ Auftr ge zweimal und bei der Ausf hrung der WRITE Auftr ge einmal pro Durchlauf durch die innerste Schleife auf den Pufferspeicher zu Auch hier wird f r jeden Zugriff auf den Pufferspeicher inklusive Arbitrierung etwa 0 4 usec ben tigt Die Schleife hat eine Zykluszeit von 4 5 usec siehe Abschnitt 7 1 5 Somit betr gt der Zeitanteil der zentralen Steuerung an der konflikttr chtigen Situation 0 4 bzw 0 8 usec von 4 5 usec Das sind 9 bzw 18 Die Gegen berstellung dieser Zahlen zeigt da auch unter den ung nstigsten
143. hieht um so weniger kann sich im allgemeinen der Fehler bereits ausgebreitet und zu Folge fehlern gef hrt haben Eine genaue Fehlerdiagnose ist somit leichter durchzuf hren Besonders Motivation n tzlich ist wenn Informationen ber den Fehler und seine Umgebung aufgezeichnet werden die zu einem sp teren Zeitpunkt ausgewertet werden k nnen Diese Aufzeichnungen zeigen oft ein genaueres Bild vom Fehler als es durch die Untersuchung von Fehlerauswirkungen zu er mitteln ist Nach der Fehlerdiagnose k nnen dann geeignete Ma nahmen zur Fehlerbehebung durchgef hrt werden Daf r k nnen zwei verschiedene Methoden angewandt werden ECH90 G R89 Bei einer Vorw rtsfehlerbehebung wird versucht die Auswirkungen des Fehlers zu kompensie ren um wieder einen korrekten Zustand zu erreichen F r eine Kompensation ist es sehr wich tig einen Fehler schnell zu erkennen um mit recht einfachen Mitteln eine geeignete Fehlerbe hebung durchf hren zu k nnen W rde dieser Fehler erst sp ter entdeckt werden so k nnte sich der Fehler schon ausgebreitet haben indem der fehlerhafte Wert Einflu auf andere Werte Va riablen genommen hat Dagegen wird bei einer R ckw rtsfehlerbehebung nach dem Entdecken eines Fehlers auf einen vorher erreichten Zustand Sicherungspunkt zur ckgesetzt und das Programm an dieser Stel le wiederaufgesetzt Im einfachsten Fall ist der Aufsetzpunkt der Beginn des Programms Bei kurz laufenden Program
144. hler an den Prozessor weitergeleitet werden soll oder nicht Eine Abschaltung ist blicherweise nur f r Testzwecke vorgesehen Im Normalfall sollte die Weiterleitung eingeschaltet sein Die Ab schaltung ist daher vorgesehen worden weil die CMMU ber die diese Daten noch laufen wer den ebenfalls die M glichkeit hat den Parityfehler zu erkennen Ob sie dieses Wissen ber den Fehler an den Prozessor weitergibt oder nicht kann durch Konfigurierung eingestellt werden MOT2 SCR System Control Register Mit einer vom Prozessorinterface aufgezwungenen Fehler Antwort h tte sie diese M glichkeit nicht mehr Die eingetragenen Einstellungen lassen sich aus dem Statusregister auch abfragen lesen Wei terhin enth lt das Statusregister auch Angaben ber den zuletzt aufgetretenen Fehler der bei ei nem Zugriff ber dieses Interface registriert worden ist Dabei werden folgende Informationen ber den Zugriff abgespeichert es war eine Lese oder ein Schreiboperation der Parityfehler wurde im Prozessorinterface erkannt dies kann sich nur beim Lesen er eignen wenn das bertragene Wort das Interface mit unpassenden Paritybits erreichte ob der Fehler der dies verursachte bei der bertragung oder w hrend der Lagerung im Speicher auftrat ist damit noch nicht gekl rt der Parityfehler wurde vom angesprochenen Kommunikationsspeicher erkannt dies kann sowohl die Adresse als auch das zu schreibende Wort betroffen haben
145. hr auftritt Ansonsten w rde der Voter jede weitere Arbeit unm glich machen Dann bliebe nur noch das Zur cksetzen aller Knoten als Ausweg offen Ein aus diesem Grund veranla ter Abbruch der Bearbeitung hinterl t i a ein unvollst ndig bearbeitetes Objekt Nach dem Reset mu daher ein VERIFY erfolgen wobei mit Hilfe der Checksumme ermittelt werden kann wel che Kopie korrekt ist Ob dabei der alte oder der neue Zustand des Stabilen Objekts wiederher gestellt werden konnte l t sich aus der aktuellen Verwaltungsinformation zu diesem Objekt entnehmen Hier ist noch vor dem Beginn der ersten Updatephase sicher zweifach eingetragen worden welche Kopie als Backup Kopie benutzt wird Beim Einsatz von TMR ist es notwendig da die drei Knoten synchron laufen Nun kann es aber vorkommen da auf Grund unterschiedlicher Signallaufzeiten ein Knoten z B ein Steuer signal etwas fr her oder etwas sp ter bekommt als die beiden anderen Knoten Als Folge davon ist es m glich da ein Knoten ab jetzt gegen ber den anderen Knoten um einen Takt versetzt l uft und somit auch seine folgenden Steuersignale um einen Takt verschoben ausgeben wird Dabei besteht die Gefahr da dieser Knoten von einem Voter als asynchron angesehen wird Ein Ausschlu dieses Knotens von der weiteren Berechnung Anhalten des Knotens w rde aber in dieser Situation unn tig sein da diese Asynchronit t nicht auf einem Defekt des Knotens beruht Dieses unn tige Aus
146. i Knoten untereinander eingesetzt werden da sie hnlich wie die Voter bei leichten zeitlichen Differenzen der drei Zugreifer beim Start der Aktion ein gleichzeitiges Zugriffsende erzeugt Da hierbei kein Zugriff auf eine andere Platine n tig ist die m glicherweise auf Grund einer St rung gerade nicht erreichbar ist Kann ber die se Synchronisations und Austausch Einheit im Bedarfsfall eine Synchronisation vorgenom men werden siehe Abb 37 7 Ya a set IB 4 Bus A auf der Backplane Knoten A sal f y Ga ee ores eee Ve Bus B auf der Backplane Knoten B sal f E aa ee EER Bus C auf der Backplane Knoten C sel E See Platine mit zentraler Steuerung SAE Synchronisations und Austausch Einheit Abb 37 zentrale Steuerung als TMR mit Synchronisations Einheit 6 6 Der Lagerbereich Im Lagerbereich sind zwei Speicher implementiert in denen die Stabilen Objekte abgelegt wer den Je eine Kopie dieser Objekte wird in den beiden Speichern abgelegt Dann kann ein Ausfall einer Platine nur eine der beiden Kopien eines Stabilen Objekts betreffen Zugang zu diesen Speichern hat nur die zentrale Steuerung des Stabilen Speichers Dabei grei fen die drei Knoten ber einen Voter auf den Speicher zu siehe Abb 38 Die gew nschte Ak tion Lesen bzw Schreiben bei der angegebenen Adresse wird nur ausgef hrt wenn der Voter bei den bertragenen Adressen und Daten mindestens zwei gleiche Zugr
147. i diesem Fehler um einen transienten Fehler so l t sich das korrigierte Wort in den Speicher zur ckschreiben zum eigenen Prozessor Speicher Speicher mit ECC mit ECC zum Backup Prozessor Abb 3 Struktur eines Stable Transactional Memory STM Innerhalb des Speichers tr gt jeder Speicherchip ein bestimmtes Bit vieler z B 1 Mega Worte F llt ein solcher Chip aus so kann zwar kein korrigiertes Wort mehr in den Speicher zur ckge schrieben werden dennoch kann aus der verbleibenden Information das korrekte Wort gewon nen werden Im STM ist zus tzlich eine Bit Steering Technik HAR90 vorgesehen Dazu wer den alle Worte aus dem Speicherbereich geholt der den defekten Chip betrifft und korrigiert Das Ergebnis wird in den Speicher zur ckgeschrieben wobei der defekte Chip durch einen Re 11 Ans tze f r einen Stabilen Speicher serve Chip ersetzt wird Anschlie end kann ein Operator beauftragt werden den defekten Chip gegen einen neuen auszutauschen Zugriffe der Prozessoren werden immer ber einen intelligenten Controller abgewickelt Er hat Zugriffsm glichkeiten sowohl auf die erste als auch auf die zweite Speicherh lfte Da dem Con troller eine so wichtige Schl sselrolle zuf llt ist es unbedingt erforderlich da ein Ausfall von ihm nicht zu einer Katastrophe f hren kann bei der abgelegte Daten zerst rt werden k nnten Dazu ist der Controller als Master Checker Paar mit Fail Stop Ver
148. icher und Prozessorknoten C Abb 16 Verbindungen innerhalb einer Elementarpyramide E Auf Grund der geschilderten Umst nde ist es m glich einen beliebigen Kommunikationsspei cher dieser vier auszuw hlen und ihn mit einem zus tzlichen Speicher dem Stabilen Speicher 38 Integration des Stabilen Speichers in MEMSY auszustatten Somit reicht zumindest bez glich der Zugriffsm glichkeiten ein einziger Stabi ler Speicher in einer Elementarpyramide f r diese f nf Knoten aus Dadurch kann auch der zu s tzlich erforderliche Implementierungsaufwand eingeschr nkt werden Ferner bildet der Sta bile Speicher auf diese Weise einen eigenst ndigen Fehlereingrenzungsbereich der sich au er halb der Prozessorknoten befindet Auf die Kommunikationsspeicher erfolgen die Zugriffe der Prozessoren genauso wie bliche Hauptspeicherzugriffe Dazu mu ten bereits bei jedem Prozessor entsprechend der von ihm aus erreichbaren Kommunikationsspeicher zus tzliche Adre bereiche eingerichtet werden Bei den Zugriffen auf die Kommunikationsspeicher entscheidet das Koppelmodul anhand der bertra genen Adresse welcher Weg f r diesen Transfer geschaltet werden mu F r jeden m glichen Kommunikationsspeicher wurde ein Adre raum von 16 MByte reserviert Dieser Bereich wird aber in der aktuell implementierten Version nicht voll genutzt da jeder Kommunikationsspei cher nur ber 4 MByte verf gt Die restlichen 12 MByte blieben bislang un
149. ie aktuelle Arbeit abzubrechen und zu versuchen die Knoten wieder in einen Zustand zu versetzen in dem sie alle oder zumindest zwei der drei Knoten wieder synchron arbeiten So lange die Ursachen f r den Ausfall eines Knotens transienter Natur waren wird der Neustart gelingen falls sich nicht gerade in dieser Situation ein weiterer Fehler ereignet Lag jedoch ein 111 Ein Stabiler Speicher f r MEMSY einziger permanenter Fehler vor so kann es sein da nur zwei Knoten wieder synchron in Gang kommen Dabei bleibt die zentrale Steuerung aber sehr anf llig f r weitere auftretende Fehler Lagen aber mehrere permanente Fehler bei verschiedenen Knoten vor so wird die zentrale Steuerung nicht mehr in der Lage sein neu zu starten Die in diesem Stabilen Speicher abgeleg ten Daten w ren nach dieser H ufung von Fehlern verloren wenn keine Reparatur der zentralen Steuerung erfolgt 6 7 3 Alternative Arbeitsweise f r Testzwecke Neben der oben dargestellten Arbeitsweise wurde f r Testzwecke noch eine weitere M glich keit zur Reaktion der Voters implementiert In der Entwicklungsphase des Stabilen Speichers war es notwendig Zugriffe von einem einzelnen Knoten ber die Voter durchf hren zu k nnen In der normalen Arbeitsweise w rde dies dazu f hren da der Voter nur einen einzelnen Zu griffswunsch erkennt und nicht reagiert Das ist die Vorkehrung um asynchron laufenden Kno ten keinen Zugriff auf die hinter den Votern liegen
150. ie angesprochene Kommunikationspage auch belegt ist und derzeit kein Auftrag zur Bearbeitung im Auftrags FIFO eingetragen von der zentralen Steuerung aber noch nicht beendet worden ist Sollte der Auftraggeber dennoch Zugriffe auf die Auftrags oder Parameterregister machen so wird dies schon von der Puffersteuerung erkannt und abgewiesen Diese Schutzma nahme sorgt daf r da von den Auftraggebern nur in kon trollierter Weise auf Ressourcen des Pufferbereichs zugegriffen werden kann 6 4 2 Ablauf der Auftr ge ohne Datentransfer im Stabilen Speicher Hier wird nun der Ablauf der Auftr ge dargestellt die keinen Datentransfer ben tigen Dabei wird auch auf die Stellen aufmerksam gemacht an denen bei Auftr ge mit Datentransfer zus tz liche Abl ufe durchgef hrt werden m ssen Die Details des Datentransfers sind im n chsten Abschnitt 6 4 3 beschrieben Mit dem erfolgreichen Schreiben des Auftragsregisters werden Auftrags und Parameterregister gegen weitere Zugriffe des Auftraggebers gesperrt damit sich dieser Datensatz nicht mehr ver ndern kann Erst nach der Beendigung des Auftrags durch die zentrale Steuerung wird die Sperre wieder aufgehoben Der Zeitpunkt der bergabe eines Auftrags an die zentrale Steuerung ist das Schreiben des Auf tragsregisters durch den Auftraggeber Dabei erfolgt ein Eintrag der Kommunikationspage Nummer in das Auftrags FIFO F r einen korrekten Ablauf der Auftrags bergabe ist es daher notwendig da
151. ie denselben Stabilen Speicher ansprechen wollen dasselbe Ziel adressieren geben sie auch den gleichen Adre bereich 4 MByte Be reich an Es wird auch kein Identifikationsmerkmal automatisch mit angegeben das der Stabile Speicher zur Unterscheidung der Prozessoren und deren Authentisierung nutzen k nnte So mu sich der Stabile Speicher anderer Mittel bedienen um die Prozessoren auseinanderzuhal ten 6 4 1 1 Kommunikationspages Zur Kommunikation der Prozessoren mit dem Stabilen Speicher ist nur ein kleiner Adre be reich n tig Einige wenige Register h chstens 8 gen gen ber die der Informationsaustausch zwischen Anwenderproze und Stabilem Speicher durchgef hrt werden kann Dazu werden so genannte Kommunikationspages KP eingerichtet Ziel ist da der Stabile Speicher je einem zugreifenden Proze eine Kommunikationspage zuordnet An dieser Stelle soll der Begriff des Auftraggebers eingef hrt werden um von den Begriffen Prozessor und Proze zu abstrahieren Denn der Stabile Speicher ordnet die Kommunikations pages immer Auftraggebern zu ohne wissen zu k nnen ob sich dahinter unterschiedliche Pro zessoren oder unterschiedliche Prozesse befinden Daher wird im Verlauf dieser Arbeit fast aus schlie lich von Auftraggebern gesprochen Nur bei Aspekten des Betriebssystems wird der Be griff Proze und bei Aspekten der Hardware der Begriff Prozessor wieder verwendet 66 Ein Stabiler Speicher
152. iert und dort gecheckt Die Daten werden dagegen im Prozessorinterface auf g ltige Parity kontrolliert 19 Das Multiprozessorsystem MEMSY x Signale am S Bus Signale an der bertragungsstrecke Adre bus gemultiplexter Adre Daten Bus 30 Adre bits SA 2 31 32 Informationsbits AD 0 31 Datenbus 4 Paritybits ADP 0 3 32 Datenbits SD 0 31 4 Paritybits SDP 0 3 Steuersignale Steuersignale 4 Byte Enable BE 0 3 4 Write Byte WB 0 3 1 Read Write RD 1 Adre Strobe ASTR 1 Last Data Transfer LDT 1 Data Strobe DSTR 1 Lock LK 1 Lock ACTIV 1 Adre Daten Phase AP 3 Reset global lokal Power Up 4 Select MEMB 0 3 Antwortsignale Antwortsignale 1 Wait entspricht Ready RDY 1 Fertig MRDY 1 Fehler ERR 1 Fehler PERR Tab 1 _Gegen berstellung der Signale am S Bus und an der bertragungsstrecke Bez glich der Steuer und Antwort Signale m ssen die Protokolle von S Bus und von der ber tragungsstrecke zu den Kommunikationsspeichern gegenseitig umgesetzt werden Zwar werden beide Verbindungen f r Speicherzugriffe eingesetzt ihnen liegen aber unterschiedliche Signal folgen zugrunde Zum besseren Verst ndnis wird die Funktionsweise dieser Signale an den Lese und Schreib Operationen erkl rt die ber diesen Bus abgewickelt werden 3 2 1 Signale bei Speicherzugriffen am S Bus Am S Bus wird ein einfaches Speicherzugriff
153. ieses Abschnitts wurden dann einige Ergebnisse aus Fehlersitua tionen betrachtet und zum Teil den fehlerfreien F llen gegen bergestellt 7 1 Leistungsf higkeit des Stabilen Speichers beim Transfer von Datenbl cken Bei der fehlerfreien Durchf hrung der Auftr ge k nnen drei bzw vier Phasen betrachtet wer den e 1 Phase Der Auftraggeber berpr ft ob der Stabile Speicher bereit ist einen Auftrag anzuneh men Besteht dazu die Erlaubnis so bergibt er einen Auftrag an den Pufferbereich des Stabilen Speichers In Fall von WRITE Auftr gen folgt nun der Datentransfer vom Pro zessor in den Pufferbereich des Stabilen Speichers vorausgesetzt es steht zu diesem Zeit punkt ein Pufferplatz zur Verf gung Am Ende dieser Phase wird der Auftrag in das Auf trags FIFO eingetragen Sofern der Auftraggeber zu diesem Zeitpunkt nicht daran inter essiert ist welchen Verlauf sein Auftrag genommen hat kann er diesen Auftrag als beendet ansehen Ansonsten beginnt f r ihn eine Wartezeit bis das Ergebnis ber diesen Auftrag vorliegt e 2 Phase Wartephase in der der Auftrag in dem Auftrags FIFO bis an die erste Stelle rutscht und am Ende von der zentralen Steuerung des Stabilen Speichers entnommen wird e 3 Phase Der Auftrag wird von der zentralen Steuerung ausgef hrt Bei Auftr gen von verwal tungstechnischer Art wie CREATE und DELETE ist kein weiterer Datentransfer n tig Im Fall von WRITE und READ Auftr gen erfolgt ein Datentran
154. iffsw nsche festge stellt worden sind 104 Ein Stabiler Speicher f r MEMSY a Bus A Bus B Bus C N Le Speicher Abb 38 Speicherplatine des Lagerbereichs Bei der Implementierung des Speichers mu te zwischen dem Einsatz einer Parity Absicherung und einer ECC Codierung Error Correcting Code entschieden werden F r den Einsatz von ECC spricht da es hier mehr M glichkeiten gibt aufgetretene Einzelbit fehler zu tolerieren Bei einer Wortbreite von 32 Bit reichen 7 weitere Bits aus um eine Kodie rung mit einem Hammingabstand von 4 zu finden Damit lassen sich alle Einzelbitfehler korri gieren und alle 2 Bit Fehler sicher erkennen HAM86 PEW72 Einzelbitfehler durch Um welteinfl sse sind bei den abgespeicherten Daten gegen ber den Mehrbitfehlern am ehesten zu erwarten Dennoch k nnte auch unter der Annahme da ein abgespeichertes Wort h chstens mit einem Einzelbitfehler behaftet sein kann nicht auf die Verwendung einer zweifachen Speicherung verzichtet werden Denn bei der Ausf hrung einer WRITE Operation k nnte man nicht mehr den alten Zustand herstellen wenn dies auf Grund eines anderen Fehlers z B Checksummen fehler wegen bertragung eines falschen Wortes oder wegen der Transferst rung durch einen anderen fehlerhaft arbeitenden Prozessor notwendig sein sollte In diesem Fall ist man auf die Existenz einer zweiten in sich konsistenten Kopie angewiesen Auch der Ausfall eines Spei
155. ignale f r die Kommunikationsspeicher Die Daten bertragung zwischen Prozessorinterface und den Kommunikationsspeichern ver l uft ber einen Parallelbus ber den im Zeitmultiplex Adressen und Daten bertragen werden Dabei sind folgende bertragungsarten m glich Schreiben eines einzelnen Wortes Lesen eines einzelnen Wortes Burst Schreiben Schreiben von 4 Worten die an aufeinanderfolgenden Adressen liegen Burst Lesen Lesen von 4 Worten die an aufeinanderfolgenden Adressen liegen atomare Durchf hrung einer Read Modify Write Operation mit einem Wort Die bertragungen einzelner Bytes oder Halbworte wird wie beim S Bus in der Weise durch gef hrt da immer ein ganzes Wort bertragen wird aber der Empf nger aus der Byte Enable Information die relevanten Bytes erkennen kann Bei der berpr fung werden die Paritybits der irrelevanten Datenbytes ignoriert F r die bertragung eines einzelnen Wortes ist zun chst nur die Transfer Richtung lesend oder schreibend wichtig Im Fall eines Schreibzugriffs ist f r den Kommunikationsspeicher die Byte Enable Information wichtig Dies zusammen l t sich auf einfache Weise in 4 Steuersignalen den Write Byte Signalen WB 0 3 kodieren wie die folgende Tabelle Tab 2 veranschaulicht Aus dem Kommunikationsspeicher wird immer dann gelesen wenn 23 Das Multiprozessorsystem MEMSY alle Write Byte Signale auf 1 gesetzt sind Geschrieben wird immer
156. in der sofort nach einer festgestellten Diskrepanz die beiden Prozessoren stoppen k nnte Da solch eine Einrichtung beim verwendeten Motorola System und auch bei den meisten anderen Multiprozessorsyste men nicht implementiert ist kann es durchaus vorkommen da der Prozessor auch nach dem Auftreten eines vor allem transienten Fehlers noch weiterarbeitet Dabei ist nicht sicherge 49 Fehlerm glichkeiten in MEMSY stellt da der aufgetretene Fehler oder ein daraus hervorgegangener Folgefehler berhaupt ent deckt wird Es k nnten beispielsweise falsche Daten erzeugt worden sein Ob dies aber zu ei nem falschen Programmablauf oder zu deutlich falschen Ergebnissen f hren wird die von ei nem Watchdog Mechanismus bzw von einem Akzeptanztest erkannt werden ist zum Teil fraglich Selbst bei einer erfolgreichen Fehlererkennung kann dieser Zeitpunkt sehr weit vom Auftreten des Fehlers entfernt sein Betraf der Fehler eine Aktion die der Prozessor im Stabilen Speicher ausgef hrt hat so kann diese schon l ngst abgeschlossen sein bevor auf Grund des au erhalb des Stabilen Speichers erkannten Fehlers eine Gegenma nahme ergriffen werden kann Daher mu der Stabile Speicher eigene M glichkeiten besitzen mit deren Hilfe er ohne u ere Unterst tzung durch andere Fehlererkennungsmechanismen auch Prozessorfehler rasch entdecken kann Diese Mechanismen m ssen schnell genug reagieren K nnen bevor eine feh lerhafte Ver nderung der g
157. in Lesezugriff ausgef hrt Das verhinderte ein Schreiben auf eine unbekannte Adresse Im Fall eines Datenfehlers kann das Schreiben nicht mehr abgebrochen werden Dieser bez g lich der Fehlerausbreitung unerw nschte Effekt ist die Folge von Optimierungen die den Zu griff auf den Kommunikationsspeicher m glichst schnell ablaufen lassen sollen Dies geschah unter den berlegungen da bertragungsfehler gegen ber erfolgreichen Zugriffen sehr selten auftreten So ist bei Schreiboperationen bereits begonnen worden den Speicherbausteinen Steu ersignale zuzuf hren noch bevor der Datencheck vollzogen war Ein Abbruch ab diesem Zeit punkt w rde die vorgeschriebenen Signal Zeitverh ltnisse beim Speicher verletzen so da sein Verhalten nicht vorhersagbar w re Da die Transferadresse jedoch korrekt empfangen wurde ist der Ort der fehlerhaften Operation bekannt Daher bestehen noch Chancen diese Operation durch Wiederholung des Schreibzugriffs zu korrigieren Entdeckt der Kommunikationsspeicher einen bertragungsfehler so gibt er ein Error Signal an das Prozessorinterface zur ck Dieses wird zusammen mit anderen Informationen in einem Sta tusregister des Prozessorinterfaces eingetragen Entdeckt dagegen das Prozessorinterface den Parityfehler so wird ein anderes Statusbit gesetzt In beiden F llen wird die aktuelle physikali sche Adresse im Fehleradre register des Prozessorinterfaces eingetragen 45 Fehlerm glichkeiten in MEMSY
158. indet Weiterhin sind Angaben hinterlegt die Aussagen ber die Gr Be und die aktuelle Belegung dieses Stabilen Speichers machen Diese Angaben k nnen vom Auftraggeber interpretiert werden Diese Eintr ge sind in Abb 35 zu finden In der zweiten H lfte befindet sich der Vermittlungsteil Die meisten Worte tragen Informatio nen die vom Auftraggeber nicht interpretiert werden K nnen Zugriffe darauf sind zwar m g lich die gelesenen Informationen stammt aber aus internen Verwaltungsdaten des Stabilen 88 Ein Stabiler Speicher f r MEMSY Speichers die der Puffervergabe dienen Es ist nicht vorgesehen da der Auftraggeber diese Daten interpretiert Beim Lesen werden sie jedoch genauso ausgegeben wie die Daten aus dem Informationsteil Das letzte Wort im Vermittlungsteil VIP 63 ist das Vermittlungsregister Es wird von einer besonderen Hardware gespeist die eine neue Kommunikationspage Nummer und ein Pa wort ausgibt Diese Einheit erzeugt in einer quasi zuf lligen Reihenfolge zu jedem Takt eine neue Kommunikationspage Nummer KP Nummer und ein Pa wort Die Folge der erzeugten Bit kombinationen ist zwar deterministisch da ihr Wechsel aber zu jedem Takt erfolgt der Auf traggeber aber schon allein auf Grund der nicht deterministisch langen Zugriffe auf seine loka len DRAM Speicher zeitlich nie so exakt arbeitet erfolgt die Vergabe von Kommunikations page und Pa wort quasi zuf llig Dieser Eindruck wird dadurch
159. iner bergabe an den Stabilen Speicher weder aufhalten noch r ckg ngigmachen 144 Zusammenfassung und Ausblick 8 2 Ausblick Betriebssystem Entwickler sehen in der Forderung die Fertigstellung eines Auftrags immer wieder abfragen zu m ssen eine nicht ad quate Kooperation des Anwenders bzw des Betriebs systems mit dem Stabilen Speicher Daher ist die Frage neu zu berdenken ob nicht doch eine Interruptm glichkeit vom Stabilen Speicher zu den Prozessoren des Host Systems geschaffen werden sollte Ein Interrupt sollte immer dann an alle Prozessoren erfolgen wenn ein Auftrag beendet worden ist oder wenn sich ein Schaden im Stabilen Speicher ereignet hat Mit der zus tzlichen Verbindung b t man allerdings ein da allein die bereits bestehenden Zu griffsm glichkeiten der Prozessoren auf diesen Speicherbereich also die Topologie des Host Systems die Kooperation mit dem Stabilen Speicher bestimmt Nun m ten m glicherweise sehr viele vielleicht auch berfl ssige separate Verbindungen geschaffen werden Im Bereich der Protokolle die eine sichere Aufbewahrung und einen sicheren Update der Sta bilen Objekte gew hrleisten und bei der Daten bertragung Kann in Hardware und Software viel erreicht werden Kleinere Fehler wie das Umkippen einzelner Bits der bertragung eines falsch zusammengesetzten Datenblocks oder der Versuch eines fehlerhaften Prozessors Ope rationen auf den Stabilen Objekten durchzuf hren
160. ird nur ber die angelegten Adressen gevotet Das gelesene Wort wird dann im Broadcast gleichzeitig ber alle Wege A B C zur cktransportiert Dabei wird von der Ei genschaft des verwendeten Treiberbausteins Gebrauch gemacht da ein Input gleichzeitig auf mehrere Ausg nge getrieben werden kann AMD29 Von dieser Vorgehensweise wird nur ab gewichen wenn der Voter zuvor bei der Adresse bemerkt hatte da nicht mehr ber alle Wege ein gleichartiger Zugriffswunsch lesend bzw schreibend vorlag Dann l uft ein Prozessor aus der TMR Schaltung bereits asynchron Der Broadcast wird dann nur noch auf den beiden noch funktionst chtig gebliebenen Wegen durchgef hrt Dieser asynchrone Fall wird weiter unten behandelt Im synchronen Fall wird nachdem beim Voten der Adressen und gegebenenfalls beim Voten der angelegten Daten der erste oder zweite Fall der oben beschriebenen Situationen ermittelt wurde der angegebene Zugriff auf den hinter dem Voter und dem Treiber liegenden Speicher auch durchgef hrt Bei der dritten Situation wird dagegen keine Aktion im Speicher gestartet In allen drei F llen erzeugt der Voter eine Statusinformation die an alle drei Knoten zur ckge leitet wird Aus dieser geht hervor zu welchem Ergebnis der Voter beim Vergleich gekommen ist Die oben angegebenen Voterergebnisse werden als folgende Statusinformationen den Kno ten mitgeteilt 0000 alle Knoten arbeiten synchron und liefern identische Werte 0001
161. isse ndern k nnen Da die M Bus Schnittstelle in diesem Punkt sehr enge Toleranzen einhalten mu wurde von einer Implementierung des Prozessorinterfaces an dieser Stelle abgesehen Der VME Bus schneidet unter diesen Gesichtspunkten wesentlich g nstiger ab und w rde den oben genannten Forderungen gen gen Da der VME Bus dennoch nicht als Schnittstelle f r 18 Das Multiprozessorsystem MEMSY das Prozessorinterface genommen wurde hat mehrere Gr nde Zum einen liegt die VME Bus Schnittstelle am weitesten vom Prozessor entfernt d h es m s sen mehr Durchlaufzeiten durch verschiedene Stufen ICs abgewartet werden als bei den bei den anderen Schnittstellen bevor die Signale diese Schnittstelle erreichen Und zum zweiten verf gt der VME Bus nicht ber die M glichkeit einen bertragungsfehler in seinem Einzugs bereich erkennen zu lassen Bei M und S Bus werden immerhin Paritybits mit bertragen MVM89 Diese dargelegten Gr nde f hrten dazu den S Bus als Schnittstelle f r das Prozessorinterface auszuw hlen Mit seinem Aufbau befassen sich die folgenden Abschnitte 3 2 Die Schnittstellen des Prozessorinterface Das Prozessorinterface bildet die Schnittstelle zwischen dem Prozessorknoten Motorola Sy stem und den bertragungswegen zu den Kommunikationsspeichern Aufgabe dieser Schnitts telle ist die Signale die das Motorola System bei einem Speicherzugriff am S Bus anbietet in die Form umzuwandeln die die Kom
162. it noch m glich Erst ein weiterer Fehler macht eine Fortf hrung des TMR Systems unm glich Gegen Fehler die sich in die abgespeicherten Daten einschleichen kann eine zweifache Spei cherung der Daten und deren regelm ige Kontrolle auf paarweise Gleichheit wirken Bei einer Diskrepanz mu festgestellt werden welche Daten noch korrekt sind und welche nicht An schlie end k nnen die korrekten Daten auf den fehlerbehafteten Teil bertragen werden Hier kann auch auf die f r die Erkennung von bertragungsfehlern verwendete Technik des Parity Schutzes zur ckgegriffen werden wenn die Paritybits zusammen mit den Nutzdaten abge speichert werden Mit diesem Verfahren lassen sich sporadisch auftretende Umwelteinfliisse auf die gespeicher ten Daten beheben Die angesprochenen Umwelteinfl sse werden Alpha Teilchen zugeschrie ben die im Chipgeh use entstehen Diese k nnen die Ladungssituation einer Speicherzelle ei nes dynamischen Speichers DRAM beeinflussen und damit die abgespeicherte Information ver ndern Dieser Fehler wird im Gegensatz zu den bertragungsfehlern mit gekippten Bits al lerdings erst bei einer anschlie enden Leseoperation durch das Auftreten eines Parity Fehlers entdeckt F r das Funktionieren dieses Verfahrens ist es wichtig da ber einen Zeitraum der deutlich l nger ist als der Turnus von einem Check des Objekts bis zu seinem n chsten Check h chstens nur vereinzelt Bits umkippen Dies ist bei
163. iv stabil gro geschrieben Auf die Anf hrungsstriche wird dabei verzichtet f r Karin Clarissa und Jonathan Inhaltsverzeichnis 1 Mobvation zus 22 2 a EI Goes APS SS RRE 1 2 Ans tze f r einen Stabilen Speicher 2 2 2 2020er een ne 5 2 1 Der Stabile Speicher von Lampson 2 2 un nen 5 2 2 Die Fault Tolerant Machine FTM gnc dc ake 2er aaa er 8 22 OUR Gere IV uc aa te GY hee ae ne la be eng en N et Sl Aces 9 222 Strakt urdes STM aoo taat 28 cae i wee eget ata Boe die Bed eit eae gy 11 2 2 0 ArbeilsweisedesSIM wrea eee ERTL 12 2 3 Absicht zur Implementierung eines Stabilen Speichers f r MEMSY 14 3 Das Multiprozessorsystem MEMSY 2 2 eee eee eernenne 15 3 1 Die Schnittstelle f r die Speicherkopplung 2 2 2 2 nn nn 17 3 2 Die Schnittstellen des Prozessorinterface 22 22mm nn 19 3 2 1 Signale bei Speicherzugriffen am S Bus 20 3 2 1 1 Einzelwort Zugriff auf den Speicher ber den S Bus 21 3 2 1 2 Burst Zugriff auf den Speicher ber den S Bus 22 3 2 1 3 Read Modify Write Operation RMW 23 3 2 2 Steuersignale f r die Kommunikationsspeicher 23 3 2 2 1 Einzelwort Transfer auf der bertragungsstrecke 24 3 2 2 2 Burst Transfer und RMW Operation auf der bertragungsstrecke 26 3 3 Die Struktur des Prozess rinferlace 2 4 aa a ae re 28 3 4 Der Kommunikationsspeicher 2 2 22 2 cn
164. k nnen hierbei erkannt und durch Zugriffs verhinderung oder durch Reparatur behandelt werden Problematischer sind jedoch die Gro en Fehler bei denen ganze Teileinheiten ausfallen k n nen Besonders kritisch sind beim Stabilen Speicher die Objektspeicher So kann ein Stromaus fall zum vollst ndigen Verlust der Daten f hren Gegen solch einen Fehler k nnen Magnetplat ten helfen der Zugriff auf diese ist jedoch im Vergleich zu RAM Bausteinen sehr langsam da im wesentlichen die Plattenrotation und die Armbewegungen die Transferkapazit ten begren zen SIE93 PAH90 Alternativ k nnte die Verwendung von Flash Speichern die wie DRAM Speicher lesbar sind und bei Stromausfall nicht ihre gespeicherte Information verlieren Vorteile bringen Der Nach teil ist jedoch da das Schreiben eines Flash Speichers nur blockweise und mit geringerer Ge schwindigkeit durchgef hrt werden kann Dazu m ten die Zugriffsfolgen auf die Objektspei cher anders organisiert werden als bisher bei denen auf jedes Schreiben ein Kontrollesen folgt Allerdings k nnte der bereits vorhandene DRAM Pufferspeicher die Rolle eines Schreibpuffer bernehmen OKO94 145 Zusammenfassung und Ausblick 146 Literatur 9 Literatur AMD29 ANL81 BAN91 BER88 BOP93 CHL85 CYP92 DAL94 DCH91 DCP94 Advanced Micro Devices Am29C982 Am29C983 Multiple Bus Exchange Handbook Sunnyvale California
165. kationsspeicher 117600 Worte sec 132 MeBergebnisse a N Zugriff von P4 3 auf Kommunikationsspeicher KS Zugriff von Po auf Kommunikationsspeicher KS g Zugriff von P4 3 auf Stabilen Speicher StSp Zugriff von Po auf Stabilen Speicher StSp Ubertragungs Leistung x 10 Ws 4200 KS Grenze KS ee nee lt BR 1100 x RX KX XK Rx RSA Rx RSA 1000 Rx KX Rx Rx amp RS 900 BS 3S ee KO RS Ko KS eS rem 800 ae RSA amp Rx RX oe me RX xx x Ye 700 w Ke RS SY X rex ee eS wo 600 me Rs ies RS Ke RS 2 amp BS 500 StSp Grenze RS StSp KY StSp RS StSp Ber oo pa A KT DM KS aa Ky K ji AHA BE 300 StSp Y Y h Z Y YZ 200 Y fa 100 1 2 3 4 Proz Abb 46 bertragungsleistung bei Transferoperationen C in den Kommunikationsspeicher bzw in den Stabilen Speicher J 133 MeBergebnisse 7 1 5 Bearbeitung der Auftr ge durch die zentrale Steuerung Die einzelnen Auftr ge die ein Auftraggeber dem Stabilen Speicher bergeben kann unter scheiden sich sehr in ihrem Aufwand der zu ihrer Ausf hrung aufgebracht werden mu Die Auftr ge CREATE DELETE und RELEASE sind verwaltungstechnischer Art Hier ist die Speicherverwaltung des Stabilen Speichers gefordert um neue Speicherbereiche zur Verf gung zu stellen bzw belegte Pl tze wieder freizugeben Ein Datentransfer findet hierbei nicht statt Dennoch sind diese Auftr ge abh ngig von der Objektl nge Das betrifft auch RELEASE da hierbei alle
166. leitet werden k nnen Als Vergleichswerte wurden Zeiten bzw Transferraten verwendet die bei Zugriffen auf den Kommunikationsspeicher auftreten an den der Stabile Speicher angeschlossen ist Dies er scheint aus folgendem Grund gerechtfertigt Bei allen Verfahren bei denen mit Hilfe von Sicherungsdaten versucht wird nach einem Aus fall eines Prozessors bei einem bereits erreichten Zwischenergebnis mit der Berechnung wie deraufzusetzen spielt die sichere Aufbewahrung der Sicherungsdaten eine entscheidende Rolle Um auch den dauerhaften Ausfall eines einzelnen Prozessors oder eines einzelnen Speichers oder einer einzelnen Kommunikationslinie bertragungsweg tolerieren zu k nnen ist eine mehrfache Speicherung der Sicherungsdaten unerl lich Alternativ zu der Speicherung im ge sondert implementierten Stabilen Speicher lie e sich in einem Multiprozessorsystem wie MEMSY auch eine Speicherung in mehreren Kommunikationsspeichern oder in den Privatspei chern benachbarter Knoten realisieren Diese Vorgehensweise wird in LEH90 f r das spei chergekoppelte Multiprozessorsystem DIRMU vorgestellt Die dadurch verminderten Schutz m glichkeiten vor den betrachteten unterschiedlichen Fehlern seien hier einmal ausgeklam mert Zur Daten bertragung steht bei MEMSY das umfangreiche Verbindungssystem mit den Kommunikationsspeichern zur Verf gung Zum Transport sind somit f r jede Kopie eines Da tenblocks ein bzw zwei Transfers zwischen dem Privats
167. liegen Der Grund daf r liegt darin da sich die einzelnen Messungen wegen der notwendigen Synchronisationen zwischen Prozessor und Kommunikationsspeicher unterscheiden Die gemessenen Abweichungen betrugen bis zu 0 06 usec in beiden Richtungen Um nicht eine gr ere Genauigkeit vorzugaukeln wurden ty pische Werte ermittelt und auf 0 1 usec genau gerundet Da sich die meisten Zeitwerte in dieser und auch in den weiteren Tabellen ber 1 0 usec bewegen bedeutet diese Rundung aber keinen Nachteil f r die Genauigkeit Zugriff auf Komm Speicher ohne Koppelmodul mit Koppelmodul Speicherzugriff 0 45 usec 0 45 usec Tab 3 Zugriff eines Prozessors auf den Kommunikationsspeicher 71 2 Zugriffe einzelner Prozessoren auf den Stabilen Speicher Zugriffe der Prozessoren auf den Pufferbereich des Stabilen Speichers werden durchgef hrt wie Zugriffe auf einen Kommunikationsspeicher Allerdings leitet der Kommunikationsspeicher den Zugriff an den Stabilen Speicher weiter und erwartet seinerseits von ihm ein Ready oder ein Error Signal Dieses Signal und bei Lesezugriffen auch die Daten bermittelt er dann dem Prozessor Da auch an der Schnittstelle zwischen Kommunikationsspeicher und dem Stabilen Speicher wieder synchronisiert werden mu wird hier ebenfalls ein Zeitverlust zu beobachten sein Bei den Zugriffen auf den Pufferbereich des Stabilen Speichers werden intern mehrere Aktio nen ausgef hrt Das liegt zum einen an den notwendigen ber
168. liert Beim Einsatz des Stabilen Speichers f r MEMSY wird sich zeigen da hier auch nach der MMU noch spezielle Hardware f r Kontroll vorg nge eingesetzt wird da bei Zugriffen auf den Stabilen Speicher in viel feinerem Ma die Erlaubnis zum Zugriff berpr ft werden mu als dies von der MMU durchgef hrt werden kann 5 2 Fehler in der Hardware Bei Hardware Fehlern wird allgemein zwischen transienten und permanenten Fehlern unter schieden Permanent ist ein Fehler dann wenn eine Teileinheit dauerhaft gest rt oder defekt ist Die M glichkeiten zur Behebung im laufenden Betrieb sind meistens sehr gering Der Fehler m te maskiert werden k nnen wie dies beispielsweise bei TMR Schaltungen Triple Modular 40 Fehlerm glichkeiten in MEMSY Redundancy m glich ist Ansonsten bleibt nur der Ersatz oder die Reparatur brig In den mei sten F llen wird der laufende Betrieb dabei unterbrochen werden m ssen Transiente Fehler entstehen aus kurzzeitigen St rungen Sie treten deutlich fter auf als perma nente Fehler SIE82 DCP94 Transiente Fehler k nnen ein vor bergehendes zeitlich sehr be grenztes Fehlverhalten ausl sen z B Transport falscher oder fehlerhafter Daten oder auch zu einem Erscheinungsbild f hren das wie ein vorl ufig dauerhafter Fehler aussieht z B ver n dertes Bit im Speicher Die Auswirkungen eines Fehler m ssen sich nicht sofort nach dem Auftreten des Fehlers zei gen Im allgemeinen bl
169. ll da beide Kopien fehlerhaft sind wird mit einem VERIFY versucht einen korrekten Datenblock f r die Backup Kopie aus den beiden fehlerbehafteten Bl cken herzustellen Mi lingt auch dies wird versucht den WRITE Auftrag auch ohne alte Version des Datenblocks auszuf hren Solange dies erfolgreich ist hat dieser Datenblock einen neuen korrekten Inhalt bekommen Gelingt dies jedoch nicht so ist dieses Stabile Objekt in diesem Stabilen Speicher verloren F r den Auftraggeber wird in jedem Fall eine entsprechende Erfolgs bzw Fehlermeldung im Ergebnisregister hinterlegt W hrend der Durchf hrung eines WRITE Auftrags wird immer zuerst nur eine Kopie des Sta bilen Objekts vollst ndig ver ndert Erst wenn dies erfolgreich beendet worden ist wird auch die zweite Kopie in gleicher Weise ver ndert War bei den Arbeiten an der ersten Kopie ein Feh ler aufgetreten so wird die noch unver ndert gebliebene zweite Kopie wieder auf die erste ber tragen Damit wird sichergestellt da zu jedem Zeitpunkt ein konsistentes Objekt alt oder be reits neu im Lagerbereich vorliegt Die umfangreichen Reparaturf higkeiten bei einem VERIFY sind m glich durch die Verwen dung von RAM Bausteinen mit byteweiser Parityabsicherung Dies erlaubt eine viel detaillier tere Fehlerlokalisierung und damit auch deutlich mehr F higkeiten zur Fehlerbehebung als dies bei Daten auf Plattenspeichern mit einer einzigen Good Bad Entscheidung ber einen Daten 9
170. ls 46 Fehlerm glichkeiten in MEMSY Ready oder Error vom Kommunikationsspeicher wegen einer St rung nicht erkannt wur de oder wegen eines Hardware Fehlers verloren ging Au erdem kann es sein da kein Spei cher am ausgew hlten M Port des Koppelmoduls angeschlossen ist Nach Ablauf der Timeout Zeit wird der Weg selbst ndig wieder freigegeben Auch beim Prozessorinterface kann eine St rung der Steuersignale oder das Fehlen des Kom munikationsspeichers bzw des Koppelmoduls dazu f hren da kein Ende des Speicherzugriffs zur ckgemeldet wird In diesem Fall beendet der Timer den Zugriff Die Zeiten dieser Timeout Z hler sind so gew hlt da als erstes der Kommunikationsspeicher dann das Koppelmodul und zuletzt das Prozessorinterface reagieren w rde Damit wird die be auftragende Einheit der Prozessor einen laufenden Transfer mit Sicherheit erst nach einer Zeitdauer abbrechen die die ausf hrende Einheit Kommunikationsspeicher am l ngsten f r die Bearbeitung inklusive Timeout ben tigt So kann es nicht vorkommen da Kommunika tionsspeicher oder Koppelmodul noch mit der Abwicklung eines Transfers besch ftigt sind w hrend der Prozessor diesen Zugriff l ngst als beendet angesehen hat Ein weiterer Zugriff des Prozessors auf diesen Kommunikationsspeicher k nnte sonst zu einem weiteren Fehler in Form eines Timeouts oder eines Protokollfehlers f hren Die Timeout Zeit die im Prozessorinterface
171. lt Treatment Proceedings of 5th International Conference on Fault Tolerant Computing Systems N rnberg Informatik Fachberichte 283 Berlin Springer 1991 Dal Cin M Pataricza A Increasing Dependability in Multiprocessors Proceedings of the 8th Symposium on Microcomputer and Microprocessor Applications Budapest S 55 64 Oktober 1994 147 Literatur DGH93a DGH93b DHL89 ECH90 FAST85 FRH89 GOR89 GRY90 HAN76 HAM86 Dal Cin M Grygier A Hessenauer H Hildebrand U Hofmann F Linster C U Thiel T Turowski S MEMSY A Modular Expandable Multiprocessor System in Bode A Dal Cin M Eds Parallel Computer Architectures Theory Hardware Software Applications Lecture Notes in Computer Science LNCS 732 Berlin Springer S 15 30 1993 Dal Cin M Grygier A Hessenauer H Hildebrand U Honig J Hohl W Michel E Pataricza A Fault Tolerance in Distributed Shared Memory Multiprocessors in Bode A Dal Cin M Eds Parallel Computer Architectures Theory Hardware Software Applications Lecture Notes in Computer Science LNCS 732 Berlin Springer S 31 48 1993 Dal Cin M Hildebrand U Hohl W Lehmann Emilius L Michel E Mechanismen zur Fehlerdiagnose und behebung f r die MEMSY Hochleistungsstruktur Proceedings SFB Workshop Grundlagen verteilter und paralleler Systeme Pom
172. m 0 0000 en 32 3 3 Das Koppelmedil A zer Ae SERRE OE ee OMe PS eRe es 33 3 6 Realisierung der MEMSY Topologie mit Hilfe der Koppelmodule 35 4 Integration des Stabilen Speichers in MEMSY 22 e2000 37 5 Fehlerm glichkeiten in MEMSY 2 2 2 22er rer er e er ee ere nee 40 5 1 Fehler in der Software 2 Aa se ee rn te 40 5 2 Fehler in der Hardware 22 4 208 mau BS ae ae 40 5 3 Abwehrma nahmen gegen Fehler in der Motorola Hardware 42 5 3 1 Ma nahmen gegen Software Fehler 2 2 2 2 on nennen 42 5 3 2 Ma nahmen gegen Hardware Fehler 2 2 2 u nennen 43 5 4 Abwehrma nahmen gegen Fehler in der Erweiterungs Hardware 44 94 1 Par ty Pehler 2 2 5 4 t a u I De Sa a ae 45 3 42 Timeout Pebler 2 2 2 2 Ze 222 Se SE Es LE I Hr 46 IE 3 Slonal Pebler siias un cok Gee des A a ea 47 5 5 Weitere Ma nahmen 4 03 Ba woe ea Se EB Be eed 48 5 6 Fehlermodell f r den Stabilen Speicher 2 2 2 CE En nn 49 3 0 1 Prozessor Fehler ze as a a ee BN fe BE Cw a en 49 5 6 2 Fehler auf der bertragungsstrecke 222 22222 51 5 6 3 Fehler innerhalb des Stabilen Speichers 2 52 6 Ein Stabiler Speicher f r MEMSY 2 2 002 eee eee 6 1 Anforderungen an den Stabilen Speicher 2 2 nn onen 6 2 Struktur des Stabilen Speichers 2 CC Cm nn nn 6 3 Arbeitsweise des Stabilen Speichers und die Auftr ge 6 Pulferbereich u 2
173. m Zugriff werden Adressen und Daten im Multiplex Betrieb bertragen Alle Informationen die das Prozessorinterface zum bertragungsweg hin verlassen das sind die Adressen und die zu schreibenden Worte werden von diesem mit g ltigen Paritybits ver sehen Am Kommunikationsspeicher wird die Parity berpr ft Daten die aus dem Kommuni kationsspeicher gelesen werden werden mitsamt den dort vorliegenden Paritybits an das Pro zessorinterface bertragen und dort berpr ft Ein an dieser Stelle erkannter Parityfehler ist dann entweder w hrend der Lagerung im Speicher oder im Verlauf des Lesens auf dem ber tragungsweg aufgetreten Diese berpr fungen werden bei allen Zugriffsarten ausgef hrt die der Kommunikationsspeicher bearbeiten kann Ein und Mehr Wort Transfers RMW Opera tionen Insbesondere die berpr fung der am Kommunikationsspeicher ankommenden Adres sen und Daten bertrifft deutlich die entsprechenden Vorkehrungen innerhalb des Motorola Sy stems bei Zugriffen des Prozessors auf seinen Hauptspeicher Das Koppelmodul das zwischen Prozessorinterface und Kommunikationsspeicher liegt gibt die 36 bit Worte nur weiter und kontrolliert keine Parity Im Fall eines erkannten Adre fehlers wird im Kommunikationsspeicher keine Aktion ausge f hrt In einer lteren Version des Kommunikationsspeichers konnte der Speicherzugriff nicht mehr gestoppt werden allerdings wurde dann bei einem gew nschten Schreibzugriff stattdes sen e
174. men ist dies eine akzeptable und einfache Vorgehensweise bei lang laufenden Programmen jedoch oft schon allein aus wirtschaftlichen Gr nden eine untragbare Situation L uft diese Anwendung auch noch auf einem Multiprozessorsystem das eine deut lich k rzere MTBF Mean Time Between Failure hat als seine einzelnen Knoten je ein Mono prozessor so besteht die Gefahr da sie auch bei weiteren Versuchen vor ihrem Programmen de von einem neuen Fehler getroffen wird Um eine Anwendung nicht in einer Sisyphusarbeit enden zu lassen kann als Vorsorgema nah me ab und zu der erreichte Zwischenzustand abgespeichert werden auf den man nach dem Auf treten eines Fehlers zur ckgreifen kann So besteht die M glichkeit von diesem Sicherungs punkt aus die Anwendung weiterlaufen zu lassen statt von vorne starten zu m ssen Auf diese Weise k nnen auch Anwendungen bearbeitet werden die deutlich l nger f r ihre Bearbeitung ben tigen als es die MTBF eines gro en Multiprozessorsystems zulassen w rde HON94 Beispielsweise ist bei einem Multiprozessorsystem das aus 256 Knoten mit je einer MTBF von 2 Jahren besteht die Gesamt MTBF etwa 3 Tage wenn man unabh ngige Ausf lle und eine Einsatzf higkeit des Gesamtsystems nur bei Funktionst chtigkeit aller Knoten annimmt Es ist somit verst ndlich da der Sicherungspunkt eine sehr hohe Bedeutung hat Er darf kei nesfalls verloren gehen oder zerst rt bzw besch digt werden um den Wiederanlauf ei
175. mersfelden 16 17 November 1989 Arbeitsberichte des IMMD Band 22 Nr 13 S 113 130 November 1989 Echtle K Fehlertoleranzverfahren Studienreihe Informatik Berlin Springer 1990 Fairchild FAST Fairchild Advanced Schottky TTL Data Book Fairchild Camera and Instrument Corporation Maine Portland USA 1985 Fritsch G Henning W Hessenauer H Klar R Linster C U Oehlrich C W Schlenk P Volkert J Distributed Shared Memory Multiprocessor Architecture MEMSY for High Performance Parallel Computations Computer Architecture News Dezember 1989 Gorke W Fehlertolerante Rechensysteme Handbuch der Informatik Band 2 1 Oldenbourg Verlag Miinchen 1989 Grygier A Kommunikationsstrukturen in Multiprozessorsystemen am Beispiel des MEMSY Hochleistungssystem erschienen in Ecker K Hrsg Workshop ber Parallelverarbeitung Lessach sterreich 18 9 22 9 1989 Informatik Bericht 90 1 Institut f r Informatik Clausthal Zellerfeld S 91 102 1990 H ndler W Herzog U Hofmann F Schneider H J A General Purpose Array with Broad Spectrum of Applications Computer Arcitecture Informatik Fachberichte 4 Berlin Springer S 311 335 1976 Hamming R W Coding and Information Theory 2 Edition Prentice Hall Englewood Cliffs New Jersey 1986 148 Literatur HAR90 HIL91 HIL92 HMW85 HON94 HOF93 JEW91 KER90
176. mmer und Pa wort noch deutlich zu erh hen wird bei jeder Vergabe einer neuen Kom munikationspage der Lauf des Pa wort Zyklus einige Takte l nger angehalten als der Zyklus f r die KP Nummer Dadurch wird erreicht da man sich anschlie end in einem neuen gemein samen Zyklus von KP Nummer und Pa wort mit 69615 Zust nden befindet So kann im Laufe der Zeit zu jeder Kommunikationspage ein beliebiges Pa wort zugeordnet werden Insgesamt sind das 4095 x 255 1044225 Kombinationen siehe Abb 32 Bei der Vergabe der Kommunikationspage Nummer und des Pa wortes ist es notwendig da diese Informationsausgabe KP Nummer und Pa wort atomar erfolgt Da f r den Auftraggeber nur einfache Lesezugriffe in Frage kommen mu f r die Vergabe eine Datenstruktur gew hlt werden die mit 32 Bit auskommt F r die KP Nummer sind 8 Bit erforderlich f r das Pa wort weitere 12 Bit Ferner mu noch mitgeteilt werden ob berhaupt noch eine Kommunikations page vergeben werden konnte Daf r ist ein Bit n tig verwendet wurden aber vier Bit Der Auf trag ACCESS besteht somit allein aus dem Lesen des Vermittlungsregisters Dessen Daten struktur ist in Abb 33 angegeben VIP 63 Vermittlungsreg _Pa wort voll KP Nr Abb 33 Datenstruktur des Vermittlungsregisters Nach dem Lesezugriff auf das Vermittlungsregisters mu der Auftraggeber entscheiden ob das bergebene 32 bit Wort zur Vergabe einer neuen Kommunikationspage gef hrt hat o
177. munikationsspeicher erwarten Ebenso m ssen die Signale von den Kommunikationsspeichern in entsprechender Weise an das Motorola System weiter geleitet werden Die betroffenen Signale am S Bus sind die des Adre busses die des Datenbus ses und einige Steuersignale In Tab 1 ist eine Gegen berstellung der Signale des S Busses und die der bertragungsstrecke angegeben Aus dieser Gegen berstellung der vorhandenen bzw ben tigten Signale ist erkennbar da ver schiedene Signalumwandlungen erforderlich sind Auf der S Bus Seite liegen getrennte Adre und Daten Busse vor w hrend auf der bertra gungsstrecke zu den Kommunikationsspeichern ein im Zeitmultiplex betriebener Adre Daten Bus vorhanden ist Auf der S Bus Seite wird nur die Dateninformation mit 4 Paritybits f r 4 Bytes je ein Paritybit gegen bertragungsfehler abgesichert Auf der bertragungsstrecke zu den Kommunikationsspeichern aber wird sowohl die Adre information als auch die Datenin formation mit 4 Paritybits gesch tzt Daher mu im Prozessorinterface zumindest eine Parity Erzeugung vorhanden sein Das Checken der Paritybits bildet die Grundlage f r die Fehlerer kennung Dies findet immer am Ende einer bertragungsstrecke statt Beim Schreiben werden sowohl die Adresse als auch die Daten vom Prozessor zum Kommunikationsspeicher transpor tiert und somit beide am Kommunikationsspeicher berpr ft Beim Lesen wird nur die Adresse zum Kommunikationsspeicher transport
178. n chste Objekt dieses Eigent mers F r diese Informationen wurden 4 Worte benutzt Diese geringe Zahl an Worten wurde erreicht da in den meisten 32 bit Worten mehrere der aufgef hrten Informationen untergebracht werden konnten Daher reichen 4 Pages aus um auch f r die gr tm gliche Zahl an Stabilen Objekten ger stet zu sein Weiterhin gibt es f r jede Kommunikationspage zwei Eintr ge die das vergebene Pa wort und die Nummer des ersten Stabilen Objekts dieses Eigent mers tragen Diese Informationen konn ten auch innerhalb der eben genannten Pages abgelegt werden Somit sind insgesamt nur 4 Pages f r alle Verwaltungsinformationen n tig Weitere Einzelheiten finden sich in SEM93 98 Ein Stabiler Speicher f r MEMSY 6 5 3 Schutz der zentralen Steuerung vor eigenem Ausfall An den Stabilen Speicher werden sehr hohe Erwartungen bez glich seiner fehlerfreien Arbeits weise gestellt Um seinem Namen gerecht werden zu k nnen mu er in der Lage sein nicht nur Fehlersituationen bei den Auftraggebern zu erkennen sondern auch eigenes Fehlverhalten ohne Verz gerung zu erkennen und es nicht zu einer fehlerhaften Fortf hrung seiner Arbeitsweise kommen zu lassen Denn ein Fehler kann auch hier nicht ganz ausgeschlossen werden Auf Grund der Allm chtigkeit dieser Steuerung w re es sogar m glich da hier entstandene Feh ler zu einer v lligen Zerst rung der Stabilen Objekte f hren k nnten ohne da dies ein Auf t
179. n da sie aus Sicht der Hard ware ohne Wissen ber das laufende Programm kaum erkannt werden k nnen Bemerkbar ma chen sich solche Fehler am ehesten dem Anwender der sich wundert warum sein Programm nicht das tut was er von ihm erwartet In diesen F llen bleibt ihm meistens nichts anderes brig als sein Programm zu analysieren Es gibt eine ganze Reihe von Hilfsmitteln die einem das Er stellen von Software erleichtern und so von vornherein die Gefahr des Auftretens von nicht ge w nschten Programmabl ufen verringern Aus Sicht der Hardware ist dies aber nicht als Fehler erkennbar Dennoch gibt es einige M glichkeiten die es der Hardware gestatten Fehler in der Software wenigstens zum Teil zu erkennen So gibt es in den meisten Rechnern eine Memory Manage ment Unit MMU eine Hardware welche u a die Zugriffe des Prozessors in seine Au enwelt kontrolliert Dabei wird daf r gesorgt da der Prozessor nur in einen Teil seines ihm potentiell zur Verf gung stehenden Adre raums zugreifen kann Dies wird zum Schutz der verschiedenen Tasks oder Jobs untereinander eingesetzt die gleichzeitig im Adre raum eines Prozessors exi stieren MOT2 Die MMU ist konfigurierbar und wird von der Betriebssoftware programmiert Somit ist der damit erzielbare Schutz ganz von der korrekten Programmierung der MMU ab h ngig Alle Zugriffe die die MMU passieren werden von der dahinterliegenden Hardware 1 a nicht mehr auf ihre Berechtigung hin kontrol
180. n Kommunikationspage Eintrag einer Belegt Kennung in die gefundene Kommunikationspage KP 7 Aktualisierung einer Datenbasis in der ber die belegten Kommunikationspages Buch gef hrt wird R ckgabe des Pa wortes der KP Nummer und einer Frei Kennung an den Prozessor konnte keine Kommunikationspage mehr vergeben werden wird eine Voll Kennung zur ckgegeben Fortf hrung der zyklischen Shifts in den r ckgekoppelten Schieberegistern f r die Erzeu gung einer neuen KP Nummer und eines Pa wortes Diese Aktionen m ssen w hrend eines einzigen Speicherzugriffs eines Prozessors durchgef hrt werden Neben dem allgemeinen Wunsch da diese Aktionenfolge m glichst schnell durchge f hrt werden sollen besteht besonders bei den Stellen bei denen ein Suchalgorithmus erfolgen mu ein zwingender Grund f r eine schnelle Bearbeitung dieser Aktionen Denn hier besteht die Gefahr da sich die Durchf hrungsdauer derart verl ngert da die Timeout Schranke des Kommunikationsspeichers ca 11 usec oder des Koppelmoduls ca 15 usec erreicht wird In diesen F llen w rden diese Einheiten den Zugriff abbrechen Das w rde auch dann geschehen wenn der Grund f r die lange Dauer in der Implementierung des Algorithmus liegt und nicht in einer defekten Hardware 123 MeBergebnisse Suchalgorithmen miissen bei der Suche nach einer noch unbelegten Kommunikationspage und bei der Suche nach einem freien P
181. n Stabilen Speicher F r die Messung der Schreibtransfer Zugriffe mehrerer Prozessoren auf einen Stabilen Speicher wurde die im letzten Abschnitt vorgestellte Hardware Konfiguration um den Stabilen Speicher erweitert siehe Abb 44 Pi Prozessoren KM Koppelmodul KS Kommunikationsspeicher StSp Pufferbereich des Stabilen Speichers k Abb 45 Konfiguration zur Messung am Stabilen Speicher E Auch hier wurde das bereits vorgestellte Datentransferprogramm zum Schreiben eines Blocks in den Pufferbereich des Stabilen Speichers verwendet In Tab 7 sind die gewonnenen Ergeb nisse dargestellt Auch hier wurden bez glich der dargestellten Me ergebnisse die gleichen Rundungen vorgenommen wie in der letzten Tabelle Tab 6 in der die Ergebnisse bei Zugrif fen auf den Kommunikationsspeicher dargestellt wurden Bei der in Abschnitt 7 1 2 bereits vorgestellten Messung des Zugriffs eines einzelnen Prozes sors auf den Pufferbereich war zu erkennen da die Vorg nge im Pufferbereich den dominie renden Anteil an der Gesamtdauer des Zugriffs haben Dagegen spielt hier das Koppelmodul keine so gro e Rolle Bei den nun durchgef hrten Messungen mit mehreren gleichzeitig auf ei nen Stabilen Speicher zugreifenden Prozessoren wurde dies besonders deutlich Bereits ab zwei zugreifenden Prozessoren hat die durchschnittliche bertragungszeit f r ein Wort um etwa 15 zugenommen Deutlich st rker ist dies bei drei und vier gleichzeitig ar
182. n denen eine Adresse Adre Phase bzw ein Wort Daten Phase bertragen wird durch Steuersignale unterschieden werden 24 Das Multiprozessorsystem MEMSY In der Adre Phase wird das ASTR Signal vom Prozessorinterface ausgegeben Der Beginn der Daten Phase wird vom Prozessorinterface durch das Aktivieren des DSTR Signals angezeigt Bis zu diesem Zeitpunkt hat der Kommunikationsspeicher keine M glichkeit auf das Zeitver halten des Zugriffsablaufs Einflu zu nehmen Dies bedeutet vor allem da er die bertragene Adresse bei sich ablegen mu Erst in der Daten Phase bestimmt er durch das Ausgeben des Fertig Signals MRDY wann der Transfer vom Prozessorinterface beendet werden kann F r den Kommunikationsspeicher ist der Zugriff mit dem Aussenden des MRDY Signals beendet d h auch auf der bertragungsstrecke ist der Transfer dann beendet siehe auch Abb 8 Zu Beginn des Zugriffs wird zun chst die Adresse auf die bertragungsstrecke gelegt Kurz nach dem Erscheinen der Adresse wird das ASTR Signal aktiviert um dem Kommunikations speicher anzuzeigen da er jetzt die Adresse bernehmen mu Die fallende Flanke des ASTR Signals kann dabei als Zeitpunkt zur bernahme der Adresse verwendet werden Aus diesem Grund ist das ASTR Signal gegen ber der Zeit in der die Adresse auf dem Bus getrieben wird leicht verschoben Nach etwa 120 nsec wird das ASTR Signal wieder inaktiv Die Adresse wird zu diesem Zeitpunkt schon nicht meh
183. n geschehen die dieses Programm an den Watchdog bertr gt DGH93b Solche Watchdogs geh ren zwar nicht zur Standardausstattung von MEMSY ihr Einsatz und ihr Ein flu auf das Systemverhalten wird aber untersucht Der Watchdog kann ein separater Prozessor oder ein Proze sein der auf dem Prozessor des Anwendersystems l uft HON94 Eine noch st rkere Kontrolle w rde durch eine direkte Beobachtung des Instruktionsbusses di 48 Fehlerm glichkeiten in MEMSY rekt am Prozessor erfolgen k nnen Dabei wird jede Instruktion die der Prozessor zur Bearbei tung aus einem Speicher holt beobachtet und mit dieser Kenntnis die korrekte Bearbeitungsrei henfolge kontrolliert Bei den heute benutzten Prozessoren ist dies aber oft nicht m glich da Prefetch Verfahren oder auf dem Prozessorchip befindliche Caches die ben tigte Kontrolle nicht mehr erlauben MPD94 5 6 Fehlermodell f r den Stabilen Speicher In den vorangegangenen Abschnitten wurden verschiedene M glichkeiten f r das Auftreten ei nes Fehlers in einem Rechner betrachtet Dabei wurde auch speziell auf die diesbez glichen Ei genschaften von MEMSY eingegangen Auch zu bereits vorhandenen und den noch m glichen Einrichtungen zur Fehlererkennung und behebung sind bereits einige Angaben gemacht wor den In diesem Abschnitt sollen nun die Fehler behandelt werden die der Stabile Speicher tolerieren soll Im Vordergrund steht dabei der Schutz der abgelegten Daten im Sta
184. n zu k nnen Gegen verschiedene Fehlerursachen bertragungsfehler spontan ver nderte Bits in abgespeicherten Daten mu er dann keine ei genen Vorkehrungen treffen da diese bereits vom System behandelt werden Das Multiprozessorsystem MEMSY Modular erweiterbares Multiprozessor System das an der Universit t Erlangen N rnberg konzipiert wurde geh rt zu der Klasse von Systemen f r die eine gro e Prozessorzahl vorgesehen ist In der gegenw rtigen Implementierung ist es mit 20 Knoten mit insgesamt 80 Prozessoren zwar eher ein kleines Multiprozessorsystem ist aber von der Topologie her so entworfen worden da dieses System beliebig gro skaliert werden kann Dabei bleibt die Topologie vollst ndig erhalten Vor allem mu keine Clusterung einge f hrt werden Daher kann die Arbeitsweise eines sehr gro en Systems dieser Art direkt vom kleinen vorhandenen System bernommen werden F r den Datenaustausch zwischen den Prozessoren stehen Kommunikationsspeicher zur Verf gung die regelm ig im Gesamtsystem angeordnet sind Dabei hat jeder Prozessorknoten Zu griff auf mehrere Kommunikationsspeicher Ebenso kann jeder Kommunikationsspeicher von mehreren Prozessorknoten erreicht werden Vor diesem Hintergrund wurde der Einsatz eines Stabilen Speichers f r MEMSY konzipiert Dabei sollte der Ansatz verfolgt werden den Stabilen Speicher mit Hilfe von RAM Bausteinen zu implementieren Auf Grund ihrer kurzen Zugriffszeit im Vergleich
185. ndenen Fehlers mu das standard m ige CLEANUP eingesetzt werden Ein STM Objekt besteht aus einem zusammenh ngenden Block der die abgelegte Information tr gt und aus einem Deskriptor der unter anderem die Ober und Unter Grenze des Bereichs enth lt in dem ausschlie lich dieser Block abgelegt ist Bevor ein Zugriff auf ein Objekt erfol gen darf mu es ge ffnet werden Dabei werden die beiden Grenzen in Register eingetragen Von diesen Registern gibt es nur eine beschr nkte Zahl Die Inhalte dieser Register repr sentie ren die derzeit ge ffneten Objekte Bei jedem Zugriff auf Objekte im STM wird die angelegte Adresse mit den Grenzen der ge ffneten Objekte verglichen Ist die aktuelle Adresse in einem solchen Bereich enthalten so wird der Zugriff auf dem STM durchgef hrt Ist sie aber nicht ent halten so wird der Zugriff abgewiesen und dies dem Prozessor mit einer Exception signalisiert Beim Schlie en des STM Objekts werden die Grenzen wieder aus den Registern entfernt Da durch ist dieses Objekt vor weiteren Zugriffen gesch tzt Ferner wird wieder Platz f r die Be arbeitung anderer Objekte geschaffen Die Ausf hrung von Operationen im STM mu innerhalb von Transaktion vollzogen werden Diese stellt sicher da alle Aktionen im STM gem des Transaktionskonzepts ausgef hrt wer den Dazu wird ein Zwei Phasen Commit Protokoll abgearbeitet Aktionen werden zun chst nur im ersten Speicher ausgef hrt Dabei ist es m glich
186. ndere Fehler z B Mehrbit Fehler in einem Byte k nnen nicht mit Sicherheit sofort erkannt werden Sie machen sich m glicherweise erst viel sp ter bemerkbar Dann sind aber kaum noch M glichkeiten f r eine sichere Fehlerdiagnose gegeben Auch ber den VME Bus k nnen Fehlerinformationen weitergeleitet werden die in entfernt lie genden Einheiten entdeckt worden sind Dabei gibt es Signale f r eine Zeit berschreitung Timeout bei Zugriffen ber den VME Bus f r Parityfehler die innerhalb einer Speicherpla tine entdeckt worden ist f r St rungen in der Stromversorgung ACFAIL und f r sonstige Sy stemfehler SYSFAIL MVM89 Bei der Implementierung des Prozessorinterface spielten diese Signale aber keine Rolle 5 4 Abwehrma nahmen gegen Fehler in der Erweiterungs Hardware In der Erweiterungs Hardware wurden mehrere Einrichtungen implementiert mit deren Hilfe bertragungsfehler erkannt und an den Prozessor zur ckgemeldet werden k nnen Dabei wird auch sichergestellt da ein begonnener Zugriff auf jeden Fall beendet wird damit der Prozessor hier nicht in einen Deadlock ger t 44 Fehlerm glichkeiten in MEMSY 5 4 1 Parity Fehler Die M glichkeit zum berpr fen von bertragungsfehlern mit Hilfe von Paritybits wurde auch f r den Transfer zwischen Prozessoren und Kommunikationsspeichern bernommen und aus geweitet Die Verbindungen bestehen aus 32 bit Bussen die mit vier Paritybits ausgestattet sind Bei eine
187. ne f r diesen Stabilen Speicher erst nach mehreren Monaten mit einem Ausfall zu rechnen ist Zum Vergleich Das Multiprozessorsy stem MEMSY enth lt in 20 Kommunikationsspeichern 720 Speicherchips 20 x 36 Im Ver lauf von ber einem Jahr ist bislang noch kein Speicherchip ausgefallen Bei Abw gung dieser Gr nde wurde eine Entscheidung zugunsten der ersten L sung nur ein Speicherzugriff pro Wort getroffen Im Lagerbereich werden neben den Stabilen Objekten auch die Daten abgelegt die f r die Ver waltung dieser Objekte notwendig sind Das sind Angaben ber den Eigent mer Kommunika tionspage Nummer die L nge des Objekts und Angaben ber den aktuellen Zustand des Ob 106 Ein Stabiler Speicher f r MEMSY jekts gerade unbenutzt oder 1 Kopie bei Update und anderes Diese Informationen werden durch den gleichen Mechanismus gesch tzt wie die Stabilen Objekte Weiterhin sind auch die Daten abgelegt die aus den Eintr gen aus den Kommunikationspages stammen Somit kann auch nach einem vor bergehenden Ausfall des Pufferbereichs der Inhalt der Kommunikationspages wiederhergestellt werden Das ist sehr wichtig f r die Erreichbarkeit der abgelegten Stabilen Objekte denn sonst k nnten die Auftraggeber keine weiteren Auftr ge mehr an den Stabilen Speicher stellen und auch die gesicherten Daten nicht mehr nutzen Da sich der Ausfall des Pufferbereichs auch w hrend der Ausf hrung eines Auftrags ereignen kann mu diese Si
188. ne fe ste Zahl beschr nkt z B 3 F r die CAREFUL_PUT Operation wird zun chst ein PUT ausge f hrt auf das ein GET folgt Die zur ckgelesenen Daten werden mit denen verglichen die ge schrieben werden sollten Erkennt man eine Differenz so wird dieser Vorgang PUT und GET wiederholt Auch hier ist die maximale Zahl an Wiederholungsversuchen auf eine Obergrenze festgelegt Mit CAREFUL_PUT lassen sich auch nicht erfolgte Schreibversuche erkennen Das Ergebnis der Operationen CAREFUL_GET und CAREFUL_PUT sollte sofern h chstens ein transienter Fehler auf der bertragungsstrecke vorlag ein erfolgreicher Speicherzugriff sein War der Speicherzugriff jedoch nicht erfolgreich so liegt offenbar ein Fehler vor der den abgelegten Datenblock betraf Daher m ssen m chtigere Operationen konstruiert werden die auch die restlichen Fehlersituationen Fehler im Speicher Prozessor Crash meistern Nach au Ben hin sollen diese Operationen immer erfolgreich sein solange kein Prozessor Crash erfolgt Andernfalls so wird gefordert mu das Transaktionskonzept eingehalten werden Wiederher stellung des alten Zustands Dazu ist es n tig die Datenbl cke im stabilen Speicher doppelt abgelegt zu haben Sie bilden ein Paar das fast immer denselben Inhalt haben soll Nur w hrend einer Schreib Operation Update oder bei einem Speicherfehler d rfen sie unterschiedliche In Ans tze f r einen Stabilen Speicher halte tragen Entsteht in einer H
189. nen Beim Transfer der ersten drei Worte wird nicht LDT angezeigt und erst beim 4 Transfer erscheint LDT Innerhalb des Burst Zugriffs wird das Ende jeder einzelnen Wort bertragung genauso wie beim Einzelwort Transfer durch das Wait Signal gekennzeichnet 22 Das Multiprozessorsystem MEMSY 3 2 1 3 Read Modify Write Operation RMW Der Prozessor MC88100 besitzt als einzige RMW Operation den XMEM Befehl Bei seiner Ausf hrung wird ein Wort aus dem Speicher geholt und in ein Register geladen Der urspr ng liche Registerinhalt wird in die angegebene Speicherzelle geschrieben Der Speicher ist w h rend des ganzen Vorgangs f r andere Prozessoren bzw CMMUs gesperrt Die Steuersignale auf dem S Bus zeigen das gleiche an wie bei einem Einzelwort Lesezugriff und nach einer kurzen Idle Phase das eines Schreibzugriffs Der Unterschied zwischen den RMW und den Einzelwort Zugriffen ist am Lock Signal erkennbar Dieses ist ausschlie lich bei RMW Zugriffen gesetzt Allerdings ist das Lock Signal nur w hrend der Adre phase AP 1 am S Bus sichtbar An dieser Stelle ist anzumerken da das Select Signal f r diese Speicherzugriffe nicht w hrend der gesamten Aktion sondern nur w hrend der Lese und der Schreib Phase gesetzt ist In der dazwischenliegenden Modify Phase ist es nicht gesetzt Daher kann die Durchf hrung einer RMW Operation ausschlie lich am anfangs gesetzten Lock Signal erkannt werden 3 2 2 Steuers
190. ner An wendung von einem Sicherungspunkt aus nicht zu gef hrden Hier kommt die Idee des Stabi len Speichers ins Spiel Er sollte so ausgelegt sein da er auch unter Einflu von Fehlern in der Lage ist die abgelegten Daten sicher aufzubewahren Erste Vorschl ge f r ein Stabiles Sy stem bei dem der Stabile Speicher ein sehr wichtiger Bestandteil ist wurden von Lampson in den achtziger Jahren ver ffentlicht LAM88 Seine Vorstellung von einem Stabilen Speicher basiert auf der Verwendung von Plattenspeichern auf denen der Prozessor alle wichtigen Daten Motivation f r einen eventuellen Wiederanlauf h lt und aktualisiert F r Lampson war es zum einen besonders wichtig da die Daten sicher auf die Platte gelangen und dort unversehrt bleiben und zum anderen da ein Prozessor Crash der sich auch w hrend eines Updates eines Datenblocks im Stabilen Speicher ereignen kann letztendlich nicht zu ver lorenen Daten f hrt Da der Update eines Datenblocks nicht als atomare Aktion ablaufen kann sondern aus einer unterbrechbaren Hintereinanderausf hrung einzelner Schreibaktionen be steht ist zur Aufrechterhaltung eines konsistenten Datenblocks eine mehrfache Speicherung der Daten und ein kontrollierter Ablauf des Update Vorgangs n tig Eine fehlerkorrigierende Ko dierung z B mit ECC ist nicht ausreichend Die Gedanken Lampsons sollten nun auch f r Multiprozessorsysteme bertragen werden k n nen F r ein an der Unive
191. ng eines laufenden Transfers veranlassen k n nen beim Kommunikationsspeicher Timeout etwa 11 usec beim Koppelmodul Timeout etwa 15 usec im Prozessorinterface Timeout einstellbar zwischen 163 usec und 1310 usec Der Kommunikationsspeicher und das Koppelmodul geben in dieser Fehlersituation eine Error Antwort an das Prozessorinterface zur ck Dies l t sich im Prozessorinterface nicht von der Situation unterscheiden in der vom Kommunikationsspeicher ein bertragungsfehler Parity Error zur ckgemeldet wird da hierf r kein eigenes Signal auf der bertragungsstrecke vorge sehen ist Erreicht stattdessen das Prozessorinterface seinen Timeout so wird diese Information im Statusregister als Timeout Fehler vermerkt An den Prozessor bzw an die CMMU wird in beiden F llen eine Error Antwort zur ckgegeben Beim Kommunikationsspeicher kann der Grund f r das Erreichen der Timeout Zeit in der Nichteinhaltung des bertragungsprotokolls durch das Prozessorinterface durch das Koppel modul oder durch den Kommunikationsspeicher in Frage kommen Als weitere M glichkeit kann die St rung oder der Ausfall der bertragungsstrecke f r die Steuersignale in Betracht ge zogen werden Oder die Steuerung des Kommunikationsspeichers ist gest rt worden und befin det sich in einer Deadlock Situation Durch den Timeout kann sie sich daraus befreien Beim Koppelmodul kann der Grund darin liegen da die bertragung des Antwortsigna
192. nisregisters 22 2 2 no onen Zugriff des Anwenders auf den Puffer 2 2 2 Common Datenstruktur des Transfer und des Wiederholungsregisters Programm f r WRITE Auftrag 2 2 Comm nn Programm f r READ Auftrag 2 CC on nn Aufbau einer Kommunikationspage aus Sicht des Auftraggebers wenn er Schreibzugriffe durchf hren m chte 2 2 2 2 2m nennen Aufbau einer Kommunikationspage aus Sicht des Auftraggebers wenn er Lesezugriffe durchf hren m chte 2 2222 o nennen Aufbau einer Kommunikationspage aus Sicht des Stabilen Speichers Zustandsmenge und berg nge der Kombinationen zwischen KP Nummer und Pa wort o aoaaa Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb 33 34 35 36 37 38 39 40 41 42 43 44 45 46 Datenstruktur des Vermittlungsregisters oaoa a Programm f r den Auftrag ACCESS und Zubereitung der lokalen Parameter Passwort und BasisKP 2222220 Struktur der VIP zu 5er Sie ee ah a a ar a erde Internstruktur eines Knotens der zentralen Steuerung zentrale Steuerung als TMR mit Synchronisations Einheit Speicherplatine des Lagerbereichs 2 2 2 on nennen EMER Einheit mit Voter 2 2 4 2 22 ea Dan an ee au a a interner Aufbau des Voters 2 2 on nen physikalische Struktur des Stabilen Speichers 2 22 2222020 Ablauf eines Schleifendurchlaufs 2 2
193. nnen Daher mu sich der Stabile Speicher gerade bei einer solchen Aktion sicher sein da dieser Auftrag zu Recht gegeben wurde Das bedeutet vor allem da der Stabile Speicher in der Lage sein mu die ge w nschte Aktion auf ihre Glaubw rdigkeit hin zu beurteilen So wird ein neues Protokoll n tig dessen Einhaltung vom Stabilen Speicher st ndig berwacht und als korrekte Arbeitsweise des Auftraggebers inklusive der Verbindungs Hardware interpretiert werden kann Mit Hilfe des Protokolls sollen neben Hardware Fehlern auch Fehler in der Software erkannt werden die bei Zugriffen auf den Stabilen Speicher eine Rolle spielt Auch aus diesem Grund mu immer der korrekte Ablauf in seinen Zugriffsfolgen berwacht werden k nnen Die angesprochenen Schutzma nahmen gehen somit weit ber das hinaus was schon jetzt in vielen Rechnern zum Schutz vor Fehlern in den abgelegten und bertragenen Daten auf vielf l tige Weise eingesetzt wird Aber auch das Zusammenwirken der verschiedenen bereits vorhan Motivation denen Schutzmechanismen und der noch zu integrierenden Mechanismen vor allem zur ber wachung des Prozessors Proze ablaufs mit den M glichkeiten die der Stabile Speicher bie tet ist f r die gesamte Fehlertoleranz Situation in einem Multiprozessor sehr wichtig Die Einrichtung eines Stabilen Speichers stellt f r den Benutzer die M glichkeit dar wichtige Daten unter einen besonderen Schutz stelle
194. nologische Weiterentwicklung der Speicherchips zu immer h herer Kapazit t bringt zwar Vorteile bei der Implementierung eines gro en Speicherbereichs mit sich bez glich der Situation bei Ausfall eines Speicherchips ergibt sich aber eher eine Verschlechterung Bei Ausfall eines Speicher chips ist dann n mlich ein gr erer Teil der abgelegten Daten betroffen Daher sollte bei weiter wachsender Speicherkapazit t pro Chip auch die Kapazit t des Stabilen Speichers entsprechend vergr ert werden und nicht zum Einsatz deutlich weniger Speicherchips bergegangen wer den Eine M glichkeit die Folgen des Ausfalls eines Speicherchips auf eine kleinere Zahl von Wor ten zu beschr nken w re jedes Wort nicht in 32 4 Chips zu verteilen sondern beispielsweise nur in 8 1 Chips In diesem Fall w rde sich der Ausfall eines Speicherchips im Vergleich zur ersten L sung nur auf ein Viertel der Worte auswirken k nnen Diese Vorgehensweise h tte aber einen deutlichen Nachteil beim Abspeichern und beim Lesen jedes Wortes In diesem Fall m ten intern vier Zugriffe statt einem einzigen durchgef hrt werden bis das Wort abgespei chert bzw bereitgestanden w re Bei DRAM Bausteinen macht das schon eine sp rbare Ver l ngerung der gesamten Zugriffszeit aus Au erdem w rde die interne Ablaufkontrolle aufwen diger werden Ein Ausfall eines Speicherchips kommt dagegen so selten vor da auch bei der Verwendung von 144 Chips 36 x 4 pro Speicherplati
195. notens existieren k nnen so da zwischen ihnen kein Schutz gew hrleistet werden kann Bis jetzt wurde angenommen da ein Prozessorknoten nur vor bergehend ausf llt und an schlie end erfolgreich neu gestartet werden kann Nun wird vorgestellt welche Vorkehrungen im Host System erforderlich sind um auch bei einem dauerhaften Ausfall eines Prozessorkno tens auf die Stabilen Objekte des betroffenen Auftraggebers zugreifen zu K nnen 115 Ein Stabiler Speicher f r MEMSY Ein dauerhafter Ausfall eines Prozessorknotens von MEMSY bedeutet da ein anderer Prozes sorknoten die Arbeit des ausgefallenen bernehmen mu Da bei dem hier vorgestellten Stabi len Speicher keine Zuordnung zweier Prozessorknoten durch Hardware existiert hnlich der in Abschnitt 2 2 vorgestellten FTM BAN91 mu auf andere Weise ein Ersatz Prozessorkno ten bestimmt werden An dieser Stelle wird davon Gebrauch gemacht da der Stabile Speicher die zugreifenden Auf traggeber nicht unmittelbar voneinander unterscheiden kann sondern nur auf der Basis der be nutzten Kommunikationspage eine Zuordnung herstellt Daher kann ein zweiter Auftraggeber dem Stabilen Speicher vorspielen er sei der urspr ngliche Original Auftraggeber Dazu mu er nur alle Auftragsangaben korrekt bergeben Somit besteht f r die Bestimmung des Ersatz Prozessorknotens nur die Bedingung da dieser ebenfalls auf denselben Stabilen Speicher zu greifen kann wie der O
196. nsfer von den Auftraggebern n tig Alle weiteren Arbeiten wie das doppelte Ablegen und die Kontrolle ber das erfolgreiche Schreiben werden vom Stabilen Speicher ohne Mitwirkung des Auftraggebers durchgef hrt Der Nachteil dieser L sung ist allerdings da bis zur Beendigung des Auftrags eine Wartezeit in Kauf genommen werden mu auf deren L nge der Auftraggeber keinen Einflu hat und die er auch nur sehr schwer absch tzen kann Will er sich von der ordnungsgem en Abwicklung des Auftrags berzeugen mu er diese Zeit abwarten Gleiches gilt auch f r das Lesen eines Stabilen Objekts Bei der internen Bearbeitung konzentriert sich der Stabile Speicher jeweils auf ein einziges Ob jekt Daher ist in einer Fehlersituation i a nur ein einziges Stabiles Objekt davon betroffen und mu innerhalb des Stabilen Speichers ohne Einwirkung durch einen Auftraggeber korrigiert werden Mit der Speicherkopplung waren jedoch einige Probleme bei der Identifizierung der zugreifen den Prozessoren verbunden Die gr te Herausforderung stellte sich darin da auf Grund der Verwendung eines schaltbaren Verbindungssystems f r den Stabilen Speicher keine M glich keit bestand die einzelnen zugreifenden Prozessoren direkt voneinander zu unterscheiden Dies machte einen Pa wortschutz erforderlich und die berpr fung der Angaben des Auftraggebers zu seinem Auftrag Dadurch konnten fehlerhafte Zugreifer bereits vor dem Start einer Aktion auf gespeicher
197. nsspeichern gegeben ist existiert auch eine Interruptkopplung zwischen den Prozessoren Diese besteht immer aus einer gegenseitigen Interrupt M glichkeit auch wenn die Zugriffs m glichkeiten der beteiligten Prozessoren zu den Kommunikationsspeichern nur einseitig sind B Prozessoren k nnen auf die Kommunikationsspeicher der A Ebene zugreifen die A Prozes 16 Das Multiprozessorsystem MEMSY soren aber nicht auf die Kommunikationsspeicher in der B Ebene mn Interrupt Kopplung C Prozessor Knoten Pa S Zugriffswege zw Prozessoren und Kommunikationsspeichern Kommunikationsspeicher Abb 5 Verbindung der einzelnen Knoten innerhalb einer Ebene Ne dargestellt ist eine einzelne Reihe 3 1 Die Schnittstelle f r die Speicherkopplung Fiir MEMSY wurden die Prozessor Knoten aus tiblichen Motorola Systemen der M88K Reihe errichtet Sie enthalten als Prozessoren bis zu viermal den MC88100 Chip und bis zu achtmal den zugeh rigen Cache und Memory Management Bausteinen MC88200 oder MC88204 CMMU Weiterhin sind die Systeme mit lokalem Speicher 16 bzw 32 MByte Hauptspei cher und mit allen blichen Serviceeinrichtungen ausgestattet die f r ein Single Computer Sy stem erforderlich sind F r den Einsatz als speichergekoppeltes Multiprozessorsystem war die Erg nzung des Moto rola Systems um ein Interface erforderlich SFB93 Dafiir muBte eine geeignete Hardware Schnittstelle mit Steckverbinder gesucht und
198. ntwortlich ist 79 Ein Stabiler Speicher f r MEMSY Die FIFO Arbeitsweise des Puffers erfordert eine besondere Vorgehensweise beim Auftreten eines bertragungsfehlers der sich zwischen dem Pufferbereich des Stabilen Speichers und dem Auftraggeber ereignet Dabei wird angenommen da der bertragungsfehler transienter Natur ist so da eine Wiederholung des Einzelwort Transports erfolgversprechend erscheint Es sind zwei Situationen zu unterscheiden Schreibzugriff auf das Transferregister Lesezugriff auf das Transferregister Bei einem Schreibzugriff ist der Stabile Speicher st ndig in der Rolle des Empf ngers Er ber pr ft die Adresse und den bertragenen Wert auf Parity Fehler Bei Entdeckung eines Fehlers wird der gew nschte Zugriff nicht durchgef hrt Es erfolgt auch keine nderung bei der aktu ellen Transferadresse Dem Auftraggeber wird durch das Error Signal mitgeteilt da ein ber tragungsfehler aufgetreten ist Im Stabilen Speicher ndert sich dabei kein Eintrag Daher wird beim wiederholten Zugriff auf das Transferregister das zu schreibende Wort an der richtigen Stelle im FIFO Puffer eingetragen Etwas anders ist die Situation bei einem fehlerhaften Lesezugriff auf das FIFO Zun chst befin det sich der Stabile Speicher bei der Adre bertragung in der Empf ngerrolle und f hrt bei ei nem hier erkannten Fehler keine Aktion aus Der Anwender erh lt ebenfalls das Error Signal Diese Situation
199. om munikationspage aus Sicht der Auftraggeber genau in einer Page des Host Systems unterzu bringen 67 Ein Stabiler Speicher f r MEMSY Um hier eine Anpassung an verschiedene Systeme zu erm glichen wurde die M glichkeit ein gerichtet eine von vier m glichen Pagegr en zu nutzen Mit zwei Schaltern lassen sich die Pagegr en einstellen die das Host System hier das Motorola System benutzt 2 KByte 4 KByte 8 KByte 16 KByte Je nach eingestellter Gr e werden unterschiedliche Gruppen von 8 Bit aus der bertragenen physikalischen Adresse f r die Kennzeichnung einer Kommunikationspage verwendet siehe Abb 21 Aus dem Anwenderprogramm heraus kann die eingestellte Gr e abgefragt werden siehe auch Abschnitt 6 4 4 VIP Innerhalb einer Kommunikationspage wird bei allen m gli chen Pagegr en nur zwischen 256 Bytes 64 Worte unterschieden wobei die niedrigsten 8 Adre bits betrachtet werden Die weiteren h heren Adre bits bleiben unber cksichtigt g N eingestellte Host Pagegr e 31 18 11 7 0 2 KByte __ KP Nr KP Offset 31 19 12 7 0 4 KByte KP Nr KP Offset 31 20 13 7 0 8 KByte _ KP Nr KP Offset 31 21 14 7 0 16 KByte __ KP Nr ___ KP Offset Abb 21 Auswahl der Adre bits f r die angesprochene N Kommunikationspage bei verschiedenen Host Pagegr en e Die Verwendung der im Motorola System benutzten Pagegr e hat noch eine praktische Ne
200. on Aus weisen berpr ft worden ist Eine solche Vorgehensweise w re beim Stabilen Speicher nicht sinnvoll Denn hier benutzt der Auftraggeber keine physikalisch vorhandene Karte sondern nur das Wissen ber seine Zuord nung zu einer Kommunikationspage und sein Pa wort Das bedeutet da jeder Auftraggeber eine angebliche Zuordnung zu einer Kommunikationspage angeben kann unabh ngig von der Existenz einer nur einmal vorhandenen Berechtigungskarte W rde man nun eine Kommu nikationspage sperren nachdem mehrmals von einem fremden Auftraggeber versucht worden ist mit einem falschen Pa wort auf die Kommunikationspage zuzugreifen so s he der korrekt 71 Ein Stabiler Speicher f r MEMSY arbeitende Auftraggeber pl tzlich und ohne erkennbaren Grund seine Kommunikationspage ge sperrt Dieser Einflu eines fehlerhaft arbeitenden Auftraggebers auf einen korrekt arbeitenden Auftraggeber sollte vermieden werden Daher wird hier eine Kommunikationspage nach fehler haften Zugriffen nicht gesperrt Stattdessen werden bei der bernahme des Auftrags von der zentralen Steuerung weitere Schutzmechanismen eingesetzt die einen Auftrag mit nicht zusammenpassenden Angaben er kennen Dieser Auftrag wird dann nicht ausgef hrt Der Auftraggeber wird durch Eintr ge im Ergebnisregister dar ber informiert Weiterhin erlaubt die Puffersteuerung des Stabilen Speichers das Schreiben eines neuen Auf trags und der Parameter nur dann wenn d
201. onen Zum einen dienen sie als Konfigura tions und Zustandsregister zum anderen als Informationsregister die im Fehlerfall ausgewer tet werden k nnen In das Kommandoregister k nnen einige Angaben eingetragen werden die den Zugriff ber dieses Interface regeln Nach dem Einschalten des Motorola Systems soll es n mlich noch nicht m glich sein ber diese Schnittstelle auf die umgebenden Kommunikationsspeicher zuzugrei fen Dies dient dazu die vorhandenen Startup Routinen die das Motorola System in dieser Si tuationen durchf hrt nicht zu st ren Gleichzeitige Zugriffe auf Speicher die von mehreren Motorola Systemen erreichbar sind k nnten bei der Suche nach vorhandenem Speicher ohne Wissen da sich dieses System in einem speichergekoppelten Multiprozessorsystem befindet zu einer falschen Diagnose f hren Erst nach erfolgreichem Abschlu dieser Aktionen soll das Betriebssystem das ber das Multiprozessorsystem und ber die Kommunikationsspeicher Be scheid wei die Zugriffe ber diese Schnittstelle erm glichen Die Zuschaltung der Kommu nikationsspeicher erfolgt durch einen einfachen Speicherzugriff auf das Kommandoregister indem ein bestimmtes Bit gesetzt wird Ebenso kann auch eine Abschaltung dieser Zugriffs m glichkeiten durch L schen dieses Bits erreicht werden 29 Das Multiprozessorsystem MEMSY Als zweites l t sich im Kommandoregister einstellen ob ein beim Lesen erkannter Parityfe
202. onfiguration f r eine Fault Tolerant Machine FTM J Die beiden Maschinen A und B sind zun chst einmal eigenst ndige Rechner Durch die darge stellte Kopplung ber die STMs und die Peripherieger te bilden sie jedoch ein Backup Paar Sie sollen sich gegenseitig ersetzen k nnen wenn einer von ihnen durch einen Crash ausf llt Die Erkennung eines Crashes basiert hier auf der berwachung eines Watchdog Timers der von ei nem korrekt arbeitenden Prozessor regelm ig zur ckgesetzt wird Erkennt der Controller den abgelaufenen Watchdog Timer so kann der STM ber den anderen Controller den Backup Pro zessor von dem Ausfall des anderen Prozessors informieren damit dieser dessen Arbeit ber nehmen kann Ans tze f r einen Stabilen Speicher Die Minimalkonfiguration Kann zu einem gr eren Multiprozessorsystem erweitert werden Dabei bilden immer zwei Prozessoren mit ihren STMs und Peripherieger ten in der beschriebe nen Weise einen Fehlertoleranz Verbund siehe linken Teil der Abb 2 F r die Kommunikati on der Prozessoren untereinander gibt es zwei Busverbindungen An den einen sind die A Ma schinen aller Fehlertoleranz Verbunde angeschlossen an den anderen die B Maschinen Die Maschinen sind absichtlich nicht alle an einen Bus verbunden damit im Fall da ein Prozessor aufgrund einer Fehlersituation den Bus nicht mehr freigibt ein weiterer Bus zur Verf gung steht Dann k nnen immerhin noch die Prozessoren der anderen Gr
203. peicher eines Knotens und einem Kom munikationsspeicher notwendig Die Untersuchungen zur Transfer Leistungsf higkeit des Stabilen Speichers des Kommunika 118 MeBergebnisse tionsspeichers und des Koppelmoduls sollen vor allem kl ren mit welchen Ubertragungszeiten der Auftraggeber beim Abspeichern der Sicherungsdaten zu rechnen hat 71 1 Zugriffe einzelner Prozessoren auf den Kommunikationsspeicher Mehrere Prozessoren k nnen unabh ngig voneinander Zugriffe auf die Kommunikationsspei cher starten Dabei k nnen sich die Zugriffsw nsche am Kommunikationsspeicher zeitlich berlappen In Abschnitt 3 4 ber den Kommunikationsspeicher wurde bereits erl utert da die Steuersignale synchronisiert werden und eine Arbitrierung erfolgen mu bevor der Zugriff durchgef hrt werden kann Die Zeit die f r einen solchen Zyklus ben tigt wird begrenzt die Zugriffsrate am Kommunikationsspeicher Zwischen den Prozessoren und den Kommunikationsspeichern befinden sich bei MEMSY die Koppelmodule die die nachbarschaftlichen Verbindungen herstellen Auch hier wird jeder Zu griff vor allem wegen der Synchronisation und der Arbitrierung und zu einem geringen Teil we gen des Durchlaufs durch mehrere Treiberstufen zeitlich verz gert siehe Abschnitt 3 5 Kop pelmodul Der Einsatz eines einzelnen Stabilen Speichers innerhalb einer Elementarpyramide in MEMSY f hrt dazu da von mehreren Prozessoren Zugriffe auf denselben Speicheranschlu
204. pr fungen der Auftraggeberzu griffe auf ihre Rechtm igkeit Zum anderen werden durch diese Zugriffe auch sehr unter schiedliche Aktionen ausgel st Zu den einfachsten Aktionen geh ren Leseoperationen aus der VIP und Lese bzw Schreiboperationen welche die Parameterregister einer Kommunikations page betreffen KP 1 3 sofern die Zugriffe erlaubt sind Recht einfach gestalten sich auch die Lese Zugriffe auf das Ergebnisregister KP 4 und auf das Wiederholungsregister KP 6 Hier mu nur der entsprechende Inhalt des Registers zum Auftraggeber bertragen werden Beim Er gebnisregister wird dabei in das oberste Byte der Inhalt des Schadensregisters eingeblendet 121 MeBergebnisse Aber auch unzul ssige Zugriffe auf Register f hren zu sehr einfachen Aktionen bei Schreibzu griffen wird nichts getan bei Leseoperationen eine Null zur ckgeliefert Zugriffe auf andere Register einer KP f hren dagegen zu deutlich umfangreicheren Aktionen So bedeutet das Schreiben auf das Auftragsregister da neben dem Eintrag des Auftrags in die KP 0 noch folgende weiteren Aktionen auszuf hren sind in Phase 1 Sperren der Auftrags und Parameter Register gegen weitere Zugriffe bei Transfer Auftr gen Suchen und Belegen eines Pufferbereichs und Eintrag der Startadresse in KP 5 bei Schreib Auftr gen WRITE und CREATE_WRITE Pufferbereich zum Schreiben freigeben Eintrag der aktuellen Situation in das Ergebnisregis
205. r Ebene von MEMSY erkennen An allen Eckpunkten der Felder befindet sich jeweils ein Prozessorknoten und ein Kommunikationsspeicher Diese sind ber insgesamt zwei Ports mit den beiden an dieser Stelle zusammensto enden Koppelmo dulen verbunden sind siehe Abb 14 Auf diese Weise lassen sich A und B Ebene bilden GRY90 F r die Verbindung zwischen den Ebenen kann ebenfalls je ein Koppelmodul pro Elementar pyramide eingesetzt werden an das die vier Kommunikationsspeicher der A Ebene mit jeweils ihrem dritten Port an die M Ports und der dritte Port des B Prozessors an einen P Port des Kop pelmoduls angeschlossen wird Damit ist die erforderliche Verbindungsstruktur f r MEMSY geschaffen Alle Prozessoren einer Ebene k nnen ber zwei Koppelmodule auf den eigenen Kommunikationsspeicher und den der vier Nachbarn in den Himmelsrichtungen zugreifen und jeder B Prozessor kann zus tzlich die vier Kommunikationsspeicher seiner untergeordneten A Prozessoren erreichen 35 Das Multiprozessorsystem MEMSY Koppelmodul Abb 14 Realisierung der MEMSY Topologie mit Koppelmodulen dargestellt ist nur eine Ebene Im n chsten Kapitel wird auf die Platzierung des Stabilen Speicher innerhalb von MEMSY ein gegangen 36 Integration des Stabilen Speichers in MEMSY 4 Integration des Stabilen Speichers in MEMSY F r die Platzierung des Stabilen Speichers innerhalb des Multiprozessorsystems MEMSY mu ein geeigne
206. r Zeitpunkt f r die Korrektur zun chst verschoben Sie erfolgt im Rahmen einer regel m ig stattfindenden VERIFY Durchf hrung welche die zentrale Steuerung immer dann an st t wenn gerade kein Auftrag von einem Auftraggeber vorliegt Dabei werden der Reihe nach alle Stabilen Objekte ber cksichtigt Jedoch haben neue Auftr ge Vorrang vor dieser selbst n dig gestarteten VERIFY Ausf hrung Bei den Auftr gen CREATE DELETE und RELEASE werden nur Speicherverwaltungsaufga ben durchgef hrt siehe auch Abschnitt 6 5 2 bei denen Speicherbereiche belegt bzw freige geben werden Dazu werden einige Eintr ge in Objektbeschreibungen vorgenommen Diese sind wie die Stabilen Objekte doppelt in den beiden Objektspeichern abgelegt Sie werden ge nauso regelm ig berpr ft und gegebenenfalls korrigiert Allerdings sind sie nicht mit einer Checksumme gesichert da sie nicht daraufhin berpr ft werden m ssen ob sie vom Auftrag geber als konformer Datenblock bertragen worden sind Die wichtigsten Angaben der Ob jektbeschreibung bleiben w hrend der Lebensdauer eines Stabilen Objekts unver ndert wie ihre Gr e ihre Objektnummer ihr Besitzer und ihre Lage innerhalb der Objektspeicher Daher besteht bei ihnen nicht die Gefahr wie bei den Stabilen Objekten da w hrend eines Updates sowohl im alten Zustand wie auch im neuen Zustand aufgetretene Fehler zu einem Verlust die ser Informationen f hrt Zus tzlich sind in
207. r getrieben siehe Abb 8 Zu Beginn der Datenphase erscheint das DSTR Signal f r die Dauer eines Taktes 40 nsec W hrend dieses Zeitraums m ssen die WBi Signale g ltig sein denn sie werden zu dieser Zeit vom Kommunikationsspeicher bernommen Diese Signale entscheiden die Transferrichtung lesend oder schreibend Beim Schreibzugriff wird zu Beginn der Daten Phase d h gleich im Anschlu an die Adresse das zu transferierende Wort auf den Bus gelegt Das Prozessorinterface wartet nun so lange bis der Kommunikationsspeicher das MRDY Signal ausgibt Dabei ist der Zeitpunkt von Bedeu tung zu dem das MRDY Signal eine steigende Flanke besitzt Wechsel von 0 auf 1 Das Pro zessorinterface beendet nun den Schreibzugriff indem es das RDY Signal ber den S Bus an die CMMU weitergibt Bei einem Lesezugriff WB 0 3 1111 wird zu Beginn der Daten Phase die Transferrichtung des Busses umgekehrt Das Prozessorinterface erwartet das ausgegebene Wort vom Kommuni kationsspeicher Bei der steigenden Flanke des MRDY Signals wird das Wort im Prozessorin terface tibernommen und die Paritybits auf Korrektheit tiberpriift Ist alles in Ordnung so wird dieses Wort ber den S Bus an die CMMU mit einem RDY Signal weitergegeben Ist ein Uber tragungsfehler an einem falschen Paritybit erkannt worden so wird an Stelle des RDY Signals das ERR Signal an die CMMU weitergegeben Eine weitere Situation fiir die Beendigung eines Zugriffs auf einen Kommunik
208. raggeber rechtzeitig bemerken w rde und Alarm schlagen k nnte Daher ist an dieser Stelle eine hochwirksame Fehlererkennung und korrektur notwendig Voruntersuchungen zum Hardware Entwurf des Stabilen Speichers haben gezeigt da inner halb des Stabilen Speichers umfangreiche Arbeiten auszuf hren sind ROB93 Schon allein der normale Ablauf zum Schreiben und Lesen und zur Verwaltung der Stabilen Objekte f hrt zu vielen unterschiedlichen Bearbeitungsschritten Aber auch die m glichen Fehlersituationen in die die Stabilen Objekte kommen k nnen m ssen auf unterschiedliche Weise behandelt wer den F r deren Ausf hrung mu eine umfassend programmierbare Hardware zur Verf gung ste hen Ans tze die eine Hardware ohne Verwendung von Prozessorchips vorsahen hatten daher keine Aussicht auf Erfolg So wurde die zentrale Steuerung mit Hilfe von Transputern T805 auf gebaut und in der Programmiersprache Occam 2 programmiert OCC88 TDS88 TDD89 Es wird hier vorausgesetzt da die zentrale Steuerung korrekt programmiert worden ist Die Er f llung dieser Forderung l t sich nur sehr schwer nachweisen da das implementierte Pro grammsystem umfangreich ist Nur durch ausgedehnte Tests die gezeigt haben da das Pro gramm in der erw nschten Weise arbeitet kann man sich von der korrekten Arbeitsweise ber zeugen F r das unverz gliche Erkennen eines Fehlverhaltens und eine unterbrechungsfreie Fortf h rung der Bearbeitung wurde die
209. rale Steuerung des Stabilen Speichers v llig selbst ndig die Ausf hrung des Auf trags bernimmt Der Auftraggeber hat dann keinen Einflu mehr darauf Der Schutz bei der Auftragsvergabe wird durch die Vergabe eines Pa wortes erreicht Dieses mu bei allen Schreiboperationen zur Auftragsvergabe angegeben werden Ein Zugriff eines anderen Auftraggebers mit einem falschen Pa wort kann daher wirkungslos gemacht werden bevor ein Eintrag in den Auftrags und Parameterregistern durchgef hrt wird Die einzelnen Angaben die zur Bearbeitung eines Auftrags erforderlich sind sind hier zusam mengestellt die Angabe ber den Auftrag z B WRITE Die Anzahl der m glichen Auftr ge ist sehr begrenzt Zur Unterscheidung m ten etwa 4 5 Bits ausreichen Um aber flexibler zu bleiben wurden 8 Bit gew hlt 69 Ein Stabiler Speicher f r MEMSY die Angabe des zu bearbeitenden Stabilen Objekts Objekt Nummer In der aktuelle Implementierung sind maximal etwa 4000 Stabile Objekte f r einen Sta bilen Speicher vorgesehen Daher sind 12 Bit daf r ausreichend Es gibt keine prinzipiel len Schwierigkeiten die Maximalzahl auf 65000 zu erh hen wobei dann 16 Bit ben tigt w rden Allerdings m ten dann einige Implementierungsdetails bei der verwaltungs technischen Bearbeitung der Stabilen Objekte innerhalb des Stabilen Speichers ver ndert werden die Angabe ber die L nge des Stabilen Objekts Objekt L nge
210. ralen Steuerung mit Hilfe der Checksumme berpr ft Zur Feststellung eines konformen Da tenblocks wird w hrend der bertragung des Datenblocks vom Pufferspeicher in den ersten Ob jektspeicher die Checksumme von der zentralen Steuerung neu berechnet und mit der bertra genen Checksumme verglichen Der Zeitpunkt der Fehlererkennung befindet sich somit am Ende der ersten Update Phase Ist eine Korrektur n tig so mu nun die Backup Kopie auf die fehlerhafte Kopie bertragen werden um den alten Objektzustand wiederherzustellen Dieser Transfer 2 Kopie gt 1 Kopie erfordert genauso viele interne Transfers wie nun bei einer er folgreichen Ausf hrung des WRITE Auftrags ben tigt worden w re Pufferbereich 2 Kopie Daher ist die Dauer f r diesen Ablauf identisch zu der erfolgreichen Auftragsaus f hrung siehe auch Abschnitt 7 1 5 Bearbeitung durch die zentrale Steuerung Bei READ Auftr gen k nnte von der zentralen Steuerung auf die berpr fung der Checksum me des auszugebenden Datenblocks verzichtet werden denn das auszugebende Stabile Objekt das zuvor beschrieben worden war wurde dabei bereits korrekt abgespeichert Erfolgte dieser READ Auftrag auf ein angelegtes aber bislang unbeschriebenes Objekt so wird dies auf Grund der Eintragungen in der Objektbeschreibung von der zentralen Steuerung erkannt und eine ent sprechende Information im Ergebnisregister eingetragen Die Ausf hrungsdauer betr gt im zu 141 MeBergebni
211. rch die vorge sehenen 8 Bit f r die Auftragsangabe K nnten 256 verschiedene Auftr ge gekennzeichnet wer den Da es aber wesentlich weniger gibt existieren viele Kodierungen die keinen Auftrag be zeichnen Dies erkennt die zentrale Steuerung auch als Fehler Ist eine der Angaben falsch so wird der Auftrag abgebrochen und eine entsprechende Fehler mitteilung im Ergebnisregister der entsprechenden Kommunikationspage abgelegt Der Auftrag ist dann f r den Stabilen Speicher abgeschlossen Ein eventuell belegter Pufferplatz wird wieder freigegeben Sind alle Angaben korrekt so beginnt die zentrale Steuerung mit der Bearbeitung dieses Auf trags Je nach Auftrag sind sehr unterschiedliche Dinge zu tun Der Ablauf der Transferauftr ge orientiert sich grunds tzlich an der Vorgehensweise von Lampson LAM88 Dar ber hinaus werden zus tzliche Ma nahmen ergriffen so da noch mehr Fehler toleriert werden k nnen als bei Lampson So mu zu Beginn eines WRITE Auftrags sichergestellt sein da wenigstens eine der beiden alten Kopien fehlerfrei ist Daher wird als erstes eine der beiden Kopien ber pr ft Ist sie fehlerfrei so wird sie bei der Ausf hrung des WRITE Auftrags als Backup Ko pie 2 Kopie verwendet Ist sie aber nicht korrekt so wird auch die andere Kopie berpr ft Ist diese fehlerfrei so wird sie als Backup Kopie verwendet Fehlerfrei bedeutet da weder ein Parityfehler noch ein Checksummenfehler vorliegt Im Fa
212. rden Dies geschieht dann wenn der bergebene Datenblock vom Stabilen Speicher nicht akzeptiert worden ist Treten mehrere oder schwerwiegendere Fehler innerhalb des Stabilen Speichers auf und sind die verschiedenen Schutzmechanismen nicht mehr in der Lage die Fehler zu korrigieren so be steht die Gefahr da die Stabilen Objekte im Stabilen Speicher zerst rt werden k nnen Ein Beispiel f r einen schwerwiegenden Fehler w re der Ausfall einer der beiden Objektspeicher In solchen F llen m ssen die zugreifenden Anwenderprozesse m glichst bald dar ber infor miert werden Daher werden auch solche Schadensinformationen im Ergebnisregister vermerkt Die Menge der m glichen Auftr ge besteht zum Teil aus solchen die verwaltungstechnischer Art sind z B CREATE DELETE und solchen mit denen Stabile Objekte ver ndert gelesen oder berpr ft WRITE READ VERIFY werden Es sind dies e INFO Der Anwender erh lt allgemeine Informationen ber den Stabilen Spei cher z B Konfigurationsdaten e ACCESS Der Anwender m chte in Zukunft an der Nutzung des Stabilen Speichers teilnehmen Mit diesem Auftrag meldet er sich beim Stabilen Speicher an e RELEASE Der Anwender gibt die Nutzung des Stabilen Speichers wieder auf Alle Stabilen Objekte die er noch im Stabilen Speicher stehen hat werden ge l scht Der Speicherplatz kann wieder anderweitig genutzt werden e CREATE Der Anwender m chte ein neues Stabiles Objekt im Stabilen Sp
213. rdings beide Fehlererkennungs mechanismen machtlos Als Fazit l t sich sagen da bei einer Wortbreite von 32 Bit das Risiko sehr gering ist da ein Fehler unerkannt bleibt der durch das Einschleusen eines oder mehrerer falscher Worte an Stel le des richtigen Wortes in den mit einer Checksumme gesicherten Datenblock erzeugt wird Das gr te Risiko dabei ist immer noch jenes bei dem schon bei der Erzeugung des Datenblocks und der zugeh rigen Checksumme mit falschen Daten gearbeitet wurde F hrt dieser Prozessor keine fehlerhaften Zugriffe gegen ber dem Stabilen Speicher aus kann der Stabile Speicher daran kein vorhergehendes Fehlverhalten dieses Prozessors erkennen Hier ist der Stabile Spei cher berfordert Andere Einheiten wie z B eine Kontrollflu berwachung durch einen Watchdog k nnten hier eingreifen MIH91 Wichtig w re dabei da das Anhalten dieses Pro zessors erfolgt bevor er einen Auftrag an den Stabilen Speicher erteilt hat An diesem Beispiel wird deutlich wie wichtig eine durch mehrere Einheiten vollzogene Fehlererkennung und das Unsch dlichmachen des betroffenen Prozesses oder Prozessors ist Als weiteren Fehler mu der Stabile Speicher auch einen pl tzlichen Stop eines Prozessors to lerieren k nnen Bei einem Wiederanlauf mu sichergestellt werden k nnen da eine unterbro chene Aktion wieder bereinigt werden kann Dies wird wie die sp tere Beschreibung der Im plementierung zeigen wird siehe
214. reagiert werden erneuter Schreibzugriff auf den Puffer ber das Transferregister oder erneuter Lesezugriff auf den Puffer ber das Transferregister bei Adre fehler Lesezugriff auf das Wiederholungsregister bei Lese Datenfehler 80 Ein Stabiler Speicher f r MEMSY Auch an dieser Stelle besteht die bereits angesprochene Gefahr da mehrere bertragungsfeh ler die im gleichen Prozessorknoten aufgetreten sind zu ungekl rten Fehlersituationen f hren k nnen siehe Abschnitt 3 3 Prozessorinterface Der Inhalt des Transfer und des Wiederholungsregisters ist jeweils ein 32 bit Wort siehe Abb 26 Auf das Transferregister sind sowohl Schreib als auch Lese Zugriffe erlaubt aller dings nur dann wenn ein entsprechender Transfer zur Abwicklung eines Auftrags durchgef hrt werden soll und der Pufferplatz zur Verf gung steht Auf das Wiederholungsregister sind dage gen nur Lesezugriffe erlaubt Schreibzugriffe auf dieses werden dagegen nicht ausgef hrt KP 5 Transferregister KP 6 Wiederholungsreg _____ bertragenesWort Abb 26 Datenstruktur des Transfer und des Wiederholungsregisters Aus dem Wiederholungsregister kann im Gegensatz zum Transferregister zu jeder Zeit gelesen werden Damit ist sichergestellt da auch dann noch aus dem Wiederholungsregister gelesen werden kann wenn sich der Ubertragungsfehler beim Transfer des letzten Wortes des Daten blocks ereignet hat und der Pufferabschnitt b
215. register geschrieben wird die Eintragungen in den Parameterregistern bleiben bestehen F r diese Angaben sind 4 Bit im Ergebnisregister reserviert Bits 23 20 Solange im Ergebnisregister noch der Wert IDLE oder BUSY steht ist sein Auftrag noch nicht fertig Schreibzugriffe die w hrend dieser Zeit auf die Auftrags und Parameterregister ge w nscht werden werden nicht durchgef hrt Dies wird durch eine Hardware im Pufferbereich erreicht die bei jedem Zugriff auf die Auftragsregister die Berechtigung dazu kontrolliert Erst wenn im Ergebnisregister ein Wert steht der Aufschlu ber den Erfolg der angesto enen Operation gibt FERTIG Meldungen ERG_OK ERG_OLD oder FAIL Informationen ist der Auftrag vom Stabilen Speicher beendet worden Ab jetzt akzeptiert die Kommunikationspage auch wieder einen neuen Auftrag Bei READ Auftr gen w rde ab dieser Stelle das Lesen des Datenblocks durch den Auftragge ber folgen siehe Abschnitt 6 4 3 Die Freigabe der Kommunikationspage geschieht in diesem Fall erst nach dem Lesen des letzten Wortes des Datenblocks F r den Stabilen Speicher ist es nicht wichtig ob der Auftraggeber das Ergebnis auch liest oder nicht Er sperrt die Zugriffe auf Auftrags und Parameterregister dieser Kommunikationspage wenn das Auftragsregister beschrieben wird und gibt sie wieder frei wenn mit Ausnahme des READ Auftrags die zentrale Steuerung den Auftrag fertig bearbeitet hat Was der Auftraggeber w hrend
216. riginal Prozessorknoten Damit der Ersatz Auftraggeber im Bedarfsfall die Rolle des urspr nglichen Auftraggebers bernehmen kann mu der Original Auftraggeber ihm die aktuellen Informationen zu den be stehenden Stabilen Objekten mitteilen Dies kann ber die blichen Datenaustauschm glichkei ten von MEMSY erfolgen In der eingesetzten Software mu allerdings sichergestellt sein da die Verwendung dieser Informationen durch den Ersatz Auftraggeber ausschlie lich nach dem Ausfall des Original Auftraggebers erfolgt da der Stabile Speicher diese Alias Funktion nicht erkennen kann 116 MeBergebnisse 7 MebSergebnisse Der implementierte Stabile Speicher ist in das Multiprozessorsystem MEMSY eingebettet Hier soll er fiir mehrere Prozessoren wichtige Daten aufnehmen In erster Linie ist dabei an Siche rungsdaten gedacht die im Fall eines bei den Prozessoren aufgetretenen Fehlers fiir einen Wie deranlauf des Systems ben tigt werden Dabei sollte der Zeitbedarf f r eine Sicherung nicht zu hoch werden da diese Prozedur auch bei anhaltender Fehlerlosigkeit als Vorsorgema nahme immer wieder durchgef hrt werden mu Daher stand als erstes die Leistungsf higkeit des Stabilen Speichers im fehlerfreien Fall im Vor dergrund der Untersuchungen Dazu wurden Messungen der bertragungsraten zwischen Pro zessor und Kommunikationsspeicher und zwischen Prozessor und Stabilem Speicher durchge f hrt In der weiteren Fortf hrung d
217. rrigiert werden Liegt jedoch ein permanenter Fehler vor mu die Hard ware ausgewechselt werden Zur Fehlererkennung kann beim Lesen eines Wortes bzw eines Datenblocks die Auswertung der Parity Information und der Checksumme herangezogen wer den Ein beim Schreiben eines Wortes auftretender Zugriffsfehler l t sich durch ein anschlie Bendes Lesen und Vergleich mit dem urspr nglichen Wort Kontrollesen erkennen Auch ein auftretender Timeout kann auf einen Zugriffsfehler hindeuten 54 Ein Stabiler Speicher f r MEMSY 6 Ein Stabiler Speicher f r MEMSY In diesem Abschnitt wird der Stabile Speicher vorgestellt der f r das Multiprozessorsystem MEMSY entwickelt worden ist Die Anforderungen an diesen Stabilen Speicher orientieren sich an dem im letzten Kapitel vorgestellten Fehlermodell Daraus leitet sich seine Struktur ab Bei der Vorstellung seiner Arbeitsweise wird der Daten bertragung f r den Update eines Sta bilen Objekts besondere Beachtung geschenkt Als Stabiles Objekt wird die im Stabilen Spei cher abgelegte Kopie des Objekts bezeichnet das der Anwenderproze bergeben hat Daran schlie en sich die detaillierteren Beschreibungen der einzelnen Teilkomponenten an Die tole rierbaren Fehler und die Abwehrma nahmen dieses Stabilen Speichers werden bei den jeweili gen Abschnitten genauer dargestellt und am Ende dieses Kapitels zusammengefa t 6 1 Anforderungen an den Stabilen Speicher Die Anforderungen die an
218. rs eingehalten werden m ssen ist es erforderlich da die Auswahl des Pufferplatzes sehr einfach durchgef hrt werden kann Aus diesem Grund ist der Puffer in mehrere Abschnitte unterteilt die feste aber unterschiedliche Gr en besitzen Wird f r einen Datentransfer Pufferplatz ben tigt so wird ein geeigneter freier Bereich ausgew hlt und f r diesen Auftrag zur Verf gung gestellt 76 Ein Stabiler Speicher f r MEMSY Die verf gbaren Pufferpl tze und ihre Gr en sind lima 1M Worte 2 Worte 4mal 256K Worte 2 Worte 16mal 64K Worte 2 Worte 16mal 16K Worte 2 8 Worte 16mal 4KWorte 2 Worte Der Auftraggeber hat keine M glichkeit den tats chlich bereitgestellten Pufferplatz zu bestim men Er gibt nur an wie gro der Platz f r sein Objekt sein mu Ausschlie lich diese L ngen angabe bestimmt aus welchem Puffergr enbereich der Pufferplatz reserviert wird Beispiels weise erfolgt der Transfer eines 60 KWorte gro en Objekts ber einen Pufferplatz der Gr e 64 KWorte Diese 53 Pufferpl tze sollten ausreichen um allen gleichzeitig zugreifenden Auftraggebern Puffer zur Verf gung zu stellen Nur bei der Vergabe der beiden gr ten Bereiche 1 x 1 MW 4 x 256 KW k nnte es unter Umst nden Schwierigkeiten geben Bei zu vielen gleichzeitigen W nschen nach diesen gro en Bereichen mu eine Wartezeit in Kauf genommen werden Da gegen d rfte es bei den anderen Bereichen ka
219. rsit t Erlangen N rnberg entwickeltes speichergekoppeltes Multipro zessorsystem MEMSY das f r langlaufende Anwendungen gedacht ist sollte ein Stabiler Speicher eingerichtet werden Besonderes Kennzeichen von MEMSY ist die umfangreiche Ver bindungstopologie ber die die einzelnen Knoten mit Kommunikationsspeichern zum Daten austausch verbunden sind Da hier auch einige Ausf lle von bertragungswegen toleriert wer den k nnen sollte der Stabile Speicher hier integriert werden DAL94 Die Zugriffe ber diese Verbindungswege sind aber im Gegensatz zu den Zugriffen bei Lamp sons Vorschlag einfache Speicherzugriffe Diese k nnen wenn der Prozessor oder auch andere an der bertragung beteiligte Hardware nicht fehlerfrei arbeiten viel leichter zu einem Fehler in den abgespeicherten Daten f hren als dies beim Zugriff auf einen Plattenspeicher zu erwar ten ist da f r diese Zugriffe praktisch kein Protokoll zu beachten ist Daher mu der Stabile Speicher zus tzlich zu den von Lampson beschriebenen Fehlern auch mit anderen Fehlersitua tionen fertig werden Vor allem mu bei den Zugriffen daf r Sorge getragen werden da ein Prozessor nur auf seine eigenen Daten Zugriff hat und nicht auf andere Denn so etwas war beim Entwurf der Kommunikationsspeicher absichtlich erlaubt worden Besondere Aufmerksamkeit mu dem Ver ndern und L schen der abgelegten Daten geschenkt werden da diese Operationen die sicher geglaubten Daten zerst ren k
220. rt Obj l nge KP 3 Benutzerinfo Pa wort Benutzerinformation _ KP 0 KP 3 sind das Auftrags und die drei Parameterregister in einer Kommunikationspage Ke Abb 22 Datenstruktur der Auftrags und Parameter Register Be 70 Ein Stabiler Speicher f r MEMSY Aus der Zuordnung zwischen Kommunikationspage Nummer und dem Pa wort l t sich keine Gesetzm igkeit ableiten denn diese erfolgt quasi zuf llig Diese Kombination kann und wird blicherweise auch bei jeder Neuzuteilung anders sein Selbst nach einer Freigabe und einer an schlie enden Wiedervergabe dieser Kommunikationspage wird das neue Pa wort mit sehr ho her Wahrscheinlichkeit gt 99 anders sein als vorher siehe auch Abschnitt 6 4 4 VIP Mit der Angabe und der berpr fung des Pa worts bei jedem Schreibzugriff der das Ablegen eines Auftrags betrifft kann mit sehr gro er Wahrscheinlichkeit gt 99 sichergestellt werden da nur der berechtigte Auftraggeber in der Lage ist einen vollst ndigen Auftrag in seiner Kommunikationspage abzulegen Dabei wird angenommen da ein defekter Auftraggeber ei nen zuf lligen Wert f r das Pa wort angibt Dieser Schutzmechanismus ist somit in der Lage bei versehentlichen Zugriffen auf eine fremde Kommunikationspage von vornherein eine unbeabsichtigte nderung fremder Auf trags Angaben zu verhindern Solch versehentliche Zugriffe k nnten beispielsweise dann auf treten wenn ein falscher
221. rund liegt darin da alle knoteninternen Zugriffe mit einem festen Timing versehen sind Dies ist m glich da die internen Speicher alle aus SRAMs bestehen bei denen Zugriffe nicht durch ein erforderliches Refresh in unvorhersagbarer Weise verl ngert werden m ssen Nach au en hin gibt es eine Schnittstelle zu einem R ckwandbus an den auch alle Speicherpla tinen angeschlossen sind Weiterhin ist eine separate Synchronisierungseinheit f r die drei Kno ten Austausch oder Synchronisierungslogik ber diesen Bus erreichbar Erst die Zugriffe die ber eine dieser Schnittstellen f hren werden ber Voter geleitet und dabei leichte zeitliche Differenzen auf die oben beschriebene Weise synchronisiert In Abb 36 ist der Aufbau eines Knotens dargestellt N PER ttt tt EEE EEE EEE LEE LEE EEE LEE LEE LE LEE EEE EEE LE ee EEG N Programm Daten Speicher Speicher lokaler Bus eines Knotens Parity Check Gen yuuaunuuuauam nu sv vw unun AABBLBESBESE AABBLBBEEBEESE VOLLE EEE EL EI ZZ SB Schnittstelle zu den anderen Speicherplatinen SY Schnittstelle zu einer Synchronisationslogik A Abb 36 Internstruktur eines Knotens der zentralen Steuerung J 102 Ein Stabiler Speicher f r MEMSY 6 5 6 Die gemeinsame Synchronisations und Austausch Einheit der Knoten Ein Problem kann dann auftauchen wenn der Programmablauf in den Knoten eine Programm verzweigung erreicht und die M glichkeit besteht
222. s Pa wort ist mit abgespeichert Das Ergebnisregister ist nur mit den untersten 24 Bit belegt die oberen 8 Bit tragen einen be liebigen Wert In der Hardware der Puffersteuerung und in der Software der zentralen Steuerung wird daf r gesorgt da Null eingetragen ist Das allgemeine Ergebnisregister ist ein getrennt liegendes Register das von der zentralen Steuerung separat geschrieben wird Es ist aus Sicht des Stabilen Speichers nicht Teil einer Kommunikationspage Dieses Register wird nur bei Le sezugriffen des Auftraggebers an Stelle der obersten 8 Bit des Ergebnisregisters aus der Kom munikationspage eingeblendet Im Transferregister ist die aktuelle Adresse f r Worte untergebracht der beim Datentransport zwischen Auftraggeber und Pufferspeicher ben tigt wird Bei der bergabe eines WRITE Auf trags an die zentrale Steuerung ist hier die Basisadresse des Pufferabschnitts eingetragen Bei der Beendigung eines READ Auftrags durch die zentrale Steuerung mu hier von ihr die Start 86 Ein Stabiler Speicher f r MEMSY adresse des Datenblocks eingetragen werden bevor der Auftraggeber den Datenblock aus dem Pufferspeicher lesen kann Im Wiederholungsregister wird immer das zuletzt aus dem Puffer gelesene Wort eingetragen so wie es auch der Anwender sieht a N KP 0 Auftrag Pa wort Auftrag KP 1 Objekt Nummer Pa wort Obj Nr KP 2 Objekt L nge Pa wort Obj Lange KP 3 Benutzerinfo
223. s der Zustand des intakt gebliebenen Objektspeicher hineinkopieren Dies ist er folgreich solange in keinem Objekt ein Fehler vorlag und solange ein im Rahmen eines WRITE Auftrags bertragener Datenblock vom Auftraggeber fehlerfrei im Pufferspeicher ein getragen wurde Im letzten Fall ist wichtig da ein laufender Transfer eines Datenblocks Pufferspeicher gt Objektspeicher nicht durch den Ausfall des anderen Objektspeichers unter brochen wird Der vor bergehenden Ausfall des Pufferbereichs l t sich ebenfalls tolerieren da alle wichtigen Daten die im Pufferbereich in den Kommunikationspages und in der VIP vorliegen auch in den Objektspeichern gesichert sind Nach Wiederinbetriebnahme des Pufferbereichs k nnen diese Daten dort wieder eingetragen werden Die Stabilen Objekte in den Objektspeichern sind w h rend der ganzen Zeit durch das von der zentralen Steuerung ausgef hrte VERIFY gesch tzt Der Ausfall des Pufferbereichs wird im Gegensatz zu Ausf llen der anderen Platinen von den Auftraggebern sofort erkannt sofern sie aktuell mit einer Kommunikation mit diesem Stabilen Speicher besch ftigt sind Unterbrochene Auftr ge m ssen von ihnen dann neu erteilt werden W hrend die vor bergehenden Ausf lle als einzig aufgetretener Fehler zu verkraften sind kann ein dauerhafter Ausfall zum vollst ndigen Verlust aller abgelegten Stabilen Objekte f h ren Denn nur in dem Fall da zumindest der Pufferbereich die zentrale Steuerun
224. s fehlertolerant abgelegt belegt als 111 frei als 000 bin r Somit kann ein Einbit Fehler nicht dazu f hren da die Zugriffsm glich keit auf diese Kommunikationspage ge ndert wird hnliches gilt auch f r die Information ber die Sperrung des Pufferzugriffs Hier werden in f nf Bit die Informationen Zugriff nur auf 87 Ein Stabiler Speicher f r MEMSY 99 Auftragsregister erlaubt Zugriff weder auf Auftragsregister noch auf Puffer erlaubt nur Schreibzugriff auf Puffer erlaubt nur Lesezugriff auf Puffer erlaubt fehlertolerant codiert Auch hier ist ein Einbit Fehler tolerierbar Die Arbeitsweise des Stabilen Speichers ist so aus gelegt da solche Einzelbitfehler nach sp testens der gleichen Frist erkannt und korrigiert wer den wie entsprechende Fehler bei den Datenbl cken durch den regelm igen Check erkannt und behoben werden Die zentrale Steuerung kann auch auf die restlichen Eintr ge einer Kommunikationspage KP 8 KP 63 schreibend und lesend zugreifen In der derzeitigen Implementierung wird dieser Speicherplatz aber nicht genutzt 6 4 4 Die Vermittlungs und Informations Page VIP Bisher wurde beschrieben auf welche Weise ein Auftraggeber Zugriffe auf den Stabilen Spei cher durchf hren kann Dazu ist die Benutzung einer zugewiesenen Kommunikationspage not wendig In diesem Abschnitt wird erl utert wie einem zuk nftigen Auftraggeber eine Kommu nik
225. s liegt Die Daten des Sicherungspunkts m ssen ohne Fehler abgespeichert und auch mindestens bis zur n chsten Sicherungspunkterstellung fehlerfrei erhalten werden Das Lesen der Daten mu auch dann noch m glich sein wenn nach dem Auftreten eines Fehlers ein Prozessor inaktiv wird Dann mu ein anderer Prozessor seine Rolle berneh men k nnen An MEMSY werden auch Untersuchungen zur Adaptierbarkeit von Betriebssystemen an gr Benvarianten speichergekoppelten Multiprozessoren durchgef hrt Schlie lich werden auf der Anwenderseite die M glichkeiten zur Parallelisierung von Algorithmen untersucht die auf speichergekoppelten Multiprozessoren wie z B MEMSY laufen sollen Dabei soll der Anwen der in gewissem Ma Einblick in die Topologie von MEMSY haben damit er die umfangrei chen Kommunikationsm glichkeiten innerhalb des Systems vorteilhaft nutzen kann An dieser Stelle soll nun die Topologie von MEMSY vorgestellt werden Anschlie end werden die zu erwartetenden Fehler diskutiert die dann bei der Integration eines Stabilen Speichers ber cksichtigt werden m ssen MEMSY besteht aus einer Menge von Knotenrechnern DGH93a Die einzelnen Knotenrech ner sind auf zwei Ebenen verteilt auf die untere A Ebene und auf die obere B Ebene In nerhalb einer Ebene sind die Knotenrechner feldartig angeordnet wobei die R nder torusartig geschlossen sind Das bedeutet da alle Knotenrechner innerhalb einer Ebene auch
226. s noch alle angeschlossenen Kom munikationsspeicher zu erreichen Gegen ber dem Prozessorinterface und dem Kommunikationsspeicher stellen sich die bertra genen Signale so dar wie es diese beiden Einheiten voneinander erwarten Daher ist es f r einen Speicherzugriff unerheblich ob er ber ein Koppelmodul gef hrt wird oder nicht Nur im Zeit verhalten ist eine weitere Verz gerung dieses Zugriffs zu bemerken denn auch hier mu eine Synchronisierung der bertragenen Signale stattfinden Weitere Informationen ber das Koppelmodul sind in HIL91 und HIL92 zu finden 3 6 Realisierung der MEMSY Topologie mit Hilfe der Koppelmodule Die MEMSY Topologie bestehend aus Knoten Rechner und Kanten Verbindungswege ist innerhalb einer Ebene eine Gitterstruktur die an jedem Rand zur gegen berliegenden Seite ge schlossen ist Torus Betrachtet man die Kanten zwischen den Knoten als Seitenr nder von Quadraten und f rbt man diese Quadrate abwechselnd mit heller und dunkler Farbe ein so ent steht ein Schachbrettmuster Bei Feldern die eine gerade Anzahl an Knoten an jeder Seite be sitzen z B 4 x 4 Felder l t sich dieses Schachbrettmuster ber den Rand hinaus zur gegen berliegenden Seite verbinden Betrachtet man nun nur die dunklen Felder und interpretiert diese als Koppelmodule wobei die vier Kanten die internen Verbindungswege darstellen so l t sich bereits die ben tigte Anord nung der Koppelmodule innerhalb eine
227. s_ergebnisses OK oder FAIL C Abb 28 Programm f r READ Auftrag 2 Am Ende eines Auftrags kann der Auftraggeber das erhaltene Ergebnis auswerten F r die Ar beitsweise des Stabilen Speichers ist dies aber nicht notwendig Das Ergebnisregister gibt dem Auftraggeber Aufschlu dar ber wie sein Auftrag bearbeitet wurde Neben dem gew nschten Ausgang erfolgreiche Ausf hrung gibt es noch einige andere Ergebnisse die anzeigen aus welchem Grund ein Auftrag nicht ausgef hrt werden konnte Einige Dinge beziehen sich auf die bergebenen Angaben des Auftraggebers Wenn z B das angegebene Stabile Objekt nicht existiert oder zu einer anderen Kommunikationspage d h zu einem anderen Auftraggeber ge h rt f hrt der Stabile Speicher nichts aus und gibt im Ergebnisregister eine entsprechende Mit teilung aus Ebenso wird verfahren wenn die angegebene L nge nicht mit der im Stabilen Spei cher abgelegten Information bereinstimmt 83 Ein Stabiler Speicher f r MEMSY Andere Angaben beziehen sich auf den Mi erfolg bei der Bearbeitung des Stabilen Objekts im Stabilen Speicher Die Gr nde daf r k nnen zum einen darin liegen da der Auftraggeber bei der bergabe des Datenblocks falsche Angaben gemacht hat Beispielsweise pa t die im Stabi len Speicher berechnete Checksumme nicht mit der berein die der Auftraggeber bergeben hat Das kann sowohl auf einen Defekt dieses oder eines benachbarten Auftraggebers
228. scheiden des Knotens mu verhindert werden da ansonsten f r die weitere Auftragsabwicklung nur noch ein Master Checker Paar als Steuerung vorhanden w re Aus diesem Grund werden alle Zugriffe der Steuerung auf die angeschlossenen Speicherplati nen das sind die Pufferplatine und die beiden Objektspeicher ber je einen synchronisierenden Voter gef hrt Dieser kann Zugriffsaktionen deren Start zeitlich leicht differieren als gleich zeitig eingetroffen betrachten und diese Zugriffe zu einem gleichzeitigen Ende f hren siehe auch Abschnitt 6 7 Voter Da diese Zugriffe ber die bei der Bearbeitung aller Aktionen auf dem Stabilen Speicher sehr h ufig und regelm ig durchgef hrt werden erfolgt auch st ndig diese Synchronit tskontrolle und falls n tig die Synchronisierung Die st ndige Sorge um die Aufrechterhaltung der Synchronit t ist auch bei anderen Rechnern mit einem TMR Kern als ein zentraler Punkt erkannt worden wie z B bei der Integrity S2 Dieser Rechner ist daf r ausgelegt Unix basierenden Anwendungen eine sehr hohe Verf gbar keit zu bieten Hier laufen die einzelnen Knoten wie im vorgestellten Stabilen Speicher nicht unbedingt taktsynchron sondern m ssen sich sp testens nach einer eng begrenzten Zeit wieder synchronisieren JEW91 Besonders in den Situationen in denen Ausnahmen wie Fehlerer eignisse zu behandeln sind wurde besonderes Augenmerk auf die Synchronit t des TMR Kerns gelegt Alle Schr
229. sfer zwischen dem Puf 117 MeBergebnisse ferbereich und den Objektspeichern Am Ende dieser Phase wird im Ergebnisregister eine Information ber den Verlauf korrekt oder fehlerhaft dieser Aktion eingetragen F r die zentrale Steuerung des Stabilen Speichers ist zu diesem Zeitpunkt der Auftrag beendet Der Auftraggeber kann nun den Verlauf des Auftrags ablesen Bei fast allen Auftr gen ist nun alles beendet was diesen Auftrag betrifft e 4 Phase Nur bei einem READ Auftrag schlie t sich eine vierte Phase an In ihr liest der Auftrag geber den Datenblock aus dem Pufferbereich Interessant f r Messungen waren vor allem die Auftrags bergabe und die Situationen in denen Datenbl cke transferiert werden m ssen Zwischen dem Auftraggeber und dem Stabilen Spei cher erfolgt dies in den Phasen 1 und 4 F r den Ablauf in der zentralen Steuerung des Stabilen Speichers ist dagegen die Phase 3 interessant Da alle Phasen nicht berlappend sondern hinter einander ausgef hrt werden konnten diese Messungen unabh ngig voneinander vorgenommen werden F r die Phase 2 waren Messungen nicht sehr aussagekr ftig da die Wartezeit haupts chlich von den Auftr gen abh ngt die von den verschiedenen Auftraggebern gleichzeitig an denselben Stabilen Speicher bergeben werden Die zentrale Steuerung f hrt diese hintereinander aus Es lassen sich jedoch Absch tzungen daf r angeben die aus den Ergebnissen der zuvor erw hnten Messungen abge
230. sind dabei maximal 20 Bit lang Das 12 Bit lange Pa wort ist linksb ndig im geschriebenen Wort eingetragen Die physikalischen Adressen unter denen der Auftraggeber die Register KP 0 bis KP 5 an sprechen kann ist zum einen abh ngig von dem Adre bereich unter dem der Auftraggeber den Stabilen Speicher sieht und zum anderen von der vergebenen Kommunikationspage Wie er diese erh lt ist im Abschnitt 6 4 4 ber die VIP beschrieben 82 Ein Stabiler Speicher f r MEMSY hnlich ist die Vorgehesweise beim READ Auftrag siehe Abb 28 READ Auftrag ergebnis KP 4 amp 0x000FFFFF bereit fuer neuen Auftrag if ergebnis IDLE ergebnis BUSY return KP 1 Passwort Objektnummer KP 2 Passwort Objektlaenge und als letztes KP 0 Passwort RD Auftrag Unter den Angaben Passwort Objekt ist die entsprechend formatierte Version zu verstehen ergebnis KP 4 amp 0x00F0000 while ergebnis P FULL warte gewisse Zeit KP 0 Passwort RD Auftrag ergebnis KP 4 amp 0x00F0000 ergebnis IDLE oder BUSY oder eine Fehlermeldung Der Stabile Speicher ist nun an der Reihe do warte gewisse Zeit ergebnis KP 4 amp Ox000FFFFF while ergebnis IDLE ergebnis BUSY Lese Objekt mit Checksumme aus dem Puffer for i 0 i lt Objektlaenge i Objekt i KP 5 auswertung_de
231. sprotokoll abgearbeitet Dies mu in ein anderes wenn auch hnliches Speicherzugriffsprotokoll f r die Kommunikationsspeicher umgesetzt werden 20 Das Multiprozessorsystem MEMSY Die m glichen Speicherzugriffsoperationen sind Schreiben eines einzelnen Wortes oder eines Halbwortes oder eines Bytes Lesen eines einzelnen Wortes oder eines Halbwortes oder eines Bytes Burst Schreiben Schreiben von 4 Worten die an aufeinanderfolgenden Adressen liegen Burst Lesen Lesen von 4 Worten die an aufeinanderfolgenden Adressen liegen Durchf hrung eines Read Modify Write Befehls RMW Befehls XMEM Operation Zun chst wird der Ablauf beim Schreiben bzw Lesen eines einzelnen Wortes erkl rt Die drei anderen Zugriffsoperationen lassen sich danach leicht daraus ableiten 3 2 1 1 Einzelwort Zugriff auf den Speicher ber den S Bus Die Durchf hrung eines Speicherzugriffs wird von der CMMU gesteuert Der Prozessor st t die CMMU dazu nur an und wartet auf ihre Fertigmeldung von ihr Das Motorola M88K System verf gt ber einige Select Signale MEMB 0 3 von denen beim Speicherzugriff genau ein Signal aktiviert wird MEMBi 0 Es gibt an auf welchem Speicherboard dieser Zugriff durchgef hrt werden soll Dieses Signal bleibt so lange aktiv bis der Zugriff beendet ist W hrend dieser Zeit liegt die Adresse auf dem Adre bus an Auch das Schreib Lese Signal RD ist von Beginn des Zugriffs bis zum Ende
232. sse letzt beschriebenen Fall unter einer Millisekunde Dennoch wurde die berpr fung der Checksumme bei READ Auftr gen beibehalten da sie sich kaum in der Ausf hrungszeit bemerkbar gemacht hat Denn f r Me zwecke hatte dies ei nen Vorteil da mit ihrer Hilfe die Reaktion der zentralen Steuerung auf einzelne Bitfehler ber pr ft und ihr Zeitverhalten ermittelt werden konnte Beim Auftreten von Parityfehlern wird n mlich ein ganz hnlicher Ablauf ausgef hrt wie es nun beim Auftreten eines internen Check summenfehlers der Fall ist Ein Checksummenfehler l t sich in einem Testmodus leicht durch das nachtr gliche Schreiben eines Wortes provozieren w hrend dies bei den Paritybits nicht m glich ist Der hnliche Ablauf beim Auftreten von Parityfehlern und der beim Checksummenfehler r hrt daher da auftretende Parityfehler zwar bei jeden Zugriff der zentralen Steuerung in jeder ein zelnen Einheit der TMR Steuerung entdeckt werden aber nicht unmittelbar an den jeweiligen Prozessor weitergegeben werden Somit f hren sie nicht unmittelbar zu einer Wiederholung des Transfers Stattdessen wird diese Information ber einen Parityfehler von den drei Einheiten der TMR Steuerung bei jedem Speicherzugriff ber einen separaten Voter 3 x 1 Bit gef hrt und das Mehrheitsergebnis mit dem bisherigen Resultat verkn pft Am Ende eines Datenblocktrans fers wird diese Information ausgewertet und das Summenbit f r die Parityfehler wieder zur
233. ssertation Arbeitsberichte des IMMD Band 25 Nr 6 Erlangen September 1992 Michel E Hohl W Concurrent Error Detection Using Watchdog Processors in the Multiprocessor System MEMSY Proceedings of 5th International Conference on Fault Tolerant Computing Systems N rnberg Informatik Fachberichte 283 Berlin Springer S 54 64 1991 Motorola MC88100 RISC Microprocessor User s Manual 2 Edition Prentice Hall Englewood Cliffs New Jersey 07632 Motorola MC88200 Cache Memory Management Unit User s Manual 2 Edition Prentice Hall Englewood Cliffs New Jersey 07632 Motorola MC88204 Technical Summary 64K Byte Cache Memory Management Unit CMMU Motorola MC88204 D 1991 Majzik I Pataricza A Dal Cin M Hohl W Honig J Sieh V Hierarchical Checking of Multiprocessors Using Watchdog Processors in Echtle K Hammer D Powell D Eds Dependable Computing EDCC 1 Lecture Notes in Computer Science LNCS 852 Berlin Springer S 386 403 1994 Motorola MVME188 VMEmodule RISC Microcomputer User s Manual Motorola MVME188 D1 September 1989 Inmos OCCAM 2 Reference Manual Inmos Limited Prentice Hall New York 1988 Okoth I Smarte Flash Konzepte in Design amp Elektronik 20 Ausgabe S 22 23 Oktober 1994 Patterson D A Hennessy J L Computer Architecture Morgan Kaufmann Publishers San Mateo California S 506
234. ssung der tolerierbaren Fehler Der hier vorgestellte Stabile Speicher ist in der Lage verschieden Hardware Fehler sowie eini ge Software Fehler zu tolerieren die in den Prozessoren des Host Systems und auf den ber tragungswegen zum Stabilen Speicher auftreten K nnen Bei der Hardware sind dies Einbit Fehler auf den Ubertragungswegen Parity bertragung ber falsch geschalteten Weg Pa wort Checksumme Ausfall einer der beteiligten Einheit beim Zugriff auf den Stabilen Speicher w hrend ei nes einzelnen Wort Transfers Timeout Die Tolerierung von St rungen die sich auf den bertragungswegen ereignen wird dagegen mit Ma nahmen zur Fehlerverhinderung betrieben Differenz bertragung der Steuersignale Software Fehler des Auftraggebers k nnen nur sehr eingeschr nkt als solche vom Stabilen Speicher erkannt werden Diese beziehen sich auf die Auftragserteilung Verletzung des Protokolls das den Ablauf der Auftragserteilung und die Daten bertra gung betrifft Sperre der Auftrags und Parameterregister Sperre des Pufferbereichs Auftragsvergabe ohne Angabe von Parametern L schen der Parameterregister am Ende einer Auftragsbearbeitung bertragung eines Datenblocks mit inkonsistentem Inhalt Checksumme Andere Software Fehler haben gegen ber dem Stabilen Speicher die gleiche Erscheinungsform wie Hardware Fehler z B das versuchte Schreiben von Auftrags Parameter und Abbruch regist
235. sucht werden m ssen Die Suchl nge bestimmt daher die tats chliche Ausf hrungsdauer Dagegen gibt es bei der Su che nach einem geeigneten Pufferplatz die im Rahmen einer Auftragsvergabe Schreibzugriff auf KP 0 erfolgt keine unterschiedliche Suchdauer da hier immer nur ein einziger Eintrag aus der Datenbasis f r die Pufferbelegung untersucht werden mu Dennoch ergeben sich auch bei der Auftragsvergabe unterschiedliche Ausf hrungsdauern da in Abh ngigkeit davon ob der bergebene Auftrag mit einem Datentransfer verbunden ist oder nicht verschiedene Aktionen ausgef hrt werden m ssen Werden vom Auftraggeber Zugriffe auf den Pufferbereich gestartet die zum aktuellen Zeit punkt nicht erlaubt sind so wird ebenfalls eine andere Aktionenfolge ausgef hrt als unter nor malen Umst nden in denen diese Zugriffe erlaubt sind Hier sind die wichtigsten ung ltigen Zugriffe aufgef hrt Zugriff auf eine unbelegte Kommunikationspage Schreibzugriff auf Auftrags oder Parameter oder Abbruch Register mit falschem Pa wort Zugriffe auf das Auftrags und auf die Parameter Register wenn der Auftrag schon ins Auftrags FIFO bergeben worden ist Zugriff auf das Transfer Register wenn derzeit keine Erlaubnis dazu besteht Schreib bzw Lese Zugriff wird nur in den Transferphasen w hrend eines Transferauf trags erlaubt Zugriff auf das Abbruch Register au erhalb der Transferphasen Zugriff auf generell verbo
236. t m glich im Stabilen Speicher nach diesen Informationen zu suchen denn das w rde die eingangs erw hnten Schutzvorkehrungen umgehen Daher m ssen die genannten Informationen im Bereich des Prozessorknotens au erhalb des Hauptspeichers aufgehoben werden wo danach gesucht werden kann z B auf einer lokalen Magnetplatte Die dabei abzulegenden Daten k nnen z B aus der Kommunikationspage Num mer dem Pa wort und aus einer Liste aller Objektnummern mit ihrer L ngenangabe bestehen Diese Liste mu st ndig aktuell gehalten werden Ein Zugriff auf diese Daten ist allerdings nicht bei jedem Zugriff auf ein Stabiles Objekt n tig sondern nur bei der erfolgreichen Vergabe einer Kommunikationspage und eines Pa wortes Auftrag ACCESS und beim Anlegen und L schen eines Stabilen Objekts CREATE DELETE Solange ein Stabiles Objekt nur wiederholt mit neuen Daten beschrieben wird WRITE ist dagegen kein Zugriff auf diese Datenstruktur auf der Platte n tig Gleiches gilt auch f r das Lesen des Stabilen Objekts READ Bei MEMSY existiert in jedem Prozessorknoten eine lokale Platte auf die nur die in diesem Knoten befindlichen Prozessoren zugreifen k nnen nicht aber Prozessoren aus den benachbar ten MEMSY Knoten Daher sind diese Informationen vor fehlerhaft arbeitenden Nachbarpro zessoren gesch tzt Allerdings besteht auch hier wieder das in Abschnitt 3 3 Prozessorinter face angesprochene Problem da mehrere Auftraggeber innerhalb eines K
237. t werden und d rfen sich nicht ausbreiten im Fall eines innerhalb des Stabilen Speichers aufgetretenen dauerhaften aber begrenzten Fehlers mu es noch m glich sein die Arbeitsweise fortzusetzen solange sich kein zwei ter Fehler ereignet die Prozessoren m ssen aber ber diesen Fehler informiert werden k nnen damit sie in angemessener Zeit noch geeignet reagieren k nnen z B durch Ver lagern ihrer Daten in einen anderen stabilen Speicher spontane Ver nderungen in den abgespeicherten Daten m ssen intern behebbar sein von au en darf dieser Fehlereinflu nicht bemerkt werden im Fall eines Versagens einen neuen Zustand eines Objekts zu erzeugen Update mu der alte Zustand vor Beginn der Update Operation wiederhergestellt werden k nnen Der Ablauf einer Zugriffsoperation wird auf die Weise ablaufen da sie vom Anwenderproze mit wenigen Zugriffen angesto en wird innerhalb des Stabilen Speichers aber umfangreiche Aktionen zur Folge haben wird Da diese von au en nicht berwacht werden k nnen mu in tern f r eine umfassende Fehlererkennung gesorgt werden Mit einer TMR Schaltung Triple Modular Redundancy mit einem Voter lassen sich aufgetretene Fehler eines der drei Subsyste me an den Ausg ngen der Schaltung sofort erkennen und im Gegensatz zu einem Master Checker Paar auch ohne Unterbrechung der aktuellen Bearbeitung maskieren Bis zum Auftre ten eines weiteren solchen Fehlers ist eine Weiterarbe
238. te Stabile Objekte mit hoher Wahrscheinlichkeit erkannt und deren Zugriff wir 143 Zusammenfassung und Ausblick kungslos gemacht werden Deutlich gr er war die Latenzzeit zum Erkennen eines fehlerhaft bertragenen Datenblocks Dennoch konnte bei Schreibzugriffen durch die zweifache Speicherung des Datenblocks im Stabilen Speicher der alte Zustand des Stabilen Objekts wiederhergestellt werden Diese dop pelte Abspeicherung war auch die Basis f r die Rekonstruktion eines zum Teil fehlerhaften Ob jekts Die Fehler konnten dabei vom auftraggebenden Prozessor selbst kommen der auf Grund eines eigenen Defekts den Datenblock fehlerhaft bertragen hat oder ein defekter Nachbarpro zessor oder eine St rung bei der Wegewahl vom Prozessor zum Stabilen Speicher war f r den Fehler verantwortlich Auch spontane Ver nderungen in den abgelegten Daten und der vor ber gehende Ausfall eines Objektspeichers konnte damit toleriert werden Der wegen seiner Allmacht sensibelste Teil des Stabilen Speichers gegen ber unerkannten Fehlern ist die zentrale Steuerung Hier wurde durch den Einsatz eines TMR Systems eine un mittelbar wirkende Fehlertoleranzma nahme implementiert Ein Ausfall eines Knotens der TMR Schaltung kann somit toleriert werden ohne die Bearbeitung eines Auftrags in einem Zu stand unterbrechen zu m ssen in dem ein Stabiles Objekt nicht als zweifache Kopie vorliegt Erst nach dessen Sicherstellung wird eine Fehlerbehe
239. tene Register z B Schreiben auf VIP Lesen von KP O In Tab 4 sind f r jeden Auftraggeber Zugriff die Anzahl der Zugriffe auf die KP Eintr ge das Schreiben ins Auftrags FIFO der Transfer mit dem Pufferspeicher und die Zeit vermerkt die die Steuerung mit diesen Aktionen besch ftigt ist Die in den Fehlersituationen g ltigen Anga 125 MeBergebnisse ben sind mit einem F gekennzeichnet Lese Zugriff Schreib Zugriff Zahl der Aktionen Zahl der Aktionen FIFO Zugriff FIFO Zugriff Puffer Transfer Puffer Transfer ben tigte Zeit ben tigte Zeit VIP 0 0 75 usec F VIP 62 2 0 usec VIP 63 Pe 0 75 usec F 8 usec ee a falscher Auftrag an 0 9 usec Auftrag ohne Dat Transf KP 0 41 1 6 usec Auftrag mit Dat Transfer 81 2 3 usec KP 1 1 0 usec KP 2 Abbr in falscher Situation OA H 1 2 usec Abbr in richtiger Situation S 2 0 usec KP 8 0 75 usec F KP 63 Tab 4 Zugriff eines Prozessors auf die VIP und die KP des Stabilen Speichers 126 MeBergebnisse Die Fehlersituation Zugriff auf eine unbelegte Kommunikationspage ist in Tab 4 nicht ver merkt In diesem Fall dauert die Ausf hrung eines gew nschten Lesezugriffs 0 9 usec Dabei wird immer eine Null an den Prozessor zur ckgeliefert Ein beabsichtigter Schreibzugriff auf eine unbelegte Kommunikationspage wird nicht ausgef hrt Zur Erkennung und zur kontrollier ten Beendigung des Z
240. ter bei allen Auftr gen mit Ausnahme der Schreib Auftr ge Eintrag der KP Nummer in das Auftrags FIFO die zentrale Steuerung erh lt daraus die Information ber die vorliegenden Auftr ge hnlich aufwendig gestalten sich die Zugriffe auf das Transferregister KP 5 Hier m ssen fol gende Aktionen durchgef hrt werden in Phasen 1 und 4 berpr fung ob der gew nschte schreibende bzw lesende Zugriff zur Zeit erlaubt ist oder nicht im Fall der Erlaubnis wird mit den folgenden Aktionen weitergefahren Schreib bzw Lese Zugriff auf den Puffer wobei die gespeicherte aktuelle Transferadres se verwendet wird nur bei dieser Aktion mu im Pufferbereich ein Zugriff ber die Zu griffskontrolle hinaus in den Pufferspeicher erfolgen siehe Abschnitt 6 4 Pufferbereich Dekrementieren dieser Adresse und Zur ckschreiben ins Register bei Lese Transfers Ubergabe des aus dem Puffer erhaltenen Wortes an den Kommunikationsspeicher zur Weitergabe an den Prozessor und Eintrag ins Wiederholungsregister KP 6 Feststellung ob dieser Transfer die bertragung des letzten Wortes aus dem Objekt ist falls dies so ist mu mit den folgenden Aktionen weitergefahren werden Sperrung des Pufferbereichs bei Lese und Schreib Transfers bei Lese Transfers mu die Sperre der Auftrags und Parameter Register wieder aufgeho ben werden da in diesem Moment die gesamte READ Operation des Anwenders beendet wird
241. ter Ort gefunden werden Dabei sind folgende Punkte zu ber cksichtigen Es m ssen mehrere Wege zum Stabilen Speicher vorhanden sein um auch bei Ausfall ei ner Verbindung weiterhin Zugriff auf diesen zu haben Auf der gesamten bertragungsstrecke mu eine Erkennung von Ubertragungsfehlern gew hrleistet sein Am Stabilen Speicher m ssen Schutzm glichkeiten eingerichtet werden k nnen die es defekten Prozessoren nicht erlauben Ver nderungen in den im Stabilen Speicher abge legten Daten vorzunehmen Mehrere Prozessoren sollen einen Stabilen Speicher gemeinsam nutzen k nnen um die sen zus tzlichen Aufwand beschr nken zu k nnen Der Stabile Speicher sollte m glichst gro e Unabh ngigkeit von fehlerverursachenden Einheiten haben Das Multiprozessorsystem MEMSY besitzt eine umfangreiche Verbindungsstruktur In ihr k nnen jeweils mehrere Prozessorknoten auf gemeinsame Speicherbereiche Kommunikations speicher zugreifen Weiterhin ist das Verbindungsnetzwerk intern so ausgelegt da es von je dem Prozessorknoten aus je zwei Wege gibt ber die der Zugriff zu seinen erreichbaren Kom munikationsspeichern ablaufen kann Dies ergibt sich aus der Implementierung des Koppelmo duls mit dem die Verbindungsstruktur implementiert worden ist siehe auch Abschnitt 3 6 MEMSY Topologie Da diese Verbindungsstruktur bereits in hohem Ma e die Voraussetzun gen f r die Umgebung des Stabilen Speichers bietet wurde f r
242. tigt wird so hat dieser Fehler keinen Einflu Anders ist es wenn die Variable noch genutzt wird Dann kann die fehlerhafte Ver nderung einen falschen Ablauf der weiteren Berechnungen her vorrufen Wie stark die Auswirkungen sind l t sich ohne Wissen ber das Programm aber nicht vorhersagen 5 3 Abwehrma nahmen gegen Fehler in der Motorola Hardware Das Multiprozessorsystem MEMSY ist aus verschiedensten Teilen aufgebaut Den Kern des Systems bildet ein handels bliches System von Motorola das selbst aus mehreren Komponen ten besteht Erweitert wurde das System durch eigene Entwicklungen die im wesentlichen aus den Kommunikationsspeichern mit der Verbindungshardware und aus der Interruptkopplung bestehen Das Motorola System ist standardm ig mit einigen Fehlererkennungsmechanismen ausgestat tet Die meisten wirken gegen Fehler die in der Software auftreten k nnen Dagegen ist gegen Hardware Fehler nur ein geringer Schutz vorhanden Fehler dieser Art werden offenbar nicht so h ufig erwartet 5 3 1 Ma nahmen gegen Software Fehler Das Betriebssystem eines Rechners ist ein sehr umfangreiches Programmpaket Meistens wird es von vielen Personen in Teamarbeit erstellt und immer wieder ver ndert Daher ist es nicht verwunderlich da sich hier Fehler einschleichen k nnen Das Betriebssystem ist aber gleich zeitig das wichtigste Programm das der Rechner f r seine Arbeit ben tigt Somit sind die Rech ner gegen ber Fehlern die
243. tigten Zugriffen auf die abgespeicherten Objekte gew hrleisten zu K nnen Dabei spie len Kommunikationspages innerhalb des Pufferbereichs eine gro e Rolle 58 Ein Stabiler Speicher f r MEMSY 7 zum lokalen Bus eines Kommunikationsspeichers Puter we lke AX Pufferbereich SITIIYIYINIYIYIYIITITIIIIIIT 7 7 4144444414 444A ALA SSS Verarbeitungs bereich 4414141441444 SSS LER EREKE 441444414144 SS Lagerbereich WWAAANAARAAAAAAAAAAAAN ANANANAAAANAAAANAAAN WANAARNAAAAAAAAAAAAAAAAAAAARAAARAARAARRARAAR zentrale Steuerung ASS WANAARAAAAARARAARAARAAAN N III TTS TTS TTS TS TTS TTS TTS TTS TTS TTS TTS TTTTTT TSG V synchronisierender Voter VIP Vermittlungs und Informations Page KP Kommunikations Page Abb 17 Struktur des Stabilen Speichers bei MEMSY 59 Ein Stabiler Speicher f r MEMSY In den nachfolgenden Abschnitten werden zun chst die grunds tzliche Arbeitsweise und die m glichen Auftr ge vorgestellt Daran schlie en sich die Beschreibungen der drei Unterberei che Pufferbereich zentrale Steuerung Lagerbereich an In allen Bereichen werden immer wieder die getroffenen Schutzvorkehrungen gegen verschiedene Fehler besprochen Schlie lich ist ein Abschnitt den Votern gewidmet Zum Schlu werden einige Forderungen gestellt die das Host System hier das Motorola Sy stem erf llen mu damit nach dem Auftreten eines transienten permanenten
244. trag wird gerade bearbeitet ERG_OK der Auftrag ist fertig und wurde erfolgreich zu Ende gef hrt im Fall einer READ Operation kann nun der Datenblock aus dem Puffer gelesen werden dies ist der Initial Zustand nach der Zuteilung einer Kommunikationspage ERG_OLD der Auftrag ist fertig konnte aber nicht ausgef hrt werden die alte Situation wurde wiederhergestellt FAIL das Stabile Objekt wurde irreparabel korrumpiert f r den Fall FAIL gibt es einige unterschiedliche Werte die die Ursache f r die Fehlersituation beschreiben Diese Situation sollte im Stabilen Speicher eigentlich nicht vorkommen 73 Ein Stabiler Speicher f r MEMSY In diesem Fall hat aber eine Anh ufung von Fehlersituationen dazu ge f hrt da der Stabile Speicher das Stabile Objekt nicht mehr korrekt bear beiten konnte F r diese Angaben sind 20 Bit im Ergebnisregister reserviert Bits 19 0 Die folgenden Werte werden zus tzlich zu den bisher genannten Angaben im Ergebnisregister eingetragen Sie betreffen das Ergebnis bei der Suche nach einem Platz im Pufferspeicher zur bertragung eines Objekts P FOUND es wurde ein Pufferabschnitt mit passender Gr e zur Aufnahme des zu bergebenden Datenblocks bereitgestellt P FULL es kann derzeit wegen berlast kein Puffer bereitgestellt werden der Auftrag wird abgewiesen er kann sp ter wiederholt werden dazu ist nur erforderlich da der Auftrag erneut ins Auftrags
245. tuation durch ein VERIFY bereinigt werden wobei mit Hilfe der Checksum me ermittelt werden kann welche der beiden abgelegten Kopien eines Stabilen Objekts in die sem Moment korrekt ist 6 7 Die Voter Bei einer TMR Schaltung Triple Modular Redundancy spielt der Voter eine entscheidende Rolle Er f llt die Entscheidung ber das was von der Dreifacheinheit nach au en gegeben wird Aus den drei Inputs bildet er eine Mehrheitsentscheidung F r eine korrekte Funktions weise m ssen mindestens zwei Inputs dieselben Werte besitzen siehe Abb 39 N E Abb 39 TMR Einheit mit Voter j Oft sind die Voter als reine Kombinatorik aufgebaut Um St rungen auf den bertragungslei tungen leichter ausblenden zu k nnen wurde im hier vorliegenden Fall eine andere Vorgehens weise ausgew hlt Die Voter liegen auf den Platinen die den Lagerspeicher auch Objektspeicher genannt im plementiert haben und auf der Platine die den Pufferbereich beherbergt Die Zugriffe der zen tralen Steuerung stammen von einer weiteren Platine Da die Voter somit erst unmittelbar vor einem Speicher liegen lassen sich auch Fehler maskieren die sich auf der bertragungsstrecke von Platine zu Platine zwischen der zentralen Steuerung und dem Speicher ereignen 107 Ein Stabiler Speicher f r MEMSY Die Voter sind intern nicht daf r eingerichtet gleichzeitig zwei oder drei Vergleiche von je zwei 36 bit Zahlen 32 Bit Information un
246. tur des Ergebnisregisters Das Auftreten eines Schadens im Stabilen Speicher wird sicher eine gro e Seltenheit sein denn dann m ssen zuvor bereits mehrere Ma nahmen zur Behebung einzelner Fehler versagt haben Entdeckt ein Auftraggeber solch eine Schadensmeldung so sollte er geeignet darauf reagieren Solange der Lesezugriff auf Stabile Objekte noch m glich ist kann der Auftraggeber beispiels weise seine Objekte noch aus dem nicht mehr stabilen Speicher holen und in einem anderen Speicher unterbringen Solange der Schaden nicht die Pufferplatine des Stabilen Speichers be 75 Ein Stabiler Speicher f r MEMSY trifft ist dies noch m glich N here Einzelheiten zu Schadenssituationen sind in Abschnitt 6 5 beschrieben Da von einem Schaden alle Auftraggeber dieses Stabilen Speichers betroffen sind sollten ber den Auftraggeber der den Schaden entdeckt hat alle anderen Knoten in seiner Nachbarschaft informiert werden soweit dies von ihm aus m glich ist Alternativ dazu kann ein Auftraggeber auch sein Ergebnisregister regelm ig abfragen auch wenn derzeit kein Zugriff auf seine Sta bilen Objekte notwendig ist 6 4 3 Datentransfer zwischen dem Auftraggeber und dem Stabilen Speicher Bei der Kommunikation mit dem Stabilen Speicher wird meistens ein Datentransport ge w nscht Mit den Auftr gen WRITE und READ werden Daten zwischen dem Auftraggeber und dem Stabilen Speicher ausgetauscht Zur bertragung m ssen die Dat
247. twickelt mit dem die ben tigte Konnektivit t her gestellt werden kann Das Koppelmodul hat nach au en vier Prozessor Ports P Port an die je ein Prozessorinterface angeschlossen werden kann und vier Speicher Ports M Port die mit je einem Kommunika tionsspeicher verbunden werden k nnen Es bilden immer ein P Port und ein M Port ein Paar Ein solches Port Paar ist mit Hilfe von speziellen Treiberbausteinen Bus Schalter realisiert die vier Busse miteinander verbinden k nnen AMD29 Diese Bausteine haben unter anderem die F higkeit gleichzeitig je zwei der Busse zum Datentransport miteinander zu verbinden z B Bus A Bus C und gleichzeitig Bus D Bus B Untereinander sind die vier Busschalter zu einem Ring verbunden Zwei von deren vier Bussen sind mit einem P und einem M Port des Koppelmoduls verkniipft und die zwei anderen bilden 33 Das Multiprozessorsystem MEMSY zusammen mit den anderen entsprechenden Bussen vier interne Verbindungswege siehe Abb 13 Bus Schalter Abb 13 Koppelmodul Solange keine Konfliktsituationen bez glich der Nutzung von Wegen bestehen k nnen mehre re bis zu vier Verbindungen gleichzeitig innerhalb des Koppelmoduls geschaltet und benutzt sein F r das Auftreten von Konflikten kommen zwei Gr nde in Frage mindestens zwei Prozessoren wollen ber das Koppelmodul auf denselben Kommunika tionsspeicher M Port zugreifen zwei Zugriffe soll
248. uf einen Speicherzugriff inklusive Synchronisation und Voting und die restlichen 0 56 usec 36 auf sonstige lokale Aktivit ten Worte Zeit int Transf Zeit Zeit Transf 1 sec Transf 1 sec usec CREATE_WR 107 300 643 800 fs asa 3 oo no 278 300 556 600 1 797 Tab 10 Interne Transferraten der zentralen Steuerung Weiterhin wurde untersucht ob die einzelnen Knoten des TMR Verbundes ab und zu aus der Taktsynchronit t herauslaufen so da die Synchronisierungsf higkeit der Voter erforderlich ist oder nicht Dabei hat sich gezeigt da tats chlich bei jedem zweiten bis dritten Zugriff eine Synchronisierung erfolgte Die maximale Abweichung betrug dabei in fast allen F llen nur ei nen Takt Gr ere Abweichungen waren fast immer mit dem Ausbrechen eines Transputers aus der synchronen Arbeitsweise verbunden Die Wiederaufnahme der synchronen Arbeitsweise dieses Transputers zu den beiden anderen Transputern nach Abschlu einer Auftragsbearbei tung erfolgte innerhalb einer Sekunde 7 1 6 Zugriffskonflikte am Pufferspeicher Wenn die Prozessoren des Host Systems Zugriffe auf das Transferregister ausf hren wird von der Puffersteuerung jedesmal intern ein Zugriff auf den Pufferspeicher durchgef hrt Anderer seits greift auch die zentrale Steuerung h ufig auf den Pufferspeicher zu wenn sie mit der Be arbeitung eines READ oder WRITE Auftrags besch ftigt ist Diese Zugriffe auf den Puffer speicher ste
249. ufferplatz w hrend der Auftragsvergabe Schreiben auf KP 0 durchgef hrt werden Zur Verk rzung der Suchdauern wurden f r die Pufferpl tze und f r die Kommunikationspages kleine Datenbasen angelegt bei denen je ein Bit Aufschlu ber deren aktuelle Belegung geben So wurden immer 16 Bits zu einem Wort zusammengefa t und abgespeichert wie Abb 43 zeigt a 15 0 KP 15 KP 00 po KP31 KP 16 KP 47 KP 32 Belegung der J Kommunikationspages e KP 255 KP 240 Pufferbelegung 16 x Puffer fur 4 KWorte Abb 43 Datenbasis fiir die aktuelle Belegung der Pufferpl tze N und der Kommunikations Pages KPs 9 Die Kommunikationspages die nicht zur Verteilung bereitstehen z B KP 0 werden bereits bei der Initialisierung dieser Datenbasis mit einem Belegt Eintrag versehen Bei der Belegung f r Puffergr en die nicht 16 mal zur Verf gung stehen ist diese Vorgehensweise ebenfalls m glich Diese Worte werden innerhalb des reservierten Bereichs der VIP abgelegt VIP 32 60 Zur Feststellung ob innerhalb einer so angeordneten Sechzehnergruppe ein freier Platz vorhan den ist wurde eine Hardware erstellt die innerhalb eines Taktes die unvollst ndige Belegung anzeigt und gleichzeitig die Position der niedrigsten Null innerhalb dieser Gruppe ausgibt Diese Hardware bernimmt auch das Setzen dieses ausgew hlten Bits Diese Hardware ist Be standteil der Datenmanipulation aus Abb
250. ugriffs Hat sich die Steuerung f r einen bestimmten Port entschieden so wird die hier gew nschte Operation im Speicher ausgef hrt Bei einem Schreibzugriff treibt das Prozessorinterface das zu bertragende Wort so lange bis eine Antwort in Form von Steuersi gnalen Ready oder Error das Ende des Zugriffs signalisiert Bei einem Lesezugriff wartet das Prozessorinterface so lange bis durch die Steuersignale der Empfang des bertragenen Wortes angezeigt wird Entsprechend wird auch bei Mehrwortzugriffen Burst und bei der Durchf hrung des XMEM Befehls Read Modify Write Befehl durch die Steuersignale ange zeigt wann ein neues Wort bertragen werden soll F r den Prozessor der diesen Zugriff durchf hrt sieht der Zugriff auf den Kommunikations speicher genauso aus wie ein Zugriff auf seinen Privatspeicher Von der Zeitverz gerung die durch den Zugriff auf einen Kommunikationsspeicher entsteht Synchronisationsstufen Warten am Kommunikationsspeicher merkt der Prozessor anhand der empfangenen Steuersignale nichts Detailliertere Informationen ber den Kommunikationsspeicher und dessen Konfliktaufl sungsstrategie bei gleichzeitig vorliegenden Zugriffen sind in HIL92 zu finden 3 5 Das Koppelmodul F r die bei MEMSY erforderlichen Verbindungen zur Herstellung der gew nschten Topologie sind die Ports am Prozessorinterface und am Kommunikationsspeicher zahlenm ig nicht aus reichend Daher wurde ein Koppelmodul en
251. ugriffs ohne Ausf hrung ist die Steuerung 0 8 usec lang besch ftigt Die aufgef hrten Zeiten ber cksichtigen nur die Zeit die die Steuerung selbst f r die internen Aktionen ben tigt Zur Ermittlung der Zeitdauer w hrend der der Prozessor mit dem Zugriff auf den Stabilen Speicher besch ftigt ist m ssen noch Zeiten hinzugef gt werden die bei ei nem Zugriff ber die verschiedenen Stufen vor allem wegen der n tigen Synchronisation und der Auswahl von bertragungswegen vergehen Umsetzung der lokalen Signale des Motorola Systems in die Signale auf dem Ubertra gungsweg 0 35 usec Verz gerung durch das Koppelmodul 0 4 usec Overhead im Kommunikationsspeicher 0 35 usec Bei Einsatz des Stabilen Speichers ohne Verwendung des Koppelmoduls m ssen folglich alle in der Tab 4 angegebenen Zeiten um 0 7 usec erh ht werden Bei Verwendung des Koppelmo duls erh hen sich die Zeiten um insgesamt 1 1 usec Zur Beantwortung der Frage ob bei einem der m glichen Auftraggeber Zugriffe die Gefahr be steht da der beteiligte Kommunikationsspeicher oder das Koppelmodul eine langdauernde Bearbeitung vorzeitig mit Timeout beenden wird m ssen zu der in der Tabelle angegebenen Zeit noch die Zeit f r den Overhead am Kommunikationsspeicher und die zus tzliche Zeit f r das Koppelmodul ber cksichtigt werden Danach ergibt sich auch f r den langwierigsten Fall ACCESS da dieser in einer Zeit unter 6 usec abgeschlossen sein wird
252. um herauszufinden da noch eine g ltige Kopie vorliegt Lese neues Objekt aus dem Puffer Schreibe Objekt in den ersten Objektspeicher Lese aus dem ersten Objektspeicher um den Erfolg dieser Aktion zu pr fen Lese erneut neues Objekt aus dem Puffer Schreibe Objekt in den zweiten Objektspeicher Lese aus dem zweiten Objektspeicher um den Erfolg dieser Aktion zu pr fen READ 3 Transfers Lese Objekt aus einem Objektspeicher Schreibe Objekt in den Puffer Lese aus dem Puffer um den Erfolg dieser Aktion zu pr fen 134 MeBergebnisse CREATE_and_WRITE 6 Transfers Ablauf wie bei WRITE nur das erste Lesen entf llt da dieses Objekt bislang noch nicht angelegt ist VERIFY 2 Transfers Lese aus dem ersten Objektspeicher Lese aus dem zweiten Objektspeicher Diese Transferphasen sind Zugriffe auf Speicherbereiche bei denen der Zugriff synchronisiert werden mu Messungen ergaben da bei der zentralen Steuerung pro Schreibtransfer etwa 1 1 usec und pro Lesetransfer etwa 0 9 usec vergehen Dagegen ben tigen die sonstigen Aktio nen die bei einem solchen Auftr gen notwendig sind wie die Schleifenbearbeitung die Adre erzeugung die berpr fung der Checksumme und der Vergleich im Anschlu an das Kontroll lesen deutlich weniger Zeit da sie lokal in der zentralen Steuerung ablaufen Unter dieser An nahme d rften bei einem WRITE Auftrag mit 1 MWort Datentransfer etwa 7 sec allein f r die Transfers und
253. um zu Wartezeiten kommen Die Entscheidung ob ein Pufferplatz vergeben werden kann oder nicht erfolgt w hrend des Schreibzugriffs durch den Auftraggeber auf das Auftragsregister KP 0 Das Resultat dieser Entscheidung P_FULL P_FOUND wird im Ergebnisregister eingetragen Der Auftraggeber kann dies somit sofort nach dem Schreiben des Auftrags abfragen Konnte ein Pufferabschnitt bereitgestellt werden so steht dem weiteren Auftragsablauf nicht mehr im Weg Bei einem WRITE Auftrag kann der Auftraggeber nun auf diesen zugreifen Bei einem READ Auftrag steht der Pufferplatz nun bereit damit die zentrale Steuerung bei der Auf tragsbearbeitung das angeforderte Stabile Objekt hier bergeben kann F r den Zugriff auf den Pufferplatz wird dem Auftraggeber nun nicht der bereitgestellte Adre bereich mitgeteilt sondern es wird ihm nur ein Tor zu diesem Bereich ge ffnet siehe Abb 25 Dieses Tor ist eine einziges Register aus dem Bereich seiner Kommunikationspage das Trans ferregister KP 5 Zugriffe auf diese Stelle werden als Schreiben bei WRITE Auftr gen bzw als Lesen bei READ Auftr gen innerhalb eines FIFOs behandelt das sich innerhalb des ausgew hlten Bereichs befindet Die aktuelle Adresse f r den Puffer wird bei Auftragserteilung in der Puffersteuerung erzeugt und in der zugeh rigen Kommunikationspage abgelegt Sie ist die Summe aus der Basisadresse dieses Pufferbereichs und der Objektl nge Bei jedem Zugriff des Auftraggebers
254. uppe miteinander kommuni zieren 7 S C Abb 2 gr erer Multiprozessor einer FTM J Bis hierher stellt sich die FTM als zweigeteiltes Multiprozessorsystem dar alle A Maschinen bilden ein lose gekoppeltes System und ebenso alle B Maschinen Um aber dennoch ein einheit liches Multiprozessorsystem zu erhalten bei dem alle Prozessoren untereinander tiber eine Bus verbindung miteinander verbunden sind werden die beiden Busse ber einen Fault Tolerant Link FTL virtuell zu einem Bus verkniipft Der FTL arbeitet im fehlerfreien Betrieb als ein paralleles bidirektionales Verbindungssystem das die Transfers von einem Bus zum anderen durchf hrt Um Synchronisationsprobleme zwischen den beiden Bussen zu vermeiden stehen im FTL Puffer zur Verf gung Im Fall eines dauerhaften Busfehlers trennt der FTL die beiden Busse voneinander so da wieder ein zweigeteiltes Multiprozessorsystem entsteht 10 Ans tze f r einen Stabilen Speicher 2 2 2 Struktur des STM Das Stable Transactional Memory STM ist implementiert in zwei Speicherboards siehe Abb 3 Jeder Speicher entspricht einer H lfte eines Stabilen Speichers Update Operationen werden entsprechend der Vorgehensweise beim STABLE_PUT immer zuerst im ersten Speicher ausgef hrt und erst danach im zweiten Der Speicher ist mit Error Correcting Code ECC Mechanismen ausgestattet die es erlauben einzelne Bitfehler beim Lesen zu tolerieren Handelte es sich be
255. ur Unterst tzung des Hybrid Monitoring HOF93 Aber auch f r Testzwecke eignet sich diese Schnittstelle sehr gut zur Anzeige An dieser Stelle soll ein Nachteil erw hnt werden der die Auswertung der verschiedenen Infor mationen aus den Spezialregistern nach dem Auftreten eines Fehlers betrifft An der gew hlten Schnittstelle S Bus kann die Identit t des Prozessors der einen Zugriff initiiert hat nicht fest 31 Das Multiprozessorsystem MEMSY gestellt werden Kommt es vor da zwei Prozessoren kurz hintereinander Zugriffe auf die Kommunikationsspeicher durchf hren die beide mit einem Error beantwortet werden so ist die Aussagekraft des Statusregisters in Frage gestellt Denn dessen Inhalt bezieht sich nur auf den letzten Fehler und der Prozessor der den Fehler untersucht kann 1 a nicht feststellen ob er als letzter vom Fehler betroffen war oder nicht Als Anhaltspunkt kann zwar dienen da im Status register zu erkennen ist ob seit dem letzten Lesen dieses Registers kein Fehler genau ein Fehler oder mehr als ein Fehler aufgetreten ist eine Gewi heit dar ber da er selbst von der aufge zeichneten Fehlersituation betroffen ist existiert aber nicht Nur wenn sichergestellt w re da nur einer der bis zu vier Prozessoren des Knotens zur Zeit ber das Prozessorinterface zugreift w re eine sichere Aussagekraft dieses Registers und des Fehleradre registers gegeben Dieser Nachteil wird immer wieder einmal auftauchen
256. usgestattet schon ein einfacher Speicherzugriff zur Zerst rung eines Stabilen Objekts f hren k nnte m ten diese anderen Fehlertoleranzmechanismen schon sehr schnell n mlich bereits w hrend des Speicherzugriffs reagieren k nnen Dies ist aber bei Einheiten die nicht wenigstens aus Master Checker Paaren aufgebaut sind eine viel zu hohe Forderung Aus die sem Grund wird der Stabile Speicher so angelegt da kein Prozessor direkten Zugriff auf die Stabilen Objekte hat Dies ist auch ein Unterschied zu der Einrichtung bei der FTM bei der nach dem ffnen eines Stabilen Objekts der Prozessor direkten Zugriff auf die erste Kopie hat siehe Abschnitt 2 2 Der hier implementierte Stabile Speicher arbeitet dagegen ganz autonom vom Prozessor Der Stabilen Speicher nimmt vom Prozessor nur die Auftr ge mit Parametern und gegebenenfalls die Daten entgegen Die Ausf hrung dieser Aktion erfolgt dann alleine durch den Stabilen Speicher Der Prozessor wird zur Daten bertragung nur die M glichkeit haben in einen Puffer zu schreiben oder aus diesem zu lesen Die Stabilen Objekte bleiben dabei noch unber hrt Weiterhin mu die Stabile Speicher in der Lage sein quasi gleichzeitig f r mehrere Prozessoren t tig zu sein Das ergibt sich daraus da auf Grund der nicht zu untersch tzenden Kosten der beabsichtigten Implementierung nicht jeder Prozessorknoten einen eigenen Stabilen Speicher bekommen wird Daher werden mehrere Prozessoren Zugang zum s
257. wei Bits aus der Adresse zur Wegewahl benutzt hnliches pas siert durch Interpretation von weiteren vier Bits in dem sich anschlie enden Koppelmodul Danach ist der Kommunikationsspeicher erreicht Hier entscheiden zwei weitere Bits ob der Zugriff diesem Kommunikationsspeicher oder dem angeschlossenen Stabilen Speicher gelten soll Wird irgendwo auf diesem Weg eine falsche Entscheidung getroffen so erreicht der Zu griffswunsch einen falschen Speicher m glicherweise einen falschen Stabilen Speicher Aus Sicht des Stabilen Speichers liegt hierbei die gleiche Situation vor wie beim Zugriff durch einen falschen Prozessor Dieser Fehler mu entdeckt werden bevor dieser Zugriff nicht mehr r ck g ngig zu machende Auswirkungen auf die abgelegten Daten haben kann Der an dieser Stelle wirksame Schutz wird vor allem durch die Vergabe eines eng begrenzten Adre bereichs innerhalb der zur Verf gung stehenden 4 MByte und durch die berpr fung ei nes Pa wortes erreicht Dazu ist es notwendig da die Vergabe dieser Adre bereiche und der Pa worte in den verschiedenen Stabilen Speichern des Multiprozessorsystems bereits bei der ersten Erteilung unabh ngig voneinander in den allermeisten F llen zu unterschiedlichen Er gebnissen kommt Das soll auch dann erreicht werden wenn das Anwendersystem in allen Kno ten in derselben Programmablaufsituation d h zur selben Zeit ein Pa wort von einem Stabilen Speicher anfordert bertragungsfehler bei
258. weitere etwa 4 sec f r die sonstigen Bearbeitungen veranschlagt werden Diese etwa 11 sec wurden aber deutlich bertroffen 16 5 sec Um diesem Ph nomen auf den Grund zu gehen wurde der Ablaufs der innersten Programm schleife des WRITE Auftrags genauer betrachtet Dies ist der Transfer eines Wortes aus dem Pufferspeicher in einen Objektspeicher Hier werden f r ein Wort zwei Lesezugriffe und ein Schreibzugriff auf Puffer bzw Objektspeicher ausgef hrt Dabei stellte sich heraus da bei je dem Schleifendurchlauf neben den drei erwarteten internen Transfers zus tzlich 12 Lesezu griffe auf den Programmspeicher erfolgten Dieser liegt au erhalb des Transputers und ist aus SRAM Bausteinen aufgebaut Bei einer Schleifendauer von 7 25 usec entfielen 2 9 usec auf diese zus tzlichen Zugriffe Sie hatten damit einen Zeitanteil von 40 innerhalb der Schleife Dem gegen ber entfielen auf die drei Zugriffe f r den Transfer eines Worts vom Pufferspeicher in einen Objektspeicher und das Kontrollesen 2 9 usec was einen Zeitanteil von ebenfalls 40 bedeutet Diese Situation hatte sich ergeben da kein Instruktionscache zur Verf gung stand F r die sonstigen Berechnungen innerhalb einer Schleife werden somit etwa 1 45 usec ben tigt Zeitanteil von 20 Zur Verk rzung der Zeitdauer f r einen Schleifendurchlauf wurde die Schleifenbearbeitung durch Optimierungen direkt im Assemblercode verk rzt Dies verbesserte die Bearbeitungszeit jedoch nur um etw
259. wiegende Auswirkungen auf das Zugriffsprotokoll haben k nnen Um dem entgegenzuwirken werden f r die bertragung der logischen Steuersignale physikalisch Differenzsignale verwendet Dabei wird jedes einzelne Steuersignal durch je zwei Leitungen bertragen deren Potentialdifferenz 47 Fehlerm glichkeiten in MEMSY entweder positiv oder negativ ist je nach dem zu bertragenden logischen Signal Eine St rung auf der bertragungsstrecke wirkt sich i a so aus da das Potential aller Leitungen in die glei che Richtung verschoben wird Dabei bleibt die Differenz erhalten und kann somit auf der Emp f ngerseite st rungsfrei zur ckgewonnen werden Nachteilig macht sich bei der Realisierung nur bemerkbar da die Signallaufzeiten durch den Einsatz eines Sende und eines Empf nger Bausteins insgesamt um etwa 50 nsec verl ngert werden TIC90 5 5 Weitere Ma nahmen Die standardm igen Implementierungen zur lokalen Fehlererkennung mit kurzer Latenzzeit im Motorola System sind die Exceptions die vom Prozessor erkannt werden und die Parity Absicherung beim Datentransfer Weitere Ma nahmen zur Fehlertoleranz m ssen durch Feh lerbehandlungs Routinen oder durch vorbeugende Ma nahmen und Redundanz erreicht wer den Die Implementierung der f r die MEMSY Topologie ben tigten Verbindungswege zwischen Prozessoren und Kommunikationsspeichern mit Hilfe der Koppelmodule erfolgte in der Weise da es f r jeden Prozessor zwei
260. xas Instruments 1990 Texas Instruments The TTL Data Book Vol 1 Vol 2 Texas Instruments 1989 Inmos Transputer Developement System Inmos Limited Prentice Hall New York 1988 Inmos The Transputer Developement and iq Systems Databook Inmos Limited 1989 Wakerly J F Error Detecting Codes Self Checking Circuits and Applications North Holland New York 1978 Williams F J Sloane N J A The Theory of Error Correcting Codes S 80 ff North Holland Amsterdam 1978 151 Geburtstag Geburtsort Familienstand Schulausbildung Wehrdienst Hochschulausbildung Berufst tigkeit Lebenslauf von Andreas Grygier 9 Mai 1960 in Bad Br ckenau verheiratet seit dem 8 September 1989 zwei Kinder 1966 1970 4 Jahre Grundschule in Bad Br ckenau 1970 1979 9 Jahre Gymnasium in Bad Br ckenau Abschlu mit Abitur 1979 1980 Grundwehrdienst als J ger 1980 1987 Informatik Studium an der Universit t Erlangen N rnberg mit Schwerpunkt Rechnerarchitektur Abschlu mit Diplompr fung 1987 1995 wissenschaftlicher Mitarbeiter am Institut f r Mathematische Maschinen und Datenverarbeitung II IMMD 3 der Universit t Erlangen N rnberg
261. zentrale Steuerung als TMR System aufgebaut ber Voter werden die produzierten Ausgaben jedes Knotens miteinander verglichen und nur das als Er gebnis weitergegeben das von mindestens zwei Knoten erzeugt worden ist Damit kann der Ausfall eines Knotens bei einem einwandfrei arbeitenden Voter sofort erkannt und maskiert werden Eine sofort einsetzende Fehlerdiagnose und behebung ist in diesem Fall nicht n tig Es ist stattdessen m glich dies erst zu einem sp teren geeigneteren Zeitpunkt durchzuf hren Solange noch zwei Knoten fehlerfrei arbeiten kann zun chst ohne Unterbrechung und ohne Verlust der gegenseitigen Kontrolle der Prozessoren untereinander wie bei einem Master Checker System mit der Bearbeitung fortgefahren wird bis der aktuelle Auftrag fertig bearbei tet worden ist Nach der Fertigstellung eines Auftrags wird versucht den ausgefallenen Knoten wieder in die Arbeit zu integrieren Dies wird ber das Zur cksetzen Reset aller Knoten erreicht Da zu die sem Zeitpunkt aber kein Stabiles Objekt mitten in der Bearbeitung ist kann diese Fehlerbehe bung ohne st renden Einflu auf die gew nschte Bearbeitung im Stabilen Speicher durchge 99 Ein Stabiler Speicher f r MEMSY f hrt werden Ein extra VERIFY ist daher nicht n tig Diese Vorgehensweise gelingt unter der Annahme da mit sehr hoher Wahrscheinlichkeit im Verlauf der restlichen Bearbeitungszeit f r das aktuelle Stabile Objekt kein weiterer Fehler me
262. zu Plattenzugriffen ver sprechen sie einen auch f r den Anwender akzeptablen geringen Overhead In dieser Arbeit werden nun zun chst Lampsons Ansatz und eine daraus abgeleitete Implemen tierung mit RAM Speichern vorgestellt Kapitel 2 Anschlie end wird die Struktur des Multi prozessorsystems MEMSY erl utert wobei besonders auf den Datentransfer zwischen den Pro zessoren und den Kommunikationsspeichern eingegangen wird Kapitel 3 Dies m ndet in die berlegungen auf welche Weise der Stabile Speicher in dieses Multiprozessorsystem integriert werden kann Kapitel 4 Danach werden die m glichen Fehlersituationen besprochen mit de nen bei MEMSY am ehesten gerechnet werden mu und die f r den Stabilen Speicher eine Rol le spielen Kapitel 5 Den gr ten Raum nimmt dann die Vorstellung des Stabilen Speichers ein Neben der Struktur dieses Stabilen Speichers werden auch die vorgenommenen Ma nah men zur Fehlertoleranz n her erl utert Kapitel 6 Anschlie end werden Ergebnisse vorge stellt die aus der Implementierung des Stabilen Speichers gewonnen wurden Kapitel 7 Ans tze f r einen Stabilen Speicher 2 Ans tze f r einen Stabilen Speicher Grundlegende berlegungen zu einem Stabilen Speicher gehen auf einen Algorithmus zur ck der von Lampson f r ein stabiles Gesamtsystem entwickelt wurde LAM88 Die Grund berle gung dabei ist ber ein reales System das vielen Fehlerm glichkeiten ausgesetzt ist ein virtu

Download Pdf Manuals

image

Related Search

Related Contents

Servo Minas A5, Minas LIQI e PLC serie FP  REAKTOR 5  collection - Culinarion nancy  Roncato 2 Trolley Set  Contenido del Paquete Adaptadores Powerline Habitación 1  Intel® Chipset Software Installation Utility User`s Manual  Fiche technique  almostDSLR User`s Manual  Toshiba E27 LED 7.7W  Hotpoint SH33KS  

Copyright © All rights reserved.
Failed to retrieve file