Fault Tolerance Flashcards
Welche zwei Möglichkeiten hat man die Zuverlässigkeit eines Systems zu erhöhen über die intrinsische Zuverlässigkeit der Technologie?
- Verwendung von ultra-high-quality Komponenten: Kostenanstieg exponentiell
- Implementierung von fault tolerance
Was sind Fault, Errors und Failures?
- Faults und Errors sind Zustände
- Failures sind Events
Was ist ein Fault?
- Ein Fault ist ein Zustand, der dazu führt, dass die Software ihre erforderliche Funktion nicht erfüllt
- Ein Fault ist eine Ursache für einen Error
Was ist ein Failure?
Ein Failure ist eine Abweichung des tatsächlichen Services von dem geplanten Service
Wie sieht die Fehlerkette aus?
Fault -> Error -> Failure
Welche Node Failures gibt es?
- Crash Failure
- Omission Failure
- Consistent Failure
- Byzantine Failure
Was ist ein Crash Failure?
- Nachdem ein Fehler festgestellt wurde, stoppt der Node stillschweigend
- Wird erst nach der Ausführung eines Join-Protokolls wieder gestartet
Was ist ein Omission Failure?
- Manchmal fehlt ein Ergebnis
- Wenn jedoch ein Ergebnis vorhanden ist, ist es immer wie vorgesehen
- Einer der häufigsten Fehler
Was ist ein Consistent Failure?
Wenn es mehrere Empfänger gibt, sehen alle Empfänger das gleiche fehlerhafte Ergebnis
Was ist ein Byzantine Failure?
In einem Szenario mit mehreren Empfängern sehen die verschiedenen Empfänger unterschiedliche, möglicherweise falsche Ergebnisse
Was ist ein Slightly-off-Specification (SOS) Failure?
- Spezielle Art des Byzantine Failure
- Ein Node erzeugt ein Ausgabesignal, das etwas außerhalb des spezifizierten operating Intervalls liegt
- Einige Empfänger interpretieren den Wert richtig, einige andere können den Wert nicht interpretieren
Wann ist ein Node fail-silent?
- Wenn er korrekt arbeitet, indem er korrekte Nachrichten sendet
- Nachweislich falsche Nachrichten zum richtigen Zeitpunkt sendet
- Überhaupt keine Nachrichten sendet
Was ist ein Babbling Idiot Failure?
Die Übertragung von Nachrichten zu willkürlichen Zeitpunkten, ist der schwerwiegendste Node Failure in einem Bussystem
Was ist ein Error?
- Ein Error ist ein unbeabsichtigter Zustand
- Wenn ein Error aktiviert wird, führt er zu einem Failure, andernfalls bleibt er inaktiv und 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
Welche Universe Modelle gibt es?
- Level 1: Physical Universe
- Level 2: Logical Universe
- Level 3: Informational Universe
- Level 4: External Universe
Was ist das Level 1: Physical Universe?
- System aus Sicht eines Analogtechnikers
- False signal Levels
- Error detection -> Überwachung des Spannungslevels
Was ist das Level 2: Logical Universe?
- System aus Sicht eines Logikdesigners
- Stuck at logic fault
- Error detection -> Error detecting codes
Was ist das Level 3: Informational Universe?
- System aus Sicht eines Programmierers
- Incorrect data structures
- Error detection -> Runtime assertions
Was ist das Level 4: External Universe?
- System aus Sicht eines Nutzers
- Service failure at the user/system interface
- Error detection -> End-to-end
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
In welche zwei Kategorien werden Fehler in der Fault Hypothesis eingeordnet?
- Level 1 Fehler: Fehler, die toleriert werden müssen
- Level 2 Fehler, Fehler, die außerhalb der Mechanismen zur Fehlertoleranz liegen (diese müssen rare events sein)
Was ist Assumption Coverage?
- Assumption Coverage gibt an, inwieweit die Annahmen durch die Realität bestätigt werden
- 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 Korrektheit der fault-tolerance Mechanismen zu testen
Wie wird die Fault Hypothesis spezifiziert?
- Unit of Failure: Was ist die FCR
- Failure Modes
- Frequency of Failures
- Detection
- State Recovery
Was ist eine Fault Containment Region (FCR)?
Eine 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?
- Crash Omission Failures
- Massive Transient Disturbances
- Babbling Idiot Failure
- Masquerading Failure
- SOS Failure
Was ist eine Massive Transient Disturbance?
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 interval)
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?
- Ein fehlerhafter Node nimmt die Identität eines anderen Node an und sendet falsche Nachrichten
- Die gesendete Nachricht enthält dann die falsche ID
Welche drei Arten der Slightly-Off-Specification (SOS) Failures gibt es in einem TT-System?
- SOS Value Failure
- SOS Frequency Failure
- SOS Start Instant Failure
Worin wird bei der Error detection unterschieden?
- Detection of Errors in der value domain
- Detection of Errors in der time domain
Was wird zur Error detection benötigt?
Es werden redundante Informationen benötigt
Was ist eine Error Containment Region (ECR)?
In einem verteilten Computersystem können sich die Folgen eines Faults, die Folgefehler, durch eine Fehlermeldung des fehlerhaften Nodes an die Umgebung außerhalb der verursachenden FCR ausbreiten
Was wird für eine Error Containment Region mindestens benötigt?
Es werden mindestens zwei unabhängige Fault Containment Regions benötigt
Was sind Ursachen für Transient Faults?
- External Disturbances
- Internal Degradation of the chip hardware
- Heisenbug
Wie funktioniert Error detection in der value domain?
- Plausibility checks
- Structural checks
- Comparison of diverse computations
Was ist eine Fault-Tolerant Unit (FTU)?
FTU ist eine Gruppe von aktiv redundanten Nodes, die einen fehlertoleranten Dienst für ihre Umgebung bereitstellen
Welche Arten von Redundanz gibt es?
- Cold Standby Redundancy
- Hot Standby Redundancy
- Active Redundancy
Was ist Cold Standby Redundancy?
- Zu jedem Zeitpunkt bietet nur ein Node den Dienst an
- Fällt der Dienstanbieter aus, muss der Ausfall von einem Fehlerdetektor erkannt werden und ein Ersatzknoten wird gestartet
Was ist Hot Standby Redundancy?
- Zu jedem Zeitpunkt bietet nur ein Node den Dienst an
- Wird ein Ausfall festgestellt, ersetzt ein aktiver Ersatzknoten den ausgefallenen Node
Was ist Active Redundancy?
Zwei oder mehr Nodes bieten denselben Dienst gleichzeitig an
Was sind Bohrbugs?
Bohrbugs sind Designfehler in der Software, die reproduzierbare Failures verursachen (z.B. Logikfehler in einem Programm)
Was sind Heisenbugs?
Heisenbugs sind Designfehler in der Software, die quasi zufällige Failures verursachen (z.B. Synchronisationsfehler)
Was sind Fail-Safe Anwendungen und was machen sie aus?
- In einer ausfallsicheren Anwendung kann ein unabhängiger Watchdog den Betrieb des Computers überwachen
- Fällt der Computer stillschweigend aus oder verspätet sich, kann der Watchdog einen Übergang in den sicheren Zustand einleiten