44
Dresden, 11.05.2017 Verteidigung der Studienarbeit ANALYSE DER BEOBACHTBARKEIT DER FEHLERFORTPFLANZUNG IN EINEM MIKROPROZESSOR ANHAND VERSCHIEDENER TRACE-KONFIGURATIONEN Matthias Brinker

Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Dresden, 11.05.2017

Verteidigung der Studienarbeit

ANALYSE DER BEOBACHTBARKEITDER FEHLERFORTPFLANZUNG INEINEM MIKROPROZESSOR ANHANDVERSCHIEDENERTRACE-KONFIGURATIONEN

Matthias Brinker

Page 2: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 2 von 42

Gliederung

1. Einleitung und Motivation2. Entwurf und Implementierung3. Testbedingungen4. Auswertungsverfahren5. Analyse6. Zusammenfassung und Ausblick7. Quellen

Page 3: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 3 von 42

Einleitung und Motivation

Page 4: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 4 von 42

Einleitung und Motivation

Problem:

● Komplexere, kleinere Bauteile anfälliger für →Störung

● Eingebundene Systeme nicht anhaltbar

Page 5: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 5 von 42

Einleitung und Motivation

Lösung: Trace und Instrumentierungsbasierte Hardwarefehlerinjektion

● Relevante Daten werden aufgezeichnet ● Auswertung der Daten nicht zur Laufzeit ● Fehler werden mit Hilfe der Trace-Hardware injiziert● Zwei Ansätze (Fidalgo und Gunia)

Page 6: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 6 von 42

Fehlerinjektion nach Gunia

Time Register:Zeitpunkt der Injektion

Length Register:(zeitliche) Länge der Injektion

Mask Register:Ort der Injektion

Quelle: [1]

Einleitung und Motivation

Page 7: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 7 von 42

Entwurf und Implementierung

Page 8: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 8 von 42

Endwurf und Implementierung

Board:

● Xilinx ML505 ● MIPS-Prozessor● 6,25 MHz

MIPS Bootram

LED

Bootram

Timer

WishboneDatabus

Instruction BusBoard

Page 9: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 9 von 42

Implementierung

Programme:

● Fibonacci-Folge (Fibo)● Primzahlen Sieb (PZ)● Quicksort (QS)

Page 10: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 10 von 42

Programm Laufzeit (Takte)

Komplexität Registerbank Register

Fibo 174 einfach 6/31

PZ 7216 moderat 11/31

QS 645 komplex 17/31

Endwurf und Implementierung

Programme:

Page 11: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 11 von 42

MIPS

IF ID EX LS WBPC

Registerbank

Bootram

LED

Bootram

Timer

WishboneDatabus

Instruction Bus

Controller

Fehler-injektor

Host

Bus Trace

Instruction Trace

992

30 62 144 103 381369

Page 12: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 12 von 42

Endwurf und Implementierung

Fehlerinjektion vor Flip-Flops:

● Zcur : aktuelle Wert des Flip-Flops

● FISx : Wert von Controller, ob Fehlerinjektion ausgeführt werden soll

Quelle: [1]

Page 13: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 13 von 42

Endwurf und Implementierung

Fehlermodelle:

Fehler in Speichergliedern● Flip-to-0● Flip-to-1● Bit-Flip

(FIS⋅zcur )⋅CE+(FIS⋅D)⋅CE

(FIS+ zcur)⋅CE+(FIS+D)⋅CE

(FIS⊗zcur )⋅CE+(FIS⊗D )⋅CE

Page 14: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 14 von 42

Testbedingungen

Page 15: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 15 von 42

Testbedingungen

Kampagne

● Bestimmtes Programm und Fehlermodell → 9 Kampagnen (3 Fehlermodelle, 3 Programme)

● Fehlerinjektion in alle benutzen Register● Deterministischen Zeitpunkten (Äquidistant)

Page 16: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 16 von 42

A B C1 2 3 41 5 6 7

S : ProgrammstartA : Start TriggerB : Stop TriggerC : Trace wird von Host-PC gestoppt (nach 1 Sekunde)

: Fehlerinjektionszeitpunkte

Testbedingungen

S

Page 17: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 17 von 42

