Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme
Visualisierung verteilter Systeme
Heiko Krumm: Verteilte Algorithmen
von Christian Grümme
Heiko Krumm: Verteilte Algorithmen
2
Heiko Krumms Homepage:http://ls4-www.cs.uni-dortmund.de/RVS/MA/hk/OrdnerVertAlgo/VertAlgoStart.html
Visualisierung von Verteilten Algorithmendurch animiertes HTML- und JAVA-Applets
Dortmund, 1997
Heiko Krumm: Verteilte Algorithmen
3
Beschriebene Algorithmen:• Echo-Algorithmus • Serieller Netzdurchlauf • Nachrichten-Auslöschungsprinzip • Schnappschuss • Alternating Bit Protokoll
Heiko Krumm: Verteilte Algorithmen
4
Startseite
Heiko Krumm: Verteilte Algorithmen
5
I. Der Echo-Algorithmus
Der Echo-Algorithmus in Kürze:- Ein Knoten (Station) schickt eine
empfangene Nachricht (gleichzeitig) an alle anderen Nachbar weiter und wartet auf eine Antwort oder dieselbe Nachricht von jeden von ihnen und schickt dann eine Antwort an den Ursprung zurück.
- Vorraussetzung: Zuverlässiger und verlustfreier Datenaustausch
Heiko Krumm: Verteilte Algorithmen
6
Das Visualisierungsapplet:
I. Der Echo-Algorithmus
Heiko Krumm: Verteilte Algorithmen
7
Start
I. Der Echo-Algorithmus
Heiko Krumm: Verteilte Algorithmen
8
Erste Nachbarn erreicht
I. Der Echo-Algorithmus
Heiko Krumm: Verteilte Algorithmen
9
I. Der Echo-Algorithmus
Sternknoten aktiv:
Heiko Krumm: Verteilte Algorithmen
10
I. Der Echo-Algorithmus
Quittierung durch Anfragenachricht
Heiko Krumm: Verteilte Algorithmen
11
I. Der Echo-Algorithmus
Erste Terminierungen
Heiko Krumm: Verteilte Algorithmen
12
I. Der Echo-Algorithmus
Sternknoten terminiert
Heiko Krumm: Verteilte Algorithmen
13
I. Der Echo-Algorithmus
Fertig: spannender Baum
Heiko Krumm: Verteilte Algorithmen
14
I. Der Echo-Algorithmus
Website: Echo-Applet 1
Heiko Krumm: Verteilte Algorithmen
15
I. Der Echo-Algorithmus
Website: Echo-Applet 2
Heiko Krumm: Verteilte Algorithmen
16
I. Der Echo-Algorithmus
Website: Echo-Algorithmus
Heiko Krumm: Verteilte Algorithmen
17
I. Der Echo-Algorithmus
Echo-Algorithmus in Weg/Zeit-Diagramm-Ansicht
Heiko Krumm: Verteilte Algorithmen
18
I. Der Echo-Algorithmus
Start
Heiko Krumm: Verteilte Algorithmen
19
I. Der Echo-Algorithmus
Weitere Quittierungsanfragen
Heiko Krumm: Verteilte Algorithmen
20
I. Der Echo-Algorithmus
Erste Terminierungen
Heiko Krumm: Verteilte Algorithmen
21
I. Der Echo-Algorithmus
Fast fertig
Heiko Krumm: Verteilte Algorithmen
22
I. Der Echo-Algorithmus
Zustandsübergangsdiagramm
Heiko Krumm: Verteilte Algorithmen
23
I. Der Echo-Algorithmus
Markierung des Sternknotens
Heiko Krumm: Verteilte Algorithmen
24
I. Der Echo-Algorithmus
Endzustand
Heiko Krumm: Verteilte Algorithmen
25
II. Serieller Netzdurchlauf
Der Algorithmus in Kürze:- Identisch mit dem Echo-Algorithmus, aber
nur eine Nachricht wird auf einmal gesendet.
- Wird in der Praxis nicht eingesetzt, sondern dient nur der Veranschaulichung des Echo-Algorithmus.
Heiko Krumm: Verteilte Algorithmen
26
II. Serieller Netzdurchlauf
Das Applet
Heiko Krumm: Verteilte Algorithmen
27
II. Serieller Netzdurchlauf
Start
Heiko Krumm: Verteilte Algorithmen
28
II. Serieller Netzdurchlauf
Zweiter Aktiver Knoten
Heiko Krumm: Verteilte Algorithmen
29
II. Serieller Netzdurchlauf
Dritter Aktiver Knoten
Heiko Krumm: Verteilte Algorithmen
30
II. Serieller Netzdurchlauf
Die Erste Antwort
Heiko Krumm: Verteilte Algorithmen
31
II. Serieller Netzdurchlauf
Sende zum nächsten Nachbar
Heiko Krumm: Verteilte Algorithmen
32
II. Serieller Netzdurchlauf
Der Sternknoten sendet an schon Aktiven Knoten
Heiko Krumm: Verteilte Algorithmen
33
II. Serieller Netzdurchlauf
Der Sternknoten sendet zum nächsten Nachbar
Heiko Krumm: Verteilte Algorithmen
34
II. Serieller Netzdurchlauf
Letzte Nachricht
Heiko Krumm: Verteilte Algorithmen
35
II. Serieller Netzdurchlauf
Erster Knoten terminiert
Heiko Krumm: Verteilte Algorithmen
36
II. Serieller Netzdurchlauf
Sternknoten sendet an nächsten Nachbar
Heiko Krumm: Verteilte Algorithmen
37
II. Serieller Netzdurchlauf
Letzter Nachbar vom Knoten sendet Quittung
Heiko Krumm: Verteilte Algorithmen
38
II. Serieller Netzdurchlauf
Fast Durchlaufen
Heiko Krumm: Verteilte Algorithmen
39
II. Serieller Netzdurchlauf
Fertig!
Heiko Krumm: Verteilte Algorithmen
40
II. Serieller Netzdurchlauf
Weg/Zeit-Diagramm
Heiko Krumm: Verteilte Algorithmen
41
II. Serieller Netzdurchlauf
Weg/Zeit-Diagramm
Heiko Krumm: Verteilte Algorithmen
42
II. Serieller Netzdurchlauf
Weg/Zeit-Diagramm
Heiko Krumm: Verteilte Algorithmen
43
II. Serieller Netzdurchlauf
Weg/Zeit-Diagramm
Heiko Krumm: Verteilte Algorithmen
44
II. Serieller Netzdurchlauf
Fertig
Heiko Krumm: Verteilte Algorithmen
45
II. Serieller Netzdurchlauf
Zustandsübergangsdiagramm
Heiko Krumm: Verteilte Algorithmen
46
III. Nachrichtenauslöschungsprinzip
Das Prinzip:- Unbestätigte Benachrichtigung des
gesamten Netzes.- Die vorhergehenden Algorithmen bauen
auf diesem Prinzip auf. - Auch hier Vorraussetzung: Zuverlässiger
und verlustfreier Datenaustausch.
Heiko Krumm: Verteilte Algorithmen
47
III. Nachrichtenauslöschungsprinzip
Start
Heiko Krumm: Verteilte Algorithmen
48
III. Nachrichtenauslöschungsprinzip
Weiterverteilung an alle Nachbarn
Heiko Krumm: Verteilte Algorithmen
49
III. Nachrichtenauslöschungsprinzip
Sternknoten ist erreicht
Heiko Krumm: Verteilte Algorithmen
50
III. Nachrichtenauslöschungsprinzip
Sternknoten fertig
Heiko Krumm: Verteilte Algorithmen
51
III. Nachrichtenauslöschungsprinzip
Fertig
Heiko Krumm: Verteilte Algorithmen
52
III. Nachrichtenauslöschungsprinzip
Weg/Zeit-Diagramm
Heiko Krumm: Verteilte Algorithmen
53
III. Nachrichtenauslöschungsprinzip
Fertig
Heiko Krumm: Verteilte Algorithmen
54
IV. Schnappschuss
Der Schnappschuss:- Dient zur Sicherung des Verteilten
Systems.- Konsistente Wiederherstellung nach
einem Ausfall.Es werden vorgestellt:- Inkonsistenter Schnappschuss- Schnappschuss durch Einfrieren- Schnappschuss unter Weitergabe
Heiko Krumm: Verteilte Algorithmen
55
IV. Schnappschuss
Inkonsistenter Schnappschuss:
Heiko Krumm: Verteilte Algorithmen
56
Die rechten drei tauschen „12“.
IV. Schnappschuss
Heiko Krumm: Verteilte Algorithmen
57
IV. Schnappschuss
Linker Knoten sendet Anfrage
Heiko Krumm: Verteilte Algorithmen
58
IV. Schnappschuss
Er erhält von den mittleren schon antwort.
Heiko Krumm: Verteilte Algorithmen
59
IV. Schnappschuss
Anfrage zum rechten Knoten dauert länger
Heiko Krumm: Verteilte Algorithmen
60
IV. Schnappschuss
Bekommt vom rechten Knoten eine Antwort
Heiko Krumm: Verteilte Algorithmen
61
IV. Schnappschuss
Summe des Ergebnisses ist > 12.
Heiko Krumm: Verteilte Algorithmen
62
IV. Schnappschuss
Inkonsistenter Schnappschuss:
Heiko Krumm: Verteilte Algorithmen
63
IV. Schnappschuss
Schnappschuss durch Einfrieren:
Heiko Krumm: Verteilte Algorithmen
64
IV. Schnappschuss
Linker Knoten fordert Schnappsschuss
Heiko Krumm: Verteilte Algorithmen
65
IV. Schnappschuss
Die mittleren Knoten sind eingefroren
Heiko Krumm: Verteilte Algorithmen
66
IV. Schnappschuss
Die Nachrichten warten
Heiko Krumm: Verteilte Algorithmen
67
IV. Schnappschuss
Der rechte Knoten ist jetzt auch eingefroren
Heiko Krumm: Verteilte Algorithmen
68
IV. Schnappschuss
Linker Knoten sendet „auftauen“
Heiko Krumm: Verteilte Algorithmen
69
IV. Schnappschuss
Schnappschussprozedur ist zu ende.
Heiko Krumm: Verteilte Algorithmen
70
IV. Schnappschuss
Schnappschuss unter Weitergabe
Heiko Krumm: Verteilte Algorithmen
71
IV. Schnappschuss
Linker Knoten erhält bereits zwei Antworten
Heiko Krumm: Verteilte Algorithmen
72
IV. Schnappschuss
Mittlere Knoten senden Problemnachricht
Heiko Krumm: Verteilte Algorithmen
73
IV. Schnappschuss
Rechter Knoten sendet bereits Antwort
Heiko Krumm: Verteilte Algorithmen
74
IV. Schnappschuss
Danach normaler Verlauf
Heiko Krumm: Verteilte Algorithmen
75
V. Alternating Bit Protokoll
Das Protokoll in Kürze:- Stellt zuverlässige Kommunikation sicher.- Es wird abwechselnd eine 0 oder eine 1
vor die eigentliche Nachricht mitversendet.- Mit dem gleichen Kontrollbit wird dann von
gegenüber die nächste Nachricht gesendet.
- Wenn nach einem TimeOut keine Antwort empfangen wurde, wird erneut gesendet.
Heiko Krumm: Verteilte Algorithmen
76
Das Applet:
V. Alternating Bit Protokoll
Heiko Krumm: Verteilte Algorithmen
77
Gesendet mit Bit 0
V. Alternating Bit Protokoll
Heiko Krumm: Verteilte Algorithmen
78
Der rechte Knoten hat nun auf 1 umgeschaltet
V. Alternating Bit Protokoll
Heiko Krumm: Verteilte Algorithmen
79
Der Linke hat nun auch auf 1 umgeschaltet
V. Alternating Bit Protokoll
Heiko Krumm: Verteilte Algorithmen
80
Nachricht geht wieder verloren
V. Alternating Bit Protokoll
Heiko Krumm: Verteilte Algorithmen
81
Linker Knoten sendet erneut
V. Alternating Bit Protokoll
Heiko Krumm: Verteilte Algorithmen
82
Zustandsdiagramm
V. Alternating Bit Protokoll
Heiko Krumm: Verteilte Algorithmen
83
Zustandsdiagramm
V. Alternating Bit Protokoll
Heiko Krumm: Verteilte Algorithmen
84
Diskussion