fehlertoleranz und robustheit präsentation von thomas schlögl 1125213
TRANSCRIPT
Fehlertoleranz und Robustheit
Präsentation von Thomas Schlögl
1125213
Fehlertoleranz• Definition:
Die Fähigkeit eines Systems sich mit einer begrenzten Anzahl fehlerhafter Subsysteme gemäß Spezifikation zu verhalten.• Vor allem in Bezug auf die Umgebung• Eher auf HW-Ebene
Robustheit• Definition:
Die Eigenschaft eines Systems oder Verfahrens auch unter ungünstigen und unvorhersehbaren Bedingungen noch zuverlässig zu funktionieren.• Vor allem in Bezug auf Eingaben
(inkonsistent, unvollständig, …)• Eher auf SW-Ebene
Wobei entstehen Fehler/Ausfälle?
• Datenübertragung• Überlagerung des übertragenen Signals mit Rauschen
• Datenspeicherung• Bitflips durch Umwelteinflüsse (Temperatur, Strahlung,
Feuchtigkeit, …)• Berechnung
• Ausfall von Komponenten aufgrund vonDesign-/Fertigungsfehlern und/oder Umwelteinflüssen
Phasen der Fehlertoleranz• Fehlererkennung
• Error Detecting Codes• Reasonableness Check• State Estimation
• Fehlereinschätzung• Fehlerkorrektur (Recovery)
• Error Correcting Codes
• Wiederaufnahme des normalen Betriebs
AusfallsverhaltenFail-Safe
• Nach Ausfall sicherer, unproduktiver Zustand
• Sicherheit und Zuverlässigkeit sind nicht gekoppelt
Fail-Operational• Nach Ausfall System
muss weiterarbeiten um Sicherheit zu gewährleisten
• Sicherheit und Zuverlässigkeit sind gekoppelt
Fehler-/Ausfallstypen
• „Ausfallshierarchie“• Byzantine Failure• Performance Failure• Omission Failure• Crash Failure• Fail-Stop Failure
• Assumption Coverage?!
• Soft Error• Verursacht durch
transiente Fehler
• Hard Error• Verursacht durch
permanenten Fehler
Maßnahmen zur Fehlertoleranz auf HW-Ebene
• Redundanz• TMR (Triple Modular Redundancy)• Passive Redundancy• Active Redundancy
•Wartung• Preventive Maintenance
Probleme und Grenzen• Maskieren von Fehlern• Spare Exhaustion• Single Point of Failure (SPoF)
• Bei TMR: Voter• Bei Active Redundancy: Switch
• Common Cause Failure• Ausfall aufgrund gemeinsamer äußeren Ursache• Ausfall aufgrund gemeinsamer innewohnender Ursache
• Geringe Assumption Coverage
Saturn Launch Vehicle Digital Computer (LVDC)
• Autopilot für Saturn V Rakete• Redundante Stromversorgung• 2 Hauptspeichermodule
• Duplex mode – hohe Zuverlässigkeit• Simplex mode - hohe Speicherkapazität
• Einsatz eines TMR• Für jede der 7 Pipelinestufen• Auch Voter werden dreifach ausgeführt
Verhinderung eines Single Point of Failure• Zusätzlicher Disagreement Detector ermöglicht
Wartung (Austausch)
MTMRDD
Maßnahmen zur Fehlertoleranz auf HW/SW-Ebene
• Design DiversitätParallele/mehrfache Ausführung verschiedener Implementierungen eines Algorithmus
• Daten DiversitätDaten werden mehrmals bearbeitet, aber immer leicht modifiziert
• Temporale DiversitätMehrfache Ausführung desselben Algorithmus lediglich verwendbar gegen transiente HW-Fehler
• Error Correcting Codes• Hamming Code• Turbo Code
Maßnahmen zur Fehlertoleranz auf SW-Ebene
• Verwendung robuster Datenstrukturen• z.B. zyklische doppelt verkettete Liste
• Duplizieren von Instruktionen• ACCE (Automatic Correction of Control-
flow Errors)
Hamming Code• Hamming Distanz 3 Korrektur eines
Bitfehlers möglich• Gebildet durch Einfügen
redundanter Bits anPosition 1,2,4, … 2k
• Even/Odd Parity• b1 = b3 xor b5 xor b7 xor b9 xor b11
b2 = b3 xor b6 xor b7 xor b10 xor b11 b4 = b5 xor b6 xor b7 xor b12b8 = b9 xor b10 xor b11
Instruction Duplication• Programmcode dupliziert in 2. Thread
ausgeführt• Periodische Synchronisierung zwischen
den beiden Threads (Checkpoints)• Erkennung von transienten HW-Fehlern
möglich Behebung durch Neuausführung
Automatic Correction of Control-flow Errors
• Statisches Einfügen von Zusatzinstruktionen zur Überprüfung von Control-flow Errors
• Checkpoints (Recovery)
• Behebung transienter Fehler
COTS• Commercial Off-The-Shelf
• Seriengefertige Produkte• Große Stückzahl• Meist billiger Preis• Für allgemeine Anwendungsszenarien entworfen
Vorteile und Nachteile von COTS in Fehlertoleranten Systemen
Vorteile• Günstig Kostenreduktion• Kürzere Time-to-Market
aufgrund entfallender Entwicklung
• In hoher Stückzahl vorhanden (Ersatz)
• Weitverbreitet im Einsatz Test- und Erfahrungsberichte
Nachteile• Lebensdauer -
Zuverlässigkeit• Suboptimales Worst-Case
Verhalten• Abhängig vom jeweiligen
Unternehmen• Einführung zusätzlicher
Verfahren zur Erhöhung der Zuverlässigkeit notwendig Erhöhung der Systemkomplexität
Quellen• Quellenangaben:• www.itwissen.info/definition/lexikon/Fehlertoleranz-FT-fault-tolerance.html• http://ira.informatik.uni-freiburg.de/teaching/ppp-2002/Spoeri-Ausarbeitung.pdf• https://
ess.cs.tu-dortmund.de/Teaching/WS2012/SFt/Downloads/ausarbeitungen/Julian_Kuerby.pdf• https://de.wikipedia.org/wiki/Fehlertoleranz• https://de.wikipedia.org/wiki/Hamming-Code• http://people.csail.mit.edu/grishac/papers/allerton.pdf• http://www.webopedia.com/TERM/S/soft_error.html• http://www.webopedia.com/TERM/H/hard_error.html• http://
www.ibiblio.org/apollo/Documents/LaboratoryMaintenanceInstructionsForLVDC-Volume1-GeneralDescriptionAndTheory.pdf
• https://en.wikipedia.org/wiki/Saturn_V• http://iom.invensys.com/EN/Pages/triconex_tricon.aspx• http://
www.researchgate.net/publication/220716583_A_Solution_to_Single_Point_of_Failure_Using_Voter_Replication_and_Disagreement_Detection
• http://liberty.cs.princeton.edu/Publications/cgo3_swift.pdf• http://liberty.princeton.edu/Publications/taco05_ft.pdf
• Bilder:• http://www.cin.ufpe.br/~jvob/images/nmr.png• https://
upload.wikimedia.org/wikipedia/commons/1/13/Apollo_17_The_Last_Moon_Shot_Edit1.jpg• figure 1-7. of http://
www.ibiblio.org/apollo/Documents/LaboratoryMaintenanceInstructionsForLVDC-Volume1-GeneralDescriptionAndTheory.pdf
• figure 3 of http://www.researchgate.net/publication/220716583_A_Solution_to_Single_Point_of_Failure_Using_Voter_Replication_and_Disagreement_Detection
• http://slopjong.de/wp-content/2011/06/correcting_bit_error.png