- Verlässliche Systeme - TU Chemnitz: Fakultät für Informatik

Verlässliche Systeme – Einführung
1.1 Regularien
Verlässliche Systeme
Wintersemester 2015/2016
1.1 Regularien
Language/Sprache
Verlässliche Systeme
1. Kapitel
I
Although English is the official course
language, German is partly supported:
I
The handouts are provided in English
and German
Prof. Matthias Werner
I
Professur Betriebssysteme
I
Einführung
I
Obwohl die Lehrveranstaltung als
englischsprachig ausgewiesen ist,
werden deutschsprachig Studierende
teilweise unterstützt:
Literature is in English anyway.
I
Language of a question determines
the language of the answer
Das Kursmaterial (Handouts) wird in
Deutsch und Englisch bereit gestellt
I
Literatur ist durchweg englisch
I
Fragen werden in der bei der
Fragestellung benutzten Sprache
beantwortet
WS 2015/2016 · M. Werner
Verlässliche Systeme – Einführung
1.1 Regularien
Übung
I
I
Verlässliche Systeme (565130)
(für Fans der alten Rechtschreibung: Verläßliche Systeme“)
”
Dozent: Prof. Matthias Werner
I
I
I
Übungsleiter: Jafar Akhundov
Ort & Zeit:
I
I
I
[email protected]
Material und aktuelle informationen unter
http://osg.informatik.tu-chemnitz.de/lehre/ds
I
I
Ort & Zeit:
I
I
I
Mo, 13.45 – 15.15 Uhr
Raum 1/219
WS 2015/2016 · M. Werner
I
osg.informatik.tu-chemnitz.de
Klärung von Fragen zur Vorlesung
Überprüfen von Lösungswegen von Hausaufgaben
Rechnen von Beispielaufgaben
Übungen sind (wie die Vorlesung) ein Angebot
I
3 / 34
Fr, 7.30 – 9.00 Uhr
Raum 1/205
Inhalt:
I
I
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.1 Regularien
Vorlesung
I
2 / 34
Sie setzen Vorbereitung und Mitarbeit der Teilnehmer voraus
Bei Mangel an Interesse/Vorbereitung spielt der Übungsleiter nicht Alleinunterhalter,
sondern beendet die Übung
WS 2015/2016 · M. Werner
4 / 34
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.1 Regularien
Verlässliche Systeme – Einführung
1.1 Regularien
Zur Beachtung
I
Auch zur Beachtung
In allen Lehrveranstaltungen ist das Handy abzuschalten!
WS 2015/2016 · M. Werner
5 / 34
I
Die Vorlesung beginnt 13:45 Uhr – bitte seien Sie pünktlich
WS 2015/2016 · M. Werner
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.1 Regularien
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.1 Regularien
Anrechenbarkeit
I
6 / 34
Hinweis
Anrechenbarkeit für:
I
I
I
I
I
Master Informatik
Master Angewandte Informatik
Master Automotive Software Engineering
Master Biomedizinische Technik
Master Web Engineering
auslaufend:
I
I
I
Master High-Performance Computing
Diplom Informatik
Diplom Angewandte Informatik
I
Lernen des Stoffes ist eine notwendige aber nicht hinreichende Bedingung zum
Bestehen des Moduls
I
Sie sollten den Stoff auch verstehen.
Merke
Sie sollten nicht nur Was-Fragen beantworten können, sonder auch Warum-Fragen!
I
Studenten anderer Richtungen brauchen eine Anerkennung
I
Prüfung
I
I
schriftliche Prüfung
Anmeldung über das Prüfungsamt
WS 2015/2016 · M. Werner
7 / 34
osg.informatik.tu-chemnitz.de
WS 2015/2016 · M. Werner
8 / 34
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.1 Regularien
Verlässliche Systeme – Einführung
1.1 Regularien
Literaturempfehlungen
Literaturempfehlungen (Forts.)
I
Die Vorlesung folgt keinem einzelnen Lehrbuch
I
Jedoch sind einige Standardwerke empfehlenswert:
[AL82]
I
Zusätzlich wird folgendes Material zur Verfügung gestellt:
I
I
I
Thomas Anderson und Pete A. Lee. Fault Tolerance – Principles and Practice. Prentice
Hall, 1982
[Pra96]
Dhiraj K. Pradhan, Hrsg. Fault Tolerant Computer Systems. Prentice Hall, 1996
[SS95]
Daniel P. Siewiorek und Robert S. Swarz. The Theory and Practice of Reliable Systems
Design. Digital Press, 1995
I
I
WS 2015/2016 · M. Werner
9 / 34
)
Originalartikel (markiert durch
Link auf der Homepage
á Account beim TUC Web-Trust-Center nötig
osg.informatik.tu-chemnitz.de
WS 2015/2016 · M. Werner
10 / 34
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.2 Verlässlichkeit
1.2 Verlässlichkeit
Handout
Begriff der Verlässlichkeit
Beispielsscript (bash), um Handout in 1x1-Format zu konvertieren
I Benötigt ghostscript und pdf-Toolkit
I YMMV
# !/ usr / bin / env bash
if [ -z " $1 " ] || [ ! -f " $1 " ] || \
[ ‘ file - Ib $1 | cut - f1 -d ’ ’‘ != " application / pdf ; " ];
then
echo " No valid input file "
exit 1
fi
x =( 0 -421 0 -421)
y =( -297 -297 0 0)
temp = ‘ mktemp -u / tmp / pdf - cv - XXXXX ‘
for i in {0..3}; do
gs -q - dNOPAUSE - dBATCH -P - - dSAFER - sDEVICE = pdfwrite \
- g4210x2975 - sOutputFile = $ { temp } $i . pdf \
-c " < </ PageOffset [ $ { x [ $i ]} $ { y [ $i ]}] > > setpagedevice " \
-f $1 ;
done
pdftk $ { temp }?. pdf shuffle output $ {1/. pdf / -1 x1 . pdf }
rm $ { temp }?. pdf
WS 2015/2016 · M. Werner
Ich bemühe mich, sie vorjeweiligen Behandlung in der Vorlesung ins Netz zu stellen
Können durch eigene Notizen ergänzt werden
Folien werden im Format 2x2 pro Seite zur Verfügung gestellt; wer es anders will, kann
einschlägige Tools nutzen
I
Verlässliche Systeme – Einführung
1.1 Regularien
I
Handout der Folien im Netz
11 / 34
osg.informatik.tu-chemnitz.de
I
Früher: (bis ca. 80er Jahre)
Verlässlichkeit ist Eigenschaft fehlertoleranter Systeme
I
Heute:
Verlässlichkeit (dependability) ist ein Oberbegriff, der eine Vielzahl von Konzepten
und Maßen abdeckt.
Allgemeine Frage:
Wie umgehen mit unerwarteten/unerwünschten Ereignissen?“
”
I
Unerwartete Ereignisse = Störungen
I
z.B. sind Angriffe beabsichtigte Störungen
WS 2015/2016 · M. Werner
12 / 34
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.2 Verlässlichkeit
Verlässliche Systeme – Einführung
1.2 Verlässlichkeit
Begriff der Verlässlichkeit (Forts.)
Begriff der Verlässlichkeit (Forts.)
I
Definition 1.1 (LAPRIE 1993)
Aspekte der Verlässlichkeit
I
Dependability is defined as the trustworthiness of a computer system such that
reliance can justifiable be placed on the service it delivers.
The service delivered is it behaviour as it is perceptible to its user(s); a user is another
system (human or physical) which interacts with the former.
I
I
I
Zuverlässigkeit
Verfügbarkeit
Sicherheit (safety)(nach außen)
Sicherheit (security)(nach innen)
I
I
I
I
Achtung: nach der Definition fällt auch unerwünschtes Verhalten unter den
Dienstbegriff.
I
13 / 34
WS 2015/2016 · M. Werner
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.2 Verlässlichkeit
I
I
Programmiersprachen
Interfacebeschreibungen
Nichtfunktionale Eigenschaften sind Randaspekte“
”
I
I
I
I
Ausführungszeit
Ressourcenverbrauch
Zuverlässigkeit
Sicherheit
..
.
WS 2015/2016 · M. Werner
osg.informatik.tu-chemnitz.de
Probleme...
Üblicherweise interessiert die eigentliche Funktion oder ihr Ergebniswert
I
14 / 34
Verlässliche Systeme – Einführung
1.2 Verlässlichkeit
Nichtfunktionale Eigenschaften
I
Wartbarkeit
Korrektheit (Wert und Zeit)
á Verlässlichkeitseigenschaften sind nichtfunktionale Eigenschaften
Beispiel: Schaden gegenüber Dritten
WS 2015/2016 · M. Werner
I
Vertraulichkeit
Integrität
... mit nicht-funktionalen Eigenschaften
I
Schwierig zu definieren
I
Schwierig zu abstahieren
I
Divide et impera (teile und herrsche) funktioniert häufig nicht gut
I
Abhängigkeiten zwischen verschiedenen nicht-funktionalen Eigenschaften
I
Vielfach probabilistische Abhängigkeiten
Genauere Betrachtung führt oft zu überraschenden Ergebnissen.
15 / 34
osg.informatik.tu-chemnitz.de
WS 2015/2016 · M. Werner
16 / 34
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
1.3 Fallbeispiele
Automatisches Lösen der Handbremse
Beispiel I: Spezifikation vs. Implementation
I
Automatische Handbremse
I
I
Beispiel: VW Passat
Wird beim Anfahren automatisch gelöst
I
Was gemeint war
I
Was implementiert wurde
Was passiert
I
Klimaanlage fährt hoch
Drehzahl steigt
Gaspedal drücken
Bildquelle:
Feststellbremse wird gelöst
www.autozeitung.de
WS 2015/2016 · M. Werner
17 / 34
osg.informatik.tu-chemnitz.de
WS 2015/2016 · M. Werner
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
Alternative Designs
1
Dienst hängt von der Ausführung von 6 Tasks
ab
I
Beendigungswahrscheinlichkeit jeder Task ist
innerhalb eines Intervalls gleichverteilt
I
Ein oder zwei Prozessoren stehen zur
Verfügung
I
Deadline: 25 Zeiteinheiten
I
Fehlerrate: λ = 0.01, R(t) = e−λ·t
Request
2
einfacher Ansatz
3
P1
4
6
[3; 5]
[2; 6]
[4; 8]
[1; 2]
[4; 5]
[1; 2]
3
4
5
6
min
19 / 34
τ4
τ5
τ6
10
15
20
P1
τ1
τ2
τ3
τ4
τ5
τ6
P2
τ1
τ2
τ3
τ4
τ5
τ6
t
5
max
P1
τ1
τ2
P2
τ3
τ4
5
10
15
adaptiver Ansatz
Echtzeit-Ansatz
2
Welche Schedulingstrategie soll benutzt
werden?
τ3
Antwort
Task
Sollen ein oder zwei Prozessoren eingesetzt
werden?
WS 2015/2016 · M. Werner
τ2
fehlertoleranter Ansatz
5
1
I
τ1
5
Fragestellungen
I
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
Beispiel II: Paradigma vs. Maß
I
18 / 34
10
τ6
τ5
15
20
t
P1
τ1
τ2
P2
τ1
τ2
5
10
t
20
t
Abbruch
τ3
τ4
20
τ5τ6
τ5
τ6
15
t
osg.informatik.tu-chemnitz.de
WS 2015/2016 · M. Werner
20 / 34
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
Alternatives Design I: Einfacher Ansatz
... etwas Mathematik
Erfolgswahrscheinlichkeit
Zt
P1
τ1
τ2
τ3
τ4
τ5
R(t) = P [tready ≤ t] =
τ6
(e−λτ 1 (τ )) ∗ · · · ∗ (e−λτ 6 (τ ))dτ
0
Dabei ist
e−λt : Zuverlässigkeit
(Überlebenswahrscheinlichkeit im Intervall [0, t])
5
10
15
20
(t): Beendigungswahrscheinlichkeit zum Zeitpunkt t bei Fehlerfreiheit
(Antwortzeitverhalten)
t
fx ∗ fy : Faltung der Funktionen fx und fy
Ein Prozessor, sequentielle Ausführung
keine Fehlertoleranz, keine Echtzeit
I
I
WS 2015/2016 · M. Werner
21 / 34
osg.informatik.tu-chemnitz.de
WS 2015/2016 · M. Werner
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
22 / 34
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
... etwas Mathematik (Forts.)
Alternatives Design II: Echtzeit
Erfolgswahrscheinlichkeit
I
1
P1
τ1
τ2
τ3
τ6
0.8
0.6
Ρ ((tt))
R
R(t)
R = 78.85%
0.4
P2
τ4
τ5
0.2
0
5
0
5
10
15
20
25
30
I
I
23 / 34
15
20
t
35
t
WS 2015/2016 · M. Werner
10
osg.informatik.tu-chemnitz.de
Zwei Prozessoren, verteilte Ausführung
Keine Fehlertoleranz, aber Echtzeitgarantie
WS 2015/2016 · M. Werner
24 / 34
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
Alternatives Design II: Echtzeit (Forts.)
Alternatives Design III: Echtzeit
Erfolgswahrscheinlichkeit
I
0.8
P1
τ1
τ2
τ3
τ4
τ5
τ6
P2
τ1
τ2
τ3
τ4
τ5
τ6
0.6
R(t)
R( t ) 0.4
R = 74.48%
0.2
5
0
0
5
10
15
20
25
I
I
WS 2015/2016 · M. Werner
25 / 34
osg.informatik.tu-chemnitz.de
10
15
20
t
Zwei Prozessoren, redundante Ausführung
Fehlertoleranz, aber keine Echtzeit Garantie
WS 2015/2016 · M. Werner
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
26 / 34
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
Alternatives Design III: Echtzeit (Forts.)
Alternatives Design IV: Adaptivität
Erfolgswahrscheinlichkeit
I
Abbruch
1
P1
τ1
τ2
P2
τ1
τ2
τ3
τ5 τ6
0.8
0.6
R(t)
Ρ( t )
R = 94.02%
0.4
τ4
τ5
τ6
0.2
5
0
0
5
10
15
20
25
30
I
I
WS 2015/2016 · M. Werner
27 / 34
osg.informatik.tu-chemnitz.de
10
15
20
t
Zwei Prozessoren, Eager-Scheduling
Fehlertoleranz und Echtzeit je nach Situation
WS 2015/2016 · M. Werner
28 / 34
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
Alternatives Design IV: Adaptivität (Forts.)
I
Vergleich der Designs
Erfolgswahrscheinlichkeit
1
1
0.8
0.8
I
einfacher
Ansatz
I
Echtzeit
I
Fehlertoleranz
I
Adaptivität
0.6
R(t)
0.6
R( t )
R(t)
R = 95.43%
0.4
0.4
0.2
0.2
0
0
0
5
10
15
WS 2015/2016 · M. Werner
20
25
0
5
10
29 / 34
15
20
25
30
35
Deadline
30
osg.informatik.tu-chemnitz.de
WS 2015/2016 · M. Werner
Verlässliche Systeme – Einführung
1.3 Fallbeispiele
30 / 34
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.4 Vorlesungsinhalt
1.4 Inhalt der Vorlesung
Erkenntnisse aus der Fallstudie
Schwerpunkte der Vorlesung
I
Schon einfache Systeme verhalten sich oft unerwartet
I
Vorsicht bei Verbesserungen“:
”
Evtl. wird das Gegenteil erreicht
Fragen beim Entwurf:
I
I
I
I
I
I
I
I
Was will ich erreichen? (Was ist für den Erfolg entscheidend?)
Was sind die Randbedingungen? (z.B. Ressourcen)
31 / 34
osg.informatik.tu-chemnitz.de
Konzepten
Bewertung und Modellierung
(Klassische) Fehlertoleranz
Nicht so sehr:
I
I
I
WS 2015/2016 · M. Werner
Fokus auf
Echtzeit (á Empfehlung: Echtzeitsysteme, Sommersemester)
Sicherheit (á Empfehlung: Prof. Lefmann)
können aber Einfluss haben (siehe Fallstudie)
WS 2015/2016 · M. Werner
32 / 34
osg.informatik.tu-chemnitz.de
Verlässliche Systeme – Einführung
1.4 Vorlesungsinhalt
Verlässliche Systeme – Einführung
1.4 Vorlesungsinhalt
Interessante Fragestellungen
Themen
I
Wie kann man die Verlässlichkeit eines Systems bewerten?
I
I
Warum reicht bei bösartigen“ Fehler nicht die einfache Redundanz?
”
Wie kann man fehlerhaftes Verhalten modellieren?
I
Welche Ansätze gibt es für Tests?
I
Was ist der Unterschied zwischen RAID 1+0 und 0+1?
WS 2015/2016 · M. Werner
33 / 34
osg.informatik.tu-chemnitz.de
I
(Auffrischung der) Grundlagen der Stochastik
I
Verlässlichkeitsmaße und Systembewertung
I
Störungsmodelle
I
Modellierung
I
I
Tests und Fehlerdiagnose
Konsens und Byzantinische Fehler
I
Verifizieren und Testen von Software
I
Fehlertoleranz in Software
I
Fallstudien
WS 2015/2016 · M. Werner
34 / 34
osg.informatik.tu-chemnitz.de