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

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

Transcript of Automatische Erzeugung und Bewertung virtueller Duplexsysteme zur Erkennung von Betriebsfehlern in...

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

Automatische Erzeugung und Bewertung virtueller Duplexsysteme zur Erkennung von Betriebsfehlern in

Mikroprozessoren

Markus Jochim

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

Fehlererkennung durch VDS

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 2Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

Annahme:In Abwesenheit von Soft- und

Hardwarefehlern gilt: f1 = f2 = f1,2 = f

Ziel:Berechnung von f(E) bzw. Fehlererkennung mit einem Rechenknoten K.

Unerkannte Wertefehler:

f1(E) = f2(E) = f1,2(E) aber f1,2(E) f(E)

V1

Knoten K

Eingabe E

V2

Maskierer

f2(E)

Einstimmig-keits-

entscheidung Fehlermeldungf1,2(E) oder

f1(E)

Virtuelles Duplexsystem (VDS)(Zielfunktion f)

Systemüberlistung

Ablauf im VDS:

1) Ausführung V1

2) Ausführung V2

3) Maskierer

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

V1 V2

Prozessor

Fehlererkennung durch VDS

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 3Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

V1

Knoten K

Eingabe E

V2

Maskierer

f2(E)

Einstimmig-keits-

entscheidung Fehlermeldungf1,2(E) oder

f1(E)

Virtuelles Duplexsystem (VDS)(Zielfunktion f)

Fehlerart Gegenmittel

HW-Fehler(temporär)

HW-Fehler(permanent)

SW-Fehler

Zeitredundanz

Diversität

Entwurfsdiversität

Source 1 Source 2

!

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

Ziele dieser Arbeit ?

Diversität aufKnopfdruck

Hauptziel . . .

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 4Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

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

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 5Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

DIVERSI-Module

Gliederung:

AutomatischeDiversität

Optimierung

Fehler-Injektion,Resultat

Resultat

PessimistischeInjektion

Bei Bedarf !

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

DIVERSI-Tool

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 6Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

Optimierer

Modifizierer Fehlerinjektor

Testeingaben Fehlerspezifikation

Initiales System(keine Diversität)

Optimiertes System(diversitäres VDS)

Veränderungsregeln

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

Veränderungsregeln

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 7Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

Anwendung derRegel R auf V2

Beispiel:

VDS ( V1, V2R )

VDS (V1,V2)

Instr. a

Instr. d

Instr. a

Instr. c

Instr. b‘1Instr. b‘2Instr. b‘3

Instr. b‘1Instr. b‘2Instr. b‘3

Instr. a

Instr. b

Instr. d

Instr. a

Instr. b

Instr. c

Variante V2 Variante V2R

Regel R

Ersetze„Instr. b“

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

Veränderungsregeln

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 8Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

Instr. a

Instr. d

Instr. a

Instr. c

Instr. b‘1Instr. b‘2Instr. b‘3

Instr. b‘1Instr. b‘2Instr. b‘3

Instr. a

Instr. b

Instr. d

Instr. a

Instr. b

Instr. c

Variante V2 Variante V2R

Regel R

Variante V2R,R‘

Regel R‘

Register-permutation

Ersetze„Instr. b“

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

Implementierte Veränderungsregeln

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 9Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversitä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

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

Zyklus1

Zyklus2

Zyklus3

Gierige Optimierung

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 10Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

V11 V1

2 V1r

V21 V 2

2 V2r

V31 V3

2 V3r

V0

R1 R2 Rr

R1 R2 Rr

R1 R2 Rr

. . .

. . .

. . .

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

Injektionstechnik

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 11Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversitä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

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

FAIL-Spezifikationen

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 12Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

EndAllEndAll

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

EndAllEndAll

EndallEndall

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 inRegistern

Statuswort-Verfälschung

Speicherfehler

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

Einführung neuer Fehlerarten

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 13Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversitä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 derCondition-Unit bei Ausführung

von Datentransfer-Befehlen“

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

Experimentaufbau

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 14Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversitä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 · 107 FI-Experimente

• Reduktion des Rechenaufwandes:

- Vermeidung absehbarer Injektionen- Vorgezogene Injektion erfolgreicher Fehler=> Einsparung von 97,27% aller FI-Experimente

ca. 1,72Prozessor-

Jahre !( P3, 500 MHz )

ca. 17Prozessor-

Tage

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

0

500

1000

1500

2000

2500

3000

3500

1 2 3 4 5 6 7 8 9 10 110

500

1000

1500

2000

2500

3000

3500

1 2 3 4 5 6 7 8 9 10 11

hexint arraywrk

adder crc_table

Systemüberlistungen im Verlauf der Optimierung

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 15Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

Überlistungen

Opt.-Zyklus

Überlistungen

Opt.-Zyklushanoi quicksort

bubblesortbintree crc

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

0

500

1000

1500

2000

2500

3000

3500

1 2 3 4 5 6 7 8 9 10 110

500

1000

1500

2000

2500

3000

3500

1 2 3 4 5 6 7 8 9 10 11

Systemüberlistungen im Verlauf der Optimierung

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 16Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

PGefahr = 1823 Überlistungen

23940 Fehler= 7,61%

Beispiel: „PGefahr für ein initiales System“

PGefahr = 23 Überlistungen

23940 Fehler

Zugehöriges optimiertes System:

= 0,09%

PGefahr für initiale Systeme = 8,41%

PGefahr für optimierte Systeme = 0,15%

Sicherheitsgewinnum Faktor 56

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

Kombination mit Entwurfsdiversität

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 17Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

0

100

200

300

400

500

1 2 3 4 5 6 7 8 9 10 11

crc/crc_table crc_table/crc

quick/bubble bubble/quick

+ Faktor 4 Faktor 56

+ weniger Opt.-Zyklen

+ evtl. Erkennung von Softwarefehlern

Ø PGefahr für initiale

Systeme = 1,94%

Ø PGefahr für optimierte

Systeme = 0,00%

Überlistungen

Opt.-Zyklus

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

Pessimistische Injektion

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 18Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

Beobachtung: Ca. 90% aller (zeitaufwendig) injizierten Fehler sind zurSystemüberlistung grundsätzlich ungeeignet.

Idee der pessimistischen Injektion: Absenkung des Anteils der zur Systemüberlistung grundsätzlichungeeigneten Fehler.

Effekt: Mehr Injektionen mit Überlistungspotential =>Strengere Systembewertungen bei gleichem Zeitbedarf.

Nennung der Grundidee . . . . . . mehr bei Bedarf !

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

Zusammenfassung

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 19Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversitä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:

Ø PGefahr: 8,41% 0,15% (Faktor: 56)

56 und besser... („90% temporäre Fehler“)

2) Kombination mit Entwurfsdiversität:

Ø PGefahr: 8,41% 1,94% 0,00%

„Kostengünstige HW-Fehlererkennung durch virtuelle Duplexsysteme“

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

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 20Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

Die folgenden Folien sind KEIN BESTANDTEIL

des Vortrages.

Dienen als Folienvorrat zur Klärung erwarteter Fragen.

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

Stand der Technik . . .

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 21Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

Prozedurenumgruppieren

mathematischeÄquivalenzen

verschiedeneDatentypen Übersetzer-

Diversität

Umwandlung von

Schleifen

Code-Optimierungen

Anzahl Code-Segmente Register-

Permutationkomplementäre

Bedingungen

UnabhängigerEntwurf

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 vonHochsprache und Übersetzer

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

Kombination mit Entwurfsdiversität

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 22Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

crc

virtuelles Duplexsystem

Bisher:

crcSimplexsystem

DIVERSISimplexsystem

crc‘

virtuelles Duplexsystem

crc‘‘Simplexsystem

Simplexsystem

crc

virtuelles Duplexsystem

Jetzt:

crc_tableSimplexsystem

DIVERSISimplexsystem

crc‘

virtuelles Duplexsystem

crc_table‘Simplexsystem

Simplexsystem

Faktor 56

Faktor 4

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

Motivation zur pessimistischen Injektion

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 23Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversität Duisburg-Essen

Härtegrad Ereignis Gefährdung

zu weich

balanciert

zu hart

- Korrekter Ausgabewert im richtigen Format

- Fehlerhaftes Ausgabeformat

- Keine Ausgabe

- Timeout

- Absturz

- Fehlerhafter Ausgabewert im richtigen Format

harmlos

potentiellgefährlich

harmlos

Beobachtungen:• ca. 90% aller injizierten Fehler sind harmlos• Fehlerinjektionsexperimente sind zeitaufwendig

Idee: Zu harte Fehler abschwächen zu balancierten Fehlern

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

Einführung

DIVERSI-Module

Automatische

Diversität

Optimierung

Fehler-Injektion

Resultate

Pessimistische

Injektion

Zusammen-fassung

Seite 24Verlässlichkeit von RechensystemenInstitut für Informatik und WirtschaftsinformatikUniversitä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. 3‘‘‘

Inst. 4

Inst. 5

Inst. 6‘Inst. 6‘‘

Inst. 1

Inst. 2‘Inst. 2‘‘

Inst. 3

Inst. 4‘Inst. 4‘‘Inst. 4‘‘‘

Inst. 5

Inst. 6

Inst. 1