Auswertungsverfahren

Page 18: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 18 von 42

Auswertungsverfahren

Auswertung:

● „Golden Run“ als Referenz● „Golden Run“ sind die

Trace-Daten eines fehlerfreien Durchlaufs

● Vier verschiedene Szenarien

Befehl Daten

Jump 38

Load A:70

Store A:70 D:5

Jump 4c

Load A:74

Store A:74 D:6

Jump 4c

Store A:70 D:7

Jump Endlos

Golden Run

Page 19: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 19 von 42

Auswertungsverfahren

Befehl Daten

Jump 38

Load A:70

Store A:70 D:5

Jump 4c

Load A:74

Store A:74 D:6

Jump 4c

Store A:70 D:7

Jump Endlos

Golden RunBefehl Daten

Jump 38

Load A:71

Store A:70 D:5

Jump 4c

Load A:74

Store A:74 D:6

Jump 4c

Store A:70 D:7

Jump Endlos

Faulty RunSzenario 1Kein Fehler

Page 20: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 20 von 42

Auswertungsverfahren

Befehl Daten

Jump 38

Load A:70

Store A:70 D:5

Jump 4c

Load A:74

Store A:74 D:6

Jump 4c

Store A:70 D:7

Jump Endlos

Golden RunBefehl Daten

Jump 38

Load A:71

Store A:70 D:5

Jump 4c

Load A:74

Store A:74 D:6

Jump 4c

Store A:70 D:7

Jump Endlos

Faulty RunSzenario 2

=

Fehler

Page 21: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 21 von 42

Auswertungsverfahren

Befehl Daten

Jump 38

Load A:70

Store A:70 D:5

Jump 4c

Load A:74

Store A:74 D:6

Jump 4c

Store A:70 D:7

Jump Endlos

Golden RunBefehl Daten

Jump 38

Load A:71

Store A:70 D:5

Jump 4c

Load A:74

Store A:74 D:6

Jump 4c

Store A:70 D:7

Jump Endlos

Faulty RunSzenario 3

=

Kein Fehler

Page 22: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 22 von 42

Auswertungsverfahren

Befehl Daten

Jump 38

Load A:70

Store A:70 D:5

Jump 4c

Load A:74

Store A:74 D:6

Jump 4c

Store A:70 D:7

Jump Endlos

Golden RunBefehl Daten

Jump 38

Load A:71

Store A:70 D:5

Jump 4c

Load A:74

Store A:74 D:6

Jump 4c

Store A:70 D:7

Jump Endlos

Faulty RunSzenario 4

=

Kein Fehler

Page 23: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 23 von 42

Auswertungsverfahren

SzenarienSzenario Vorteile Nachteile

1 : Final State ● Keine unentdeckten Fehler

● Keine falsch positiv Ergebnisse

● Benötigt ganzen Trace

2 : Instr + Data ● Keine unentdeckten Fehler

● Benötigt ganzen Trace

3 : Instr ● Wenig Trace-Daten ● Unentdeckte und falsch Positive Fehler

4 : Data ● Weniger Trace-Daten ● Unentdeckte und falsch Positive Fehler

Page 24: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 24 von 42

Auswertungsverfahren

Bewertungsformeln

● k(i,t) : Entscheidungsformel für einen Ort i und Zeitpunkt t

● R(i) : Durchschnittliche Fehlerwahrscheinlichkeit an einem Ort i

● R : Durchschnittliche Fehlerwahrscheinlichkeit

