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.