84
Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Embed Size (px)

Citation preview

Page 1: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Visualisierung verteilter Systeme

Heiko Krumm: Verteilte Algorithmen

von Christian Grümme

Page 2: 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

Page 4: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

4

Startseite

Page 5: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

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

Page 6: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

6

Das Visualisierungsapplet:

I. Der Echo-Algorithmus

Page 7: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

7

Start

I. Der Echo-Algorithmus

Page 8: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

8

Erste Nachbarn erreicht

I. Der Echo-Algorithmus

Page 9: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

9

I. Der Echo-Algorithmus

Sternknoten aktiv:

Page 10: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

10

I. Der Echo-Algorithmus

Quittierung durch Anfragenachricht

Page 11: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

11

I. Der Echo-Algorithmus

Erste Terminierungen

Page 12: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

12

I. Der Echo-Algorithmus

Sternknoten terminiert

Page 13: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

13

I. Der Echo-Algorithmus

Fertig: spannender Baum

Page 14: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

14

I. Der Echo-Algorithmus

Website: Echo-Applet 1

Page 15: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

15

I. Der Echo-Algorithmus

Website: Echo-Applet 2

Page 16: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

16

I. Der Echo-Algorithmus

Website: Echo-Algorithmus

Page 17: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

17

I. Der Echo-Algorithmus

Echo-Algorithmus in Weg/Zeit-Diagramm-Ansicht

Page 18: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

18

I. Der Echo-Algorithmus

Start

Page 19: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

19

I. Der Echo-Algorithmus

Weitere Quittierungsanfragen

Page 20: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

20

I. Der Echo-Algorithmus

Erste Terminierungen

Page 21: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

21

I. Der Echo-Algorithmus

Fast fertig

Page 22: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

22

I. Der Echo-Algorithmus

Zustandsübergangsdiagramm

Page 23: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

23

I. Der Echo-Algorithmus

Markierung des Sternknotens

Page 24: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

24

I. Der Echo-Algorithmus

Endzustand

Page 25: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

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.

Page 26: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

26

II. Serieller Netzdurchlauf

Das Applet

Page 27: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

27

II. Serieller Netzdurchlauf

Start

Page 28: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

28

II. Serieller Netzdurchlauf

Zweiter Aktiver Knoten

Page 29: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

29

II. Serieller Netzdurchlauf

Dritter Aktiver Knoten

Page 30: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

30

II. Serieller Netzdurchlauf

Die Erste Antwort

Page 31: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

31

II. Serieller Netzdurchlauf

Sende zum nächsten Nachbar

Page 32: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

32

II. Serieller Netzdurchlauf

Der Sternknoten sendet an schon Aktiven Knoten

Page 33: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

33

II. Serieller Netzdurchlauf

Der Sternknoten sendet zum nächsten Nachbar

Page 34: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

34

II. Serieller Netzdurchlauf

Letzte Nachricht

Page 35: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

35

II. Serieller Netzdurchlauf

Erster Knoten terminiert

Page 36: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

36

II. Serieller Netzdurchlauf

Sternknoten sendet an nächsten Nachbar

Page 37: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

37

II. Serieller Netzdurchlauf

Letzter Nachbar vom Knoten sendet Quittung

Page 38: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

38

II. Serieller Netzdurchlauf

Fast Durchlaufen

Page 39: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

39

II. Serieller Netzdurchlauf

Fertig!

Page 40: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

40

II. Serieller Netzdurchlauf

Weg/Zeit-Diagramm

Page 41: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

41

II. Serieller Netzdurchlauf

Weg/Zeit-Diagramm

Page 42: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

42

II. Serieller Netzdurchlauf

Weg/Zeit-Diagramm

Page 43: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

43

II. Serieller Netzdurchlauf

Weg/Zeit-Diagramm

Page 44: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

44

II. Serieller Netzdurchlauf

Fertig

Page 45: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

45

II. Serieller Netzdurchlauf

Zustandsübergangsdiagramm

Page 46: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

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.

Page 47: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

47

III. Nachrichtenauslöschungsprinzip

Start

Page 48: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

48

III. Nachrichtenauslöschungsprinzip

Weiterverteilung an alle Nachbarn

Page 49: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

49

III. Nachrichtenauslöschungsprinzip

Sternknoten ist erreicht

Page 50: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

50

III. Nachrichtenauslöschungsprinzip

Sternknoten fertig

Page 51: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

51

III. Nachrichtenauslöschungsprinzip

Fertig

Page 52: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

52

III. Nachrichtenauslöschungsprinzip

Weg/Zeit-Diagramm

Page 53: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

53

III. Nachrichtenauslöschungsprinzip

Fertig

Page 54: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

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

Page 55: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

55

IV. Schnappschuss

Inkonsistenter Schnappschuss:

Page 56: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

56

Die rechten drei tauschen „12“.

IV. Schnappschuss

Page 57: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

57

IV. Schnappschuss

Linker Knoten sendet Anfrage

Page 58: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

58

IV. Schnappschuss

Er erhält von den mittleren schon antwort.

Page 59: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

59

IV. Schnappschuss

Anfrage zum rechten Knoten dauert länger

Page 60: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

60

IV. Schnappschuss

Bekommt vom rechten Knoten eine Antwort

Page 61: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

61

IV. Schnappschuss

Summe des Ergebnisses ist > 12.

Page 62: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

62

IV. Schnappschuss

Inkonsistenter Schnappschuss:

Page 63: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

63

IV. Schnappschuss

Schnappschuss durch Einfrieren:

Page 64: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

64

IV. Schnappschuss

Linker Knoten fordert Schnappsschuss

Page 65: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

65

IV. Schnappschuss

Die mittleren Knoten sind eingefroren

Page 66: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

66

IV. Schnappschuss

Die Nachrichten warten

Page 67: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

67

IV. Schnappschuss

Der rechte Knoten ist jetzt auch eingefroren

Page 68: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

68

IV. Schnappschuss

Linker Knoten sendet „auftauen“

Page 69: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

69

IV. Schnappschuss

Schnappschussprozedur ist zu ende.

Page 70: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

70

IV. Schnappschuss

Schnappschuss unter Weitergabe

Page 71: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

71

IV. Schnappschuss

Linker Knoten erhält bereits zwei Antworten

Page 72: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

72

IV. Schnappschuss

Mittlere Knoten senden Problemnachricht

Page 73: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

73

IV. Schnappschuss

Rechter Knoten sendet bereits Antwort

Page 74: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

74

IV. Schnappschuss

Danach normaler Verlauf

Page 75: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

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.

Page 76: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

76

Das Applet:

V. Alternating Bit Protokoll

Page 77: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

77

Gesendet mit Bit 0

V. Alternating Bit Protokoll

Page 78: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

78

Der rechte Knoten hat nun auf 1 umgeschaltet

V. Alternating Bit Protokoll

Page 79: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

79

Der Linke hat nun auch auf 1 umgeschaltet

V. Alternating Bit Protokoll

Page 80: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

80

Nachricht geht wieder verloren

V. Alternating Bit Protokoll

Page 81: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

81

Linker Knoten sendet erneut

V. Alternating Bit Protokoll

Page 82: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

82

Zustandsdiagramm

V. Alternating Bit Protokoll

Page 83: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

83

Zustandsdiagramm

V. Alternating Bit Protokoll

Page 84: Visualisierung verteilter Systeme Heiko Krumm: Verteilte Algorithmen von Christian Grümme

Heiko Krumm: Verteilte Algorithmen

84

Diskussion