k (i , t )={0 wenn falsch1 wenn korrekt

R (i)=1− 1T∑t=1

T

k (i , t )

R= 1N∑i=1

N

R (i)

Page 25: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 25 von 42

Analyse

Page 26: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 26 von 42

Analyse

Bit-Flip Fehlerinjektion

● Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen

● (theoretisch) wenn in Flip-to-1 oder Flip-to-0 ein Fehler, dann auch in Bit-Flip

kBit-Flip (i , t)={0 wenn kFlip-to-1(i , t)=0 ∨ kFlip-to-0(i , t )=01 sonst

Page 27: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 27 von 42

Analyse

Durchschnittliche Fehlerwahrscheinlichkeiten (Pipeline)

Fibo PZ QS0

0,05

0,1

0,15

0,2

0,25

0,3

0,35

0,4

Szenario 1Szenario 2Szenario 3Szenario 4

R

Page 28: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 28 von 42

Analyse

Durchschnittliche Fehlerwahrscheinlichkeiten (Registerbank)

Fibo (192 von 992) PZ (352 von 992) QS (544 von 992)0

0,05

0,1

0,15

0,2

0,25

Szenario 1Szenario 2Szenario 3Szenario 4

R

Page 29: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 29 von 42

Bit-Flip Fehlerinjektion in Fibo (Pipeline Register)

R(i)Ausreißer

Gruppierungen

Page 30: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 30 von 42

Bit-Flip Fehlerinjektion in PZ (Pipeline Register)

R(i)Ausreißer

Gruppierungen

Page 31: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 31 von 42

Bit-Flip Fehlerinjektion in QS (Pipeline-Register)

R(i)Ausreißer

Gruppierungen

Page 32: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 32 von 42

Analyse

Load/Store und Jump Commands

● Bit 94 und 238 Load/Store● Bit 98 und 239 Jump Befehle

Page 33: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 33 von 42

Bit-Flip Fehlerinjektion in Fibo (Registerbank)R (i )

Page 34: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 34 von 42

Bit-Flip Fehlerinjektion in PZ (Registerbank)R (i )

Page 35: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 35 von 42

Bit-Flip Fehlerinjektion in QS (Registerbank)R (i )

Page 36: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 36 von 42

Analyse

Bit-Flip Beispiel

● QS Durchlauf 2312● Fehler in Flip-Flop 49● Takt 39 (move-Befehl)

Page 37: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 37 von 42

Analyse

Bit-Flip Beispiel

● move = add $d, $s, $t● $t = 0-Register● Bit-Flip in Bit 19 des ADD-Befehls

→ $t = $a2

Page 38: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 38 von 42

Zusammenfassung und Ausblick

Page 39: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 39 von 42

Zusammenfassung

Auswertung

● 3 Programme, 3 Fehlermodelle, 4 Auswertungszenarien

● Fehlerinjektion zu 100 Zeitpunkten in 569 - 921 Flip-Flops

● Mehr als 650.000 ausgewertete Durchläufe

Page 40: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 40 von 42

Zusammenfassung

Ergebnisse

● Fehlerwahrscheinlichkeit hängt stark von Fehlermodell und dem ausgeführten Programm ab

● Szenario 1 eignet sich am Besten für Fehlererkennung, allerdings viele Trace-Daten

● Durchläufe können sich in seltenen Fällen untereinander beeinflussen

Page 41: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 41 von 42

Ausblick

Nächsten Schritte

● Trace-Zeitpunkte überarbeiten● Prozessor nach jedem Durchlauf zurück setzen● Weiter Analysen

Page 42: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 42 von 42

Quellen

1) Erweiterung der Trace-Hardware eines Mikroprozessors für die Fehlerinjektion und Fehlerbeobachtung Marco Gunia

weitere Quellen siehe Studienarbeit

Page 43: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 43 von 42

Backup

Durchschnittliche Fehlerwahrscheinlichkeiten (Pipeline)

Programm

Fibo 0,364 0,373 0,166 0,368

PZ 0,221 0,296 0,232 0,294

QS 0,283 0,362 0,286 0,356

R1Bit−Flip R2

Bit−Flip R3Bit−Flip R4

Bit−Flip

Page 44: Verteidigung der Studienarbeit · Kampagne Bestimmtes ... Bit-Flip Fehler höhste Fehlerwahrscheinlichkeit von allen Fehlermodellen (theoretisch) wenn in Flip-to-1 oder Flip-to-0

Folie Nr. 44 von 42

Backup

Durchschnittliche Fehlerwahrscheinlichkeiten (Registerbank)

Programm(Anzahl benutzter Flip-Flops)

Fibo (192 von 992)

0,101 0,110 0,080 0,086

PZ(352 von 992)

0,180 0,224 0,174 0,208

QS(544 von 992)

0,163 0,198 0,148 0,184

R1Bit−Flip R2

Bit−Flip R3Bit−Flip R4

Bit−Flip