Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Automatische Erzeugung und Bewertung virtueller Duplexsysteme zur Erkennung von Betriebsfehlern in Mikroprozessoren Markus Jochim.

Ähnliche Präsentationen


Präsentation zum Thema: "Automatische Erzeugung und Bewertung virtueller Duplexsysteme zur Erkennung von Betriebsfehlern in Mikroprozessoren Markus Jochim."—  Präsentation transkript:

1 Automatische Erzeugung und Bewertung virtueller Duplexsysteme zur Erkennung von Betriebsfehlern in Mikroprozessoren Markus Jochim

2 Fehlererkennung durch VDS Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 2 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Annahme: In Abwesenheit von Soft- und Hardwarefehlern gilt: f 1 = f 2 = f 1,2 = f Ziel: Berechnung von f(E) bzw. Fehlererkennung mit einem Rechenknoten K. Unerkannte Wertefehler: f 1 (E) = f 2 (E) = f 1,2 (E) aber f 1,2 (E) f(E) V1V1 Knoten K Eingabe E V2V2 Maskierer f 2 (E) Einstimmig- keits- entscheidung Fehlermeldung f 1,2 (E) oder f 1 (E) Virtuelles Duplexsystem (VDS) (Zielfunktion f) Systemüberlistung Ablauf im VDS: 1) Ausführung V1 2) Ausführung V2 3) Maskierer

3 V1V1 V2V2 Prozessor Fehlererkennung durch VDS Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 3 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen V1V1 Knoten K Eingabe E V2V2 Maskierer f 2 (E) Einstimmig- keits- entscheidung Fehlermeldung f 1,2 (E) oder f 1 (E) Virtuelles Duplexsystem (VDS) (Zielfunktion f) FehlerartGegenmittel HW-Fehler (temporär) HW-Fehler (permanent) SW-Fehler Zeitredundanz Diversität Entwurfsdiversität Source 1Source 2 !

4 Ziele dieser Arbeit ? Diversität auf Knopfdruck Hauptziel... Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 4 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen

5 Ziele: Vollautomatische Diversifizierung auf Assemblerebene Automatische zielgerichtete Suche wirksamer Diversitäts-Kombinationen Experimentelle Bewertung automatisch erzeugter VDSe Kombination: Automatische Diversität + Entwurfsdiversität Pessimistische Fehlerinjektion Ziele und Gliederung... Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 5 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen DIVERSI-Module Gliederung: Automatische Diversität Optimierung Fehler-Injektion, Resultat Pessimistische Injektion Bei Bedarf !

6 DIVERSI-Tool Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 6 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Optimierer Modifizierer Fehlerinjektor TesteingabenFehlerspezifikation Initiales System (keine Diversität) Optimiertes System (diversitäres VDS) Veränderungsregeln

7 Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 7 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Anwendung der Regel R auf V2 Beispiel: VDS ( V 1, V 2R ) VDS (V 1,V 2 ) Instr. a Instr. d Instr. a Instr. c Instr. b1 Instr. b2 Instr. b3 Instr. b1 Instr. b2 Instr. b3 Instr. a Instr. b Instr. d Instr. a Instr. b Instr. c Variante V 2 Variante V 2R Regel R Ersetze Instr. b

8 Veränderungsregeln Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 8 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Instr. a Instr. d Instr. a Instr. c Instr. b1 Instr. b2 Instr. b3 Instr. b1 Instr. b2 Instr. b3 Instr. a Instr. b Instr. d Instr. a Instr. b Instr. c Variante V 2 Variante V 2R Regel R Variante V 2R,R Regel R Register- permutation Ersetze Instr. b

9 Implementierte Veränderungsregeln Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 9 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Explizite Adressberechnungen Arithmetische Befehle ersetzen Zerschneiden und umsortieren Registerpermutation Logische Befehle ersetzen (z.B. deMorgan) Diversitäre Daten Registertests Stackoperationen ersetzen Bedingte / unbedingte Sprünge... Σ : 27 Regeln

10 Zyklus 1 Zyklus 2 Zyklus 3 Gierige Optimierung Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 10 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen V 1111 V 1212 V 1r1r V 2121 V 2222 V 2r2r V 3131 V 3232 V 3r3r V 0 R1R2Rr R1R2Rr R1R2Rr...

11 Injektionstechnik Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 11 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Haupt-Anforderungen: Schnelle Injektion Injektion permanenter Fehler Breites Spektrum von Fehlerarten Zwei SWIFI-Techniken: 1) Einbringen von Inj-Code in Assembler-Code des zu bewertenden Programmes 2) Injektion durch Modifikation ausführbarer Programme Beispiele zu injizierender Fehler: Haftfehler in Registern, Übersprechen zwischen Registern, Fehlerhaftes Inkrementieren des Stackpointers, Fehler im Statuswort, Fetch-Fehler, Speichertransfer-Fehler, Fehler bei der Ausführung von ALU-Operationen, Fehler beim Schieben, Decodierungsfehler,... Σ : 49 Fehlerarten

12 FAIL-Spezifikationen Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 12 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen EndAll All myVar3 substitute by {Carry,Zero,Sign,Overflow} All myVar4 substitute by {cleared, inverted, set} All myVar1 substitute by {%eax,%ecx,%edx,%edi,%ebp} All myVar2 substitute by {0,1,2,6,7,8,9,15,16,22,23,28,31} Stuck-at dice{0,1} Bit myVar2 Register myVar1 EndAll Endall All myVar5 substitute by {text,rodata} All myVar6 substitute by {1,3,5,9,20,30,40,50,60,75,95,100,200,300} FlagProblemAfter dice {addl, subl, cmpl} Instruction myVar3 is myVar4 MemoryError randomly inject myVar5 Errors into myVar6 Segment Haftfehler in Registern Statuswort- Verfälschung Speicherfehler

13 Einführung neuer Fehlerarten Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 13 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen All cc substitute by {o,no,b,ae,e,ne,be,a,s,ns,p,np,l,ge,le,g} Condition-action: Conditions instr_found = statement,"movl" s_register = sMode,"gpr" s_memory = sMode,"memoryOperand" d_register = dMode,"gpr" End-Conditions Conjunctions r32_r32 = instr_found & s_register & d_register m32_r32 = instr_found & s_memory & d_register End-Conjunctions Trigger: r32_r32 | m32_r32 Action (r32_r32 | m32_r32): "CMOVccL "source","dest End-Action End-Condition-Action EndAll Neue Fehlerart: Fehlerbedingte Aktivierung der Condition-Unit bei Ausführung von Datentransfer- Befehlen

14 Experimentaufbau Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 14 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen 9 DIVERSI-Experimente (bintree, hanoi, quicksort, crc_table, crc,...) FAIL-Spezifikation: 49 verschiedene Fehlerarten, 4788 Fehler Pro VDS: 4788 Fehler · 5 Programmeingaben = 23940 FI-Experimente Ø 244 VDSe pro DIVERSI-Experiment: 9 · 244 · 23940 = 5,26 · 10 7 FI-Experimente Reduktion des Rechenaufwandes: - Vermeidung absehbarer Injektionen - Vorgezogene Injektion erfolgreicher Fehler => Einsparung von 97,27% aller FI-Experimente ca. 1,72 Prozessor- Jahre ! ( P3, 500 MHz ) ca. 17 Prozessor- Tage

15 0 500 1000 1500 2000 2500 3000 3500 1234567891011 0 500 1000 1500 2000 2500 3000 3500 1234567891011 hexintarraywrk addercrc_table Systemüberlistungen im Verlauf der Optimierung Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 15 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Überlistungen Opt.-Zyklus Überlistungen Opt.-Zyklus hanoiquicksort bubblesort bintreecrc

16 0 500 1000 1500 2000 2500 3000 3500 1234567891011 0 500 1000 1500 2000 2500 3000 3500 1234567891011 Systemüberlistungen im Verlauf der Optimierung Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 16 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen P Gefahr = 1823 Überlistungen 23940 Fehler = 7,61% Beispiel:P Gefahr für ein initiales System P Gefahr = 23 Überlistungen 23940 Fehler Zugehöriges o ptimiertes System: = 0,09% P Gefahr für initiale Systeme = 8,41% P Gefahr für optimierte Systeme = 0,15% Sicherheitsgewinn um Faktor 56

17 Kombination mit Entwurfsdiversität Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 17 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen 0 100 200 300 400 500 1234567891011 crc/crc_tablecrc_table/crc quick/bubblebubble/quick + Faktor 4 Faktor 56 + weniger Opt.-Zyklen + evtl. Erkennung von Softwarefehlern Ø P Gefahr für initiale Systeme = 1,94% Ø P Gefahr für optimierte Systeme = 0,00% Überlistungen Opt.-Zyklus

18 Pessimistische Injektion Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 18 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Beobachtung: Ca. 90% aller (zeitaufwendig) injizierten Fehler sind zur Systemüberlistung grundsätzlich ungeeignet. Idee der pessimistischen Injektion: Absenkung des Anteils der zur Systemüberlistung grundsätzlich ungeeigneten Fehler. Effekt: Mehr Injektionen mit Überlistungspotential => Strengere Systembewertungen bei gleichem Zeitbedarf. Nennung der Grundidee...... mehr bei Bedarf !

19 Zusammenfassung Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 19 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Automatische Diversifizierung (Technik & Tool) Unabhängigkeit von Compiler und Hochsprache Automatische Suche wirksamer Diversitäts-Kombinationen Geeignete Fehlerinjektionsumgebung & FAIL Schnelle & intensive Systembewertung Pessimistische Fehlerinjektion 1)Automatisch erzeugte VDSe: Ø P Gefahr : 8,41% 0,15% (Faktor: 56) 56 und besser... (90% temporäre Fehler) 2)Kombination mit Entwurfsdiversität: Ø P Gefahr : 8,41% 1,94% 0,00% Kostengünstige HW-Fehlererkennung durch virtuelle Duplexsysteme

20 Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 20 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Die folgenden Folien sind KEIN BESTANDTEIL des Vortrages. Dienen als Folienvorrat zur Klärung erwarteter Fragen.

21 Stand der Technik... Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 21 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Prozeduren umgruppieren mathematische Äquivalenzen verschiedene Datentypen Übersetzer- Diversität Umwandlung von Schleifen Code- Optimierungen Anzahl Code-Segmente Register- Permutation komplementäre Bedingungen Unabhängiger Entwurf Resultierende VDSe zeigen bei HW-Fehlern deutlichen Sicherheitsgewinn gegenüber Simplexsystemen VDS zur Erkennung temporärer + permanenter HW-Fehler geeignet preiswerte Alternative zum Duplexsystem Manuell / Automatisch Hochsprache / Assembler / Übersetzer Geeignete Kombinationen Aufwand + Abhängigkeiten von Hochsprache und Übersetzer

22 Kombination mit Entwurfsdiversität Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 22 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen crc virtuelles Duplexsystem Bisher: crc Simplexsystem DIVERSI Simplexsystem crc virtuelles Duplexsystem crc Simplexsystem crc virtuelles Duplexsystem Jetzt: crc_table Simplexsystem DIVERSI Simplexsystem crc virtuelles Duplexsystem crc_table Simplexsystem Faktor 56 Faktor 4

23 Motivation zur pessimistischen Injektion Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 23 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen HärtegradEreignisGefährdung zu weich balanciert zu hart - Korrekter Ausgabewert im richtigen Format - Fehlerhaftes Ausgabeformat - Keine Ausgabe - Timeout - Absturz - Fehlerhafter Ausgabewert im richtigen Format harmlos potentiell gefährlich harmlos Beobachtungen: ca. 90% aller injizierten Fehler sind harmlos Fehlerinjektionsexperimente sind zeitaufwendig Idee: Zu harte Fehler abschwächen zu balancierten Fehlern

24 Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 24 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Permanent injizierte Fehler wirken bei jeder Instruktion. Ziel: Wirkung nicht bei jeder Instruktion Aber: Temporäre Fehler sind ungeeignet Pessimistische Injektionstechnik Inst. 1 Inst. 2 Inst. 3 Inst. 4 Inst. 5 Inst. 6 VDS 1 DIVERSI Inst. 1 Inst. 2 Inst. 3 Inst. 4 Inst. 5 Inst. 6 VDS 2 Inst. 2 Inst. 3 Inst. 3 Inst. 4 Inst. 5 Inst. 6 Inst. 1 Inst. 2 Inst. 3 Inst. 4 Inst. 5 Inst. 6 Inst. 1


Herunterladen ppt "Automatische Erzeugung und Bewertung virtueller Duplexsysteme zur Erkennung von Betriebsfehlern in Mikroprozessoren Markus Jochim."

Ähnliche Präsentationen


Google-Anzeigen