Fehlertoleranz Flashcards
Was versteht man unter dem Begriff Verlässlichkeit, wenn man von Systemen spricht?
Verlässlichkeit ist die Fähigkeit eines Systems, einen Dienst zu erbringen, dem man gerechtfertigterweise vertrauen kann.
Aus was besteht der Begriff Verlässlichkeit?
‣Wartbarkeit (Maintainability)
•wie leicht kann ein ausgefallenes System repariert werden?
‣Verfügbarkeit (Availability)
•unmittelbare Benutzbarkeit eines Systems
•bezieht sich auf einen bestimmten Zeitpunkt
‣Zuverlässigkeit (Reliability)
•das System läuft fortlaufend ausfallfrei
•bezieht sich auf ein Zeitintervall
‣Funktionssicherheit (Safety)
•es passiert nichts Schlimmes, wenn ein System vorübergehend nicht korrekt arbeitet
Wie ist die Verfügbarkeit und Zuverlässigkeit bei einem System, das jede Stunde für 1ms Ausfällt?
•Verfügbarkeit:
-99,99997% → sehr hoch
•Zuverlässigkeit:
-knapp 60min →eher gering
Wie ist die Verfügbarkeit und Zuverlässigkeit bei einem System, das nie ausfällt, aber im Jahr zwei Wochen für Wartungsarbeiten heruntergefahren wird
•Verfügbarkeit:
-96,2% → eher gering
•Zuverlässigkeit:
-50 Wochen → sehr hoch
Welche Arten von Störungen gibt es?
•Vorübergehend (transient): einmaliger Vorfall
•Wiederkehrend: unberechenbares Wiederauftreten
•Permanent: Fehler bleibt bestehen, bis die fehlerhafte
Komponente ersetzt wird
Bei der Maskierung von Fehlern gibt es Redundanzen, nennen Sie diese und ihren Zweck
•Informationsredundanz:
-Verwendung zusätzlicher Bits, um den möglichen Ausfall anderer Bits abzufangen
-Beispiel: Hamming Code für Forward Error Correction
•Zeitliche Redundanz:
-Wiederholung von Aktionen
-Beispiel: Transaktionen → zurückgesetzte Aktionen werden wiederholt
•Technische Redundanz
-Zusätzliche Hardware oder Software (Prozesse)
-Beispiele:
•Biologie: zwei Augen, zwei Ohren, zwei Lungenflügel
•Luftfahrt: vier Triebwerke, doppelte Steuerkreise
Sport: mehrere Schiedsrichter
Nennen Sie Eigenschaften von Prozessgruppen
- Prozessgruppen sind dynamisch
- können erzeugt und gelöscht werden
- Prozesse können ein- und austreten
- Prozesse können Mitglied mehrerer Gruppen sein
Welchen Zweck hat das Einsetzen von Gruppen?
Abstraktion von den Einzelprozessen, Darstellung gegenüber der Außenwelt als eine Einheit
Welche Gruppenstrukturen gibt es?
- strukturlos (flach), oder
* hierarchisch (ein Koordinator)
Wie wird sichergestellt, dass Prozessänderungen an
Replikate in der Gruppe propagiert werden?
•Urbildbasiert (Primary-based)
-Koordinator, der alle Write-Operationen koordiniert
-passt gut zu hierarchischen Prozessgruppen
-Wenn der Koordinator abstürzt, wählen die übrigen Prozesse einen neuen
•Aktive Replikation /Quorumbasierte Protokolle:
-passt gut zu flachen Gruppen
Für was steht der Begriff k-Fehlertoleranz?
Gleichzeitiger Ausfall von k Prozessen
kann maskiert werden
wieviel Replikation ist nötig für k-Fehlertoleranz bei Dienstausfälle und Byzantinischer Fehler?
•Dienstausfälle:
-(k+1) Prozesse für k-Fehlertoleranz
•Byzantinische Fehler (fehlerhafter Dienst):
-(2k +1) Prozesse für k-Fehlertoleranz
Welche Fehlerklassen gibt es beim Aufrufen eines Dienstes?
1) Anfrage geht verloren
2) Server stürzt nach Erhalt der Anfrage ab
3) Antwort geht verloren
4) Client stürzt nach Senden der Anfrage ab