Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Sonje Aber Geändert vor über 10 Jahren
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.