Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

19
Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213

Transcript of Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

Page 1: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

Fehlertoleranz und Robustheit

Präsentation von Thomas Schlögl

1125213

Page 2: 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

Page 3: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

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

Page 4: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

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

Page 5: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

Phasen der Fehlertoleranz• Fehlererkennung

• Error Detecting Codes• Reasonableness Check• State Estimation

• Fehlereinschätzung• Fehlerkorrektur (Recovery)

• Error Correcting Codes

• Wiederaufnahme des normalen Betriebs

Page 6: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

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

Page 7: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

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

Page 8: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

Maßnahmen zur Fehlertoleranz auf HW-Ebene

• Redundanz• TMR (Triple Modular Redundancy)• Passive Redundancy• Active Redundancy

•Wartung• Preventive Maintenance

Page 9: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

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

Page 10: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

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)

Page 11: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

MTMRDD

Page 12: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

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

Page 13: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

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)

Page 14: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

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

Page 15: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

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

Page 16: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

Automatic Correction of Control-flow Errors

• Statisches Einfügen von Zusatzinstruktionen zur Überprüfung von Control-flow Errors

• Checkpoints (Recovery)

• Behebung transienter Fehler

Page 17: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

COTS• Commercial Off-The-Shelf

• Seriengefertige Produkte• Große Stückzahl• Meist billiger Preis• Für allgemeine Anwendungsszenarien entworfen

Page 18: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

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

Page 19: Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl 1125213.

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