06 - Fault Tolerance Flashcards
Was ist sind Faults bzw. Errors und Failures?
Faults und Errors sind Zustände, Failures sind Events.
Was ist ein Fault?
Ein Zustand, der dazu führt, dass die Software ihre erforderliche Funktion nicht erfüllt.
Ist die Ursache für einen Error.
Welche Node Failures gibt es? (4)
- Crash Failure: nachdem ein Fehler festgestellt wurde, stoppt die Node stillschweigend. Wird erst nach der Ausführung eines Join-Protokolls wieder gestartet.
- Omission Failure: Manchmal fehlt ein Ergebnis. Wenn jedoch ein Ergebnis vorhanden ist, ist es immer wie vorgesehen. (häufigster Fehler)
- Consistent Failure: wenn es mehrere Empfänger gibt, sehen alle Empfänger das gleiche fehlerhafte Ergebnis
- Byzantine (inconsistent, malicious, asymmetric) Failure: in einem Szenario mit mehreren Empfängern sehen die verschiedenen Empfänger unterschiedliche, möglicherweise falsche, Ergebnisse
Was ist ein Sligthly-off Specification (SOS) Failure?
- Spezielle Art des Byzantine Failure
- eine Node erzeugt einen Output Signal (in value domain oder temporal domain) der etwas außerhalb des spezifizierten operating Intervalls liegt
- eingie Empfänger interpretieren den Wert richtig, einige andere können den Wert nicht interpretieren
Wann ist eine Node Fail-Silent?
- korrekt arbeitet, indem er korrekte (sowohl wert- als auch zeitmäßig) Nachrichten sendet
- nachweislich falsche Nachrichten zum richtigen Zeitpunkt sendet
- überhaupt keine Nachrichten sendet
Was ist ein Babbling Idiot Failure?
Zum Beispiel: die Übertragung von Nachrichten zu willkürlichen Zeitpunkten, ist der schwerwiegendste Node Failure in einem Bussystem. (Ist in einem ET System schwer zu erkennen, da Wissen übers Senden zuvor nicht bekannt ist)
Was ist ein Error?
- ist ein unbeabsichtigter Zustand, z. B. beschädigte h-state Daten im Speicher
- wenn ein Error aktiviert wird führt er zu einem Failure andernfalls bleibt er inaktiv (und damit möglicherweise unerkannt)
- Error ist die Konsequenz eines Faults
Was ist error detection coverage?
Die Wahrscheinlichkeit, dass ein Error erkannt wird, sofern er auftritt, wird als Fehlererkennungsrate bezeichnet.
Was ist error detection latency?
Die Zeitspanne zwischen dem Beginn eines Fehlers und der Erkennung eines Fehlers ist die Fehlererkennungslatenz.
Welche Universe Model gibt es? (4)
- Level I - Physical Universe: System aus der Sicht eines Analogtechnikers
- Level II - Logical Universe: System aus der Sicht des Logikdesigners
- Level III - Informational Universe: System aus der Sicht eines Programmierers
- Level IV - External Universe: System aus Sicht des Nutzers
Was ist eine Fault Hypothesis?
In einer Fault Hypothesis werden alle Fehlerarten und die Anzahl der Fehler aufgeführt, die ein fehlertolerantes System tolerieren muss. Dabei werden die Fehler zwei Kategorien zugeordnet: Fehler, die toleriert werden müssen und Fehler, die außerhalb der Mechanismen zur Fehlertoleranz liegen (müssen rare Events sein).
Was ist Assumption Coverage?
Gibt an, inwieweit die Annahmen durch die Realität bestätigt werden. Assumption Coverage limitiert die dependability eines perfekten fault-tolerant Systems.
Was ist ohne präzise Spezifikation der Fault-Hypothesis nicht möglich?
- herauszufinden ob die Assumption Coverage realistisch ist
* die Richtigkeit der fault-tolerance Mechanismen zu testen
Wie wird die Fault Hypothesis spezifiziert? (5)
- Unit of Failures: Was ist die Fault-Containment Region (FCR)?
- Failure Modes: Was sind Failure Modes der FCR?
- Frequency of Failures: Was ist die angenommene MTTF zwischen Failures für verschiedene Failure Modes?
- Detection: Wie werden Failures erkannt? Wie lang ist die Erkennungslatenz?
- State Recovery: Wie lange dauert es einen korrupten State (im Falle eines transient Faults) zu korrigieren?
Was ist die Fault Containment Region (FCR)?
FCR ist eine Gruppe von Teilsystemen, die eine oder mehrere gemeinsame Ressourcen nutzen, die von einem einzigen Fehler betroffen sein können und von denen angenommen wird, dass sie unabhängig von anderen FCRs ausfallen.
Welche Basis-Mechanismen gefährden die Unabhängigkeit von Fault Containment Regions?
- Missing fault isolation
* Error propagation
Was sind kritische Failure Modes? (5)
- Crash Omission (CO) Failures
- Massive Transient Disturbances
- Babbling Idiot Failures
- Masquerading Failures
- SOS Failure
Was ist ein Crash/Omission Failure?
- Crash Failure tritt auf, wenn eine Node einen korrekten Dienst liefert, bis sie aufhört, Nachrichten zu liefern (crash)
- Omission (Versäumnis/Auslassung) Failure tritt auf, wenn eine Node eine Nachricht nicht zustellen kann. Alle zugestellten Nachrichten sind korrekt.
- sind wahrscheinlichste und einfachste Fehlerarten einer FCR
- die meisten Protokolle haben Mechanismen, um die Fehler zu erkennen und zu handeln
Was ist eine Massive Transient Distrubance?
Massive Transient Disturbance liegt vor, wenn die Signale auf einem Kommunikationskanal durch eine externe Energiequelle so gestört werden, dass für eine bestimmte Zeitspanne keine Kommunikation möglich ist (blackout Intervall).
Was sind Babbling Idiot Failures?
Durch einen Hardware oder Software Fault sendet eine Node eine Message auf einem geteilten Kommunikationsmedium ohne Beachtung des Medienzugangs. (Guardians reduzieren diesen Fehler)
Wozu dienen Guardians?
Dienen der Fehlereingrenzung auf der Grundlage des Vorwissens über das zulässige Verhalten der Nodes. Central Guardians bieten einen höheren Level an Unabhängigkeit als local Guardians. Bei Central Guardians kann ein Masquerading Failure nicht auftreten.
Was sind Masquerading Failures?
Eine fehlerhafte Node nimmt die Identität einer anderen Node an und sendet falsche Nachrichten. Die gesendete Nachricht enthält dann die falsche ID.
Welche drei Arten der Sligthly-out-of-Specification (SOS) Failures gibt es in einem TTSystem?
- SOS Value Failure: kann durch Wiederherstellung des Signals im Guardian maskiert werden
- SOS Frequency Failure: kann durch Wiederherstellung des Signals im Guardian maskiert werden
- SOS Start Instant Failure: erfordert eine Logik, die den Zeitpunkt des Beginns der Nachrichtenübermittlung genau überwacht
Worin wird bei der Error-Detection unterschieden? (2)
- Detection of Errors in the value domain
* Detection of Errors in the time domain