Fehlertolerante Systeme

Größe: px
Ab Seite anzeigen:

Download "Fehlertolerante Systeme"

Transkript

1 Fehlertolerante Systeme Es existieren keine fehlerfreien Systeme; es gibt nur solche, bei denen bisher noch kein Fehler aufgetreten ist. (Laprie) Algorithmen für Verteilte Systeme (AVS), WS 2004/05 1

2 Motivation Typisches Problem mit verteilten Systemen: A distributed system is one in which the failure of a computer you didn t even know existed can render your own computer unusable." (Lamport) Je mehr Komponenten an einem System beteiligt sind, desto größer ist die Wahrscheinlichkeit, dass eine davon ausfällt Je größer und komplexer ein System ist, desto größer ist die Wahrscheinlichkeit, dass Teile davon fehlerhaft sind Hardware-Fehler Software-Fehler Sicherheits-Löcher durch schlechte Administration Algorithmen für Verteilte Systeme (AVS), WS 2004/05 2

3 Motivation Einfache Modellrechnung Ausfallwahrscheinlichkeit eines Rechners sei p 1 =0.01 Ausfälle im verteilten System: (gleiche Ausfallwahrscheinlichkeit der Einzelrechner) 1 von 10 Rechnern fällt mit p=0.1 aus 1 von 100 Rechnern fällt mit p=0.63 Verfügbarkeit des Gesamtsystem? Gesamtsystem sollte seine Aufgabe erfüllen, wenn einzelne Teilkomponenten ausfallen Vermeidung von zentrale Punkten, deren Ausfall nicht kompensiert werden kann Algorithmen für Verteilte Systeme (AVS), WS 2004/05 3

4 Fehlertolerante Systeme: Agenda Grundbegriffe der Verlässlichkeit Replikation im verteilten System Basistechnologie Einigungsalgorithmen Gruppenkommunikation Algorithmen für Verteilte Systeme (AVS), WS 2004/05 4

5 Begriffsdefinitionen Begriffe für Fehler : fault error failure Algorithmen für Verteilte Systeme (AVS), WS 2004/05 5

6 Begriffsdefinitionen Arten von Fehlern gutmütige Fehler Crash-stop Crash-recovery bösartige Fehler Byzantinische Fehler Algorithmen für Verteilte Systeme (AVS), WS 2004/05 6

7 Begriffsdefinitionen Die Verlässlichkeit ( dependability ) eines System lässt sich durch folgende Attribute beschreiben: Zuverlässigkeit ( reliability ): Maß für die kontinuierliche Erbringung einer Leistung (MTTF/MTBF) Verfügbarkeit ( availability ): Maß für das Bereitsein in Relation zum nicht Bereitsein (MTBF/(MTBF+MTTR) Sicherheit ( safety ): Maß für die Vermeidung katastrophaler Folgen im Fehlerfall Algorithmen für Verteilte Systeme (AVS), WS 2004/05 7

8 Verfügbarkeit Verfügbarkeit Ausfallzeit pro Jahr 90% > 1 Monat 99% ca. 3.5 Tage 99.9% ca. 9 Stunden 99.99% ca. 1 Stunde % five-nines reliability ca. 5 Minuten % ca. 30 Sekunden % ca. 3 Sekunden Algorithmen für Verteilte Systeme (AVS), WS 2004/05 8

9 Fehlertolerante Systeme Replikation in verteilten Systemen aktive, semiaktive, passive Basistechnologie Einigungsalgorithmen Theorie, Unmöglichkeitsaussagen Algorithmen für synchrone Systeme Algorithmen für asynchrone Systeme Gruppenkommunikation Algorithmen für Verteilte Systeme (AVS), WS 2004/05 9

10 Aktive Replikation Client 1 Client 2 m2 m3 total geordnete Gruppenkommunikation m2 m3 m2 m3 m2 m3 Replikat 1 Replikat 2 Replikat 3 Algorithmen für Verteilte Systeme (AVS), WS 2004/05 10

11 Semiaktive Replikation Client 1 Client 2 m2 m3 m2 m3 m2 m3 m2 m3 Replikat 1 (Anführer) Replikat 2 Replikat 3 Algorithmen für Verteilte Systeme (AVS), WS 2004/05 11

12 Passive Replikation Client 1 Client 2 m2 m3 m2 m3 m2 m3 Log Replikat 1 (Anführer) Replikat 2 Zustandskopie Algorithmen für Verteilte Systeme (AVS), WS 2004/05 12

13 Aufgaben in fehlertoleranten Systemen Transaktionen Alles-oder-Nichts-Semantik Atomares Commit Konsistente Entscheidung in allen Knoten (Commit/Abort) Konsistente Replikation Konsistenter Zustand in allen Replikaten Verschiedene Varianten: aktiv, passiv,... Gruppenmitgliedschaft Welche Knoten sind verfügbar? - Alle Knoten sollen hierzu die selbe Sicht besitzen - Alle ausgefallenen Knoten (und nur diese!) sollen als ausgefallen erkannt werden Gruppenkommunikation In allen funktionierenden Knoten: Empfang der selben Nachrichten in der selben Reihenfolge Algorithmen für Verteilte Systeme (AVS), WS 2004/05 13

14 Aufgaben in fehlertoleranten Systemen Reduktion auf primitiven Grundmechanismus: Einigungsalgorithmen Bsp. Commit: Konsistente Einigung auf Commit oder Abort Bsp. Gruppenkommunikation: Folge von Einigungen auf die nächste angenommene Nachricht Bsp. Gruppenmitgliedschaft: Folge von Einigungen über Änderungen an der Gruppenzugehörigkeit Bsp. Replikation: Folge von Einigungen über durchzuführende Operationen bzw. Zustandsänderungen Algorithmen für Verteilte Systeme (AVS), WS 2004/05 14

15 Literatur zu Einigungsalgorithmen Bücher P. Veríssimo, L. Rodrigues: Distributed systems for system architects. (Teil 2: Fault Tolerance) K. P. Birman: Building secure and reliable network applications. (Teil 3, ab Kap. 12) N. Lynch: Distributed Algorithms. (Kap. 6, 7, (12), 21, 25) Original-Publikationen zu den einzelnen Algorithmen siehe Webseiten zur Vorlesung Algorithmen für Verteilte Systeme (AVS), WS 2004/05 15

16 Theorie von Einigungsalgorithmen Annahmen an das System Es gibt N beteiligte Knoten (global bekannt) Darunter gibt es maximal M fehlerhafte Knoten Jeder Knoten kann mit jedem kommunizieren. Das Kommunikationssystem ist zuverlässig und der Absender von Nachrichten kann immer sicher festgestellt werden Betrachtung unterschiedlicher Systemmodelle synchron: Nachrichten werden innerhalb einer bekannten maximalen Zeit übermittelt; Ablauf kann in feste Runden eingeteilt werden asynchron: Nachrichten können eine unbeschränkte Zeit verzögert werden Algorithmen für Verteilte Systeme (AVS), WS 2004/05 16

17 Modellierung der Problemstellung Verständigungsproblem, agreement Ein Wert wird von einem Prozess vorgegeben Alle feherfreien Prozesse einigen sich auf den gleichen Wert Falls der vorgebende Prozess fehlerfrei ist, erfolgt die Einigung auf dessen Wert Einigungsproblem, consensus Von jedem Prozess wird ein Wert vorgegeben Alle fehlerfreien Prozessoren einigen sich auf den gleichen Wert. Wenn alle fehlerfreien Prozessoren den gleichen Wert vorgeben, einigen sich alle auf diesen Wert. Algorithmen für Verteilte Systeme (AVS), WS 2004/05 17

18 Modellierung der Problemstellung Konsistenzproblem, consistency Von jedem Prozess wird ein Wert vorgegeben Alle fehlerfreien Prozessoren einigen sich auf den gleichen Wertevektor Die Vorgabewerte fehlerfreier Prozessoren werden in dem Wertevektor richtig wiedergegeben Diese drei Problemstellungen sind äquivalent! Verteilung des Initialwerts an alle Lösung des Verständigungsproblems jeder Knoten startet Algorithmus Lösung des Einigungsproblems Lösung des Berechnung aus Konsistenzproblems gemeinsamem Vektor Algorithmen für Verteilte Systeme (AVS), WS 2004/05 18

19 Modellierung der Problemstellung Korrektheitsanforderungen E1: Übereinstimmung: Keine zwei [korrekten] Knoten P a, P b entscheiden sich für unterschiedliche Werte E2: Gültigkeit: Wenn alle [korrekten] Knoten mit dem selben Wert v beginnen, ist dies der einzige mögliche Eintscheidungswert E2*: Gültigkeit: Eine Entscheidung für einen Wert v ist nur möglich, wenn mindestens ein Knoten diesen Wert vorgeschlagen hat E3: Terminierung: In endlicher Zeit entscheiden sich alle Knoten für einen Wert Algorithmen für Verteilte Systeme (AVS), WS 2004/05 19

20 Grundsätzliche Aussagen zur Lösbarkeit Modell zur Problemanalyse Jeder Knoten bekommt als Eingabe einen Initialwert Jeder Knoten führt deterministisch eine Folge von Schritten aus, die jeweils den lokalen Zustand atomar verändern Schließlich kann ein Knoten eine Ausgabe mit einem Entscheidungswert erzeugen Als Initialwert wird ein Wert aus der Menge {0, 1} angenommen Ist das Einigungsproblem für diesen Speziallfall unlösbar, dann auch für Initialwerte aus größeren Wertebereichen Algorithmen für Verteilte Systeme (AVS), WS 2004/05 20

21 Grundsätzliche Aussagen zur Lösbarkeit Begriffe Die Konfiguration V beschreibt den globalen Zustand des Systems; sie umfasst die lokalen Zustände der einzelnen Knoten sowie den Inhalt der Nachrichtenkanäle Der Ablauf s eines Algorithmus lässt sich durch eine endliche Folge von Schritten darstellen: Ein Schritt ist durch ein Ereignis e(m,p k ) V bestimmt, den Empfang der Nachricht m e durch P k. P k ändert als Reaktion auf m in V Abhängkeit von seinem bisherigen Zustand seinen lokalen Zustand und sendet ggf. neue Nachrichten aus. Das Ergebnis ist eine neue Konfiguration V mit V = e(v) Algorithmen für Verteilte Systeme (AVS), WS 2004/05 21

22 Grundsätzliche Aussagen zur Lösbarkeit Wenn keine Fehler auftreten können, ist eine Lösung des Einigungsproblem einfach Beispiel agreement : Initiatorknoten sendet seinen Wert an alle Knoten, jeder Knoten übernimmt diesen Wert Beispiel consensus : Siehe Aufgabenblatt Lösung des Problems bei Fehlern? Byzantinische Fehler: Wie kann z.b. erkannt werden, ob der Initiator unterschiedliche Werte versendet hat? Einfache Ausfälle: Wie kann der Ausfall des Initiators erkannt werden (um nicht unendliche lange zu warten)? Problem im asynchronen Modell Algorithmen für Verteilte Systeme (AVS), WS 2004/05 22

23 FLP Fischer, Lynch und Paterson haben grundsätzlich gezeigt, dass es für das Einigungsproblem im asynchronen Systemmodell beim Auftreten von Rechnerausfällen keine korrekte, deterministische Lösung geben kann. Im folgenden: Skizze der Beweisidee Algorithmen für Verteilte Systeme (AVS), WS 2004/05 23

24 FLP Begriffe Wenn alle möglichen Abläufe ausgehend von V schließlich zur gleichen Entscheidung führen, wird V univalent (0-valent oder 1-valent) genennt Jeder Zustand V, in dem sich bereits ein Knoten endgültig entschieden hat, muss univalent sein Ansonsten, wenn noch beide Entscheidungen möglich sind, heißt der Zustand V bivalent Algorithmen für Verteilte Systeme (AVS), WS 2004/05 24

25 FLP Lemma 1: Es werden zwei Folgen von Schritten s 1 und s 2 betrachtet, die beide ausgehend von einem Zustand V ausgeführt werden können s 1 V s 2 Falls s 1 und s 2 nur Schritte auf disjunkten V 1 V 2 Mengen von Knoten ausführen, ist es egal, in welcher Reihenfolge die beiden Folgen ausgeführt werden s 2 V 3 s 1 Algorithmen für Verteilte Systeme (AVS), WS 2004/05 25

26 FLP Lemma 2: Wenn auch nur ein Knoten ausfallen kann, dann muss es bivalente Anfangskonfigurationen geben Aus der gleichen Konfiguration kann es also sowohl Abläufe geben, die sich für den Wert 1 entscheiden, als auch Abläufe, die sich für den Wert 0 entscheiden (Beweisidee: Es gibt Anfangszustände, die sich nur im Initalwert von nur einem Knoten P k unterscheiden; wenn es keine bivalenten Anfangskonfigurationen gibt, muss es derartig benachbarte Konfigurationen geben, von denen eine 0-valent und eine 1-valent ist; dies führt zu einem Problem, wenn bei Ausfall von P k ein Algorithmus eine Entscheidung treffen muss) Algorithmen für Verteilte Systeme (AVS), WS 2004/05 26

27 FLP Beweisskizze für die Unmöglichsaussage von FLP Annahmen: C sei ein bivalenter Zustand (Lemma 2) e sei ein beliebiger in C anwendbarer Schritt auf Knoten p Q sei die Menge aller erreichbaren Zustände, bei denen der Schritt e nicht ausgeführt wird Sei Q = e(q) = { e(e) E in Q } Q C e!e e e e!e Q Falls es für jeden bivalenten Zustand C immer einen Schritt e gibt, so dass Q einen bivalenten Zustand enthält, kann man eine unendlich lange Folge von Schritten angeben, bei der der Algorithmus nicht terminiert. Das darf bei einem korrekten Algorithmus nicht der Fall sein. Algorithmen für Verteilte Systeme (AVS), WS 2004/05 27

28 FLP Folgerung: Lemma 3 Es muss einen bivalenten Zustand C geben, bei dem in Q nur univalente Zustände enthalten sind. Q muss sowohl 0- als auch 1-valente Zustände enthalten Da C bivalent ist, muss es erreichbare 0- und 1-valente Zustände E 0 und E 1 geben. e C nicht e Falls E 0 /E 1 in Q enthalten ist (also ohne Ausführung von e erreicht wurde), ist der Folgezustand e(e 0 )/e(e 1 ) in Q enthalten (und entsprechend i-valent) V 1 V 2... e V 1 V 2... Q Q Ansonsten (d.h. falls zur Erreichung von E 0 /E 1 e ausgeführt wurde) gibt zu diesem Zustand ein Vorgängerzustand in Q, der 0-valent bzw. 1-valent sein muss Algorithmen für Verteilte Systeme (AVS), WS 2004/05 28

29 FLP Zwischenergebnis: C enthält bivalente Zustände Es gibt Q mit nur univalenten Zuständen Q muss sowohl 0-valente als auch 1-valente Zustände enthalten Folgerung: Als Ergebnis des Schritts e können sowohl 0-valente als auch 1-valente Zustände auftreten Es lässt sich leicht nachvollziehen, dass es demach zwei benachbarte Zustände C 0, C 1 in Q geben muss, für die D 0 = e(c 0 ) 0-valent, D 1 = e(c 1 ) 1-valent ist Algorithmen für Verteilte Systeme (AVS), WS 2004/05 29

30 FLP Annahme (obda): C 1 = e (C 0 ) C 0, C 1 sind in Q enthalten D 0, D 1 sind in Q enthalten, wobei D 0 0-valent und D 1 1-valent ist C 0 bivalent e e Q 0-valent D 0 C bivalent 1 oder 1-valent Q e e D 1 1-valent Die Schritte e und e können nicht auf unterschiedlichen Knoten stattfinden, sonst würde nach Lemma 1 gelten, dass D 1 = e (D 0 ). Ein 1-valenter Zustand kann aber kein Folgezustand von einem 0- valenten Zustand sein. Damit gibt es (in jedem möglichen Algorithmus) einen Knoten p, der lokal über das Ergebnis entscheidet. Die anderen Knoten können nicht unabhängig von diesem Knoten entscheiden; fällt also p im Zustand C 0 aus, kann keine Entscheidung getroffen werden! Damit ist der FLP-Satz bewiesen Algorithmen für Verteilte Systeme (AVS), WS 2004/05 30

31 FLP Wie kann man in der Praxis damit umgehen? Der Beweis sagt nicht, dass es keine partiell korrekten Algorithmen gibt (d.h. Algorithmen, die bei Terminierung die Konsistenzbedingung erfüllen, deren Terminierung aber u.u. beliebig lange verzögert werden kann) Beispiele, die wir noch kennen lernen werden: Paxos, Castro Der Beweis geht von einem deterministischen Modell aus. Das heisst nicht, dass es keine probabilistischen Algorithmen geben kann (mit probabilistischer Terminierung)! Beispiele: Ben Or, ABBA Der Beweis geht von asynchroner Kommunikation aus. In restriktiveren Modellen ist eine Lösbarkeit nicht ausgeschlossen Beispiele: Synchrone Algorithmen; partielle Synchronität/ unzuverlässige Fehlererkennung Algorithmen für Verteilte Systeme (AVS), WS 2004/05 31

32 Weitere Einschränkungen bei der Lösbarkeit Zu vielen fehlerhaften Knoten: Das Einigungsproblem ist nicht lösbar, wenn ein Drittel aller Knoten (oder mehr) byzantinisch fehlerhaft sein können Für realisierbare Systeme muss daher mindestens gelten: N > 3 M Beweis: Siehe Vorlesung Einfacher Fall mit N = 3, M = 1 Allgemeiner Fall mit N 3 M Algorithmen für Verteilte Systeme (AVS), WS 2004/05 32

33 Praktikable Einigungsalgorithmen Die Unmöglichkeitsaussage von Fischer, Lynch und Paterson hat vor allem folgende Annahmen gemacht: Asynchrones Systemmodell Deterministischer Algorithmus Mindestens ein Knoten fällt aus Algorithmus terminiert immer Alle Knoten haben einen beliebigen Anfangswert aus {0, 1}, die Einigung erfolgt auf genau einen dieser Werte Wir wollen im Folgenden betrachten, ob bzw. wie sich das Einigungsproblem lösen lässt, wenn einzelne dieser Annahmen nicht gelten Algorithmen für Verteilte Systeme (AVS), WS 2004/05 33

34 Praktikable Einigungsalgorithmen Algorithmen für synchrone Systeme Burns/Neiger Lamport/Shostak/Pease: Oral Messages; Signed Messages Randomisierte Algorithmen für asynchrone Systeme Ben Or 1: für Fail-Stop-Ausfälle Ben Or 2: für byzantinische Fehler Deterministische Algorithmen für asynchrone Systeme (mit Einschränkungen) Einigung bei perfekter Ausfallerkennung Paxos (Fail-Stop-Ausfälle) Castro-Algorithmus bzw. Byzantine Paxos Algorithmen für Verteilte Systeme (AVS), WS 2004/05 34

35 Algorithmen für synchrone Systeme Algorithmus wird in allen Knoten simultan gestartet Maximale Nachrichtenlaufzeit T ist bekannt Damit kann der Algorithmus in expliziten Runden ablaufen: Jeder Knoten wartet nach Start / nach jeder Runde die Zeit T ab (dann sind alle möglichen Nachrichten angekommen), verarbeitet diese und beginnt ggf. eine neue Runde Algorithmen für Verteilte Systeme (AVS), WS 2004/05 35

36 Einfacher Algorithmus für N=4, M=1 Lösung des Verständigungsproblems bei einem byzantinisch fehlerhaften Knoten Der Anführer sendet seinen Wert aus {0, 1} in der ersten Runde an alle anderen In einer zweiten Runde senden alle anderen den erhaltenen Wert (oder 0, falls kein Wert innerhalbt T empfangen wurde) an alle anderen Nicht-Anführer Der Anführer entscheidet sich für seinen Wert, die drei anderen Knoten treffen je eine Mehrheitsentscheidung Algorithmen für Verteilte Systeme (AVS), WS 2004/05 36

37 Einfacher Algorithmus für N=4, M=1 Fall 1: Anführer fehlerhaft: Jeder Knoten erhält die Werte {1, 1, 0} und entscheidet sich für 1 Algorithmen für Verteilte Systeme (AVS), WS 2004/05 37

38 Einfacher Algorithmus für N=4, M=1 Fall 2: anderer Knoten fehlerhaft Jeder Knoten erhält mindestens 2x den Wert 1 (von Anführer und einem weiteren korrekten Knoten). Damit fällt die Entscheidung sicher für den Wert 1 Algorithmen für Verteilte Systeme (AVS), WS 2004/05 38

39 Algorithmus von Burns/Neiger Fast and Simple Distributed Consensus Synchrones Systemmodell Byzantinische fehlerhafte Knoten N M M + 1 Die N Knoten werden in M+1 Gruppen eingeteilt: Gruppe 1: 2 M + 1 Knoten Gruppe 2: 2 M + 1 Knoten Gruppe 3: 2 M - 1 Knoten... Gruppe M+1: 3 Knoten Algorithmen für Verteilte Systeme (AVS), WS 2004/05 39

40 Algorithmus von Burns/Neiger Beschreibung des Algorithmus Jeder Knoten besitzt einen Wert, der mit dem Vorschlagswert des Knoten initialisiert wird In jeder Runde r senden die Knoten der Gruppe r ihren Wert an alle anderen Am Rundenende ermittelt jeder Knoten seinen Wert durch Mehrheitsbildung über die empfangenen Nachrichten. Für ausgebliebene Nachrichten wird der eigene Wert benutzt Wenn ein Knoten von allen Knoten der Gruppe r den gleichen Wert erhält, entscheidet er sich für diesen Wert Knoten, die sich bis zum Ende der (M+1)-ten Runde noch nicht entschieden haben, entscheiden sich für ihren Wert zu diesem Zeitpunkt Algorithmen für Verteilte Systeme (AVS), WS 2004/05 40

41 Algorithmus von Burns/Neiger Überlegungen zur Korrektheit Wenn zwei Runden ausgeführt wurden, in denen alle Gruppenmitglieder korrekt sind, terminiert der Algorithmus In der ersten Runde treffen alle die gleiche Mehrheitsentscheidung Da (siehe unten) in jeder Gruppe die Mehrheit korrekt ist, können nachfolgende Runden mit fehlerhaften Gruppenmitgliedern diesen Wert nicht verändern In einer zweiten Runde mit nur korrekten Gruppenmitglieder erhalten alle einen Vektor aus identischen Werten Algorithmen für Verteilte Systeme (AVS), WS 2004/05 41

42 Algorithmus von Burns/Neiger Überlegungen zur Korrektheit (2) In jeder aktiven Gruppe ist die Mehrheit der Gruppenmitglieder korrekt In den ersten beiden Gruppen ist das offensichtlich (2 M + 1 Mitglieder) Wenn die ersten beiden Gruppen nur korrekte Mitglieder hatten, terminiert der Algorithmus. Wenn die dritte Gruppe aktiv wird, kann es also nur noch M-1 fehlerhafte Knoten geben, damit ist bei 2 M - 1 Knoten die Mehrheit korrekt, usw. Nach M+1 Runden gabe es mindestens eine mit nur korrekten Mitgliedern Algorithmen für Verteilte Systeme (AVS), WS 2004/05 42

43 Algorithmus von Burns/Neiger Fazit Einigungsproblem lösbar in einem synchronen Modell sogar mit byzantinischen Fehlern falls nur wenige Knoten fehlerhaft sind (N M M + 1) Deterministischer Algorithmus, der sicher innerhalb von M+1 Runden terminiert Weitere positive Eigenschaft: Je weniger Fehler, desto schneller terminiert der Algorithmus Was ist mit der Lücke zwischen M M + 1 > N > 3 M Algorithmen für Verteilte Systeme (AVS), WS 2004/05 43

44 OM-Algorithmus von Lamport/Shostak/Pease Oral Messages -Algorithmus Modell Synchrones Systemmodell, Byzantinische Fehler N > 3 M Betrachtet wird das Verständigungsproblem: Ein Anführer gibt einen Wert vor, alle korrekten Knoten sollen sich auf einen Wert einigen, der bei korrektem Anführer dessen Wert entsprechen muss Algorithmen für Verteilte Systeme (AVS), WS 2004/05 44

45 OM-Algorithmus von Lamport/Shostak/Pease Erweiterung des einfachen Algorithmus auf beliebig viele Knoten Rekursive Definition Algorithmus OM(0): Der Anführer sendet seinen Wert an alle anderen beteiligten Knoten Jeder Knoten verwendet diesen Wert, oder, falls er keinen Wert empfängt, den Wert 0 Algorithmen für Verteilte Systeme (AVS), WS 2004/05 45

46 OM-Algorithmus von Lamport/Shostak/Pease Algorithmus OM(m), m>1 Der Anführer sendet seinen Wert an alle anderen beteiligten Knoten Sei v i der Wert, den Knoten i im Schritt (1) erhalten hat, oder 0, falls er keinen Wert erhalten hat. Knoten i führt dann Algorithmus OM(m-1) mit allen beteiligten Knoten außer dem Anführer durch, wobei er v i als Wert verwendet Sei v j (j i) der Wert, den der Knoten i im Schritt (2) vom Knoten j (durch den Algorithmus OM(m-1)) erhalten hat, oder 0. Knoten i trifft eine Mehrheitsentscheidung über alle v x (einschliesslich v i ), und verwendet diesen als Ergebnis des Algorithmus OM(m) Algorithmen für Verteilte Systeme (AVS), WS 2004/05 46

47 OM-Algorithmus von Lamport/Shostak/Pease Ablauf: OM(m) startet n-1 Ausführungen von OM(m-1) jede dieser startet n-2 Ausführungen von OM(m-2) usw... Hinweise Um unterscheiden zu können, zu welcher Ausführung welche Nachrichten gehören, muss bei allen Nachrichten eine Pfadinformation mitgeschickt werden Bei Nancy Lynch ( Distributed Algorithms ) ist ein entsprechender Algorithmus als EIG: Exponential Information Gathering beschrieben Algorithmen für Verteilte Systeme (AVS), WS 2004/05 47

48 OM-Algorithmus von Lamport/Shostak/Pease Beispiel mit M=2, N=7 OM(2) Rückzug / Angriff OM(1) Rückzug & Angriff Rückzug OM(0) Algorithmen für Verteilte Systeme (AVS), WS 2004/05 48

49 OM-Algorithmus von Lamport/Shostak/Pease OM(0) : R : A : A : A OM(1) 3-er Pfade 0-1-2: R OM(1) OM(2) OM(2) Ergebnis 0-1: Angriff Knoten 2 betrachtet! : R : A : A : A : A : R : R : R : A : R : R : R 0-3-2: A 0-4-2: R 0-5-2: R 0-3: Angriff 0-4: Rückzug 0-5: Rückzug 0-2: A Rückzug : A : R : R : R 0-6-2: R 0-6: Rückzug Algorithmen für Verteilte Systeme (AVS), WS 2004/05 49

50 OM-Algorithmus von Lamport/Shostak/Pease Fazit In einem synchronen Modell lässt sich das Einigungsproblem mit byzantinischen Fehlern lösen falls N 3 M + 1 ist (d.h. die Schranke, die durch den Beweis der Unmöglichkeit für N 3 M gesetzt wurde, ist eine harte Schranke) allerdings mit einem exponentiellen Nachrichtenaufwand, d.h. für größere M ist der Algorithmus nicht praxistauglich Algorithmen für Verteilte Systeme (AVS), WS 2004/05 50

51 SM-Algorithmus von Lamport/Shostak/Pease Signed Messages -Algorithmus Modell Synchrones Systemmodell Byzantinische Fehler Nachrichten können verifizierbar und nicht fälschbar signiert werden Starke Einschränkung der Möglichkeiten eines byzantinisch fehlerhaften Knotens! Algorithmen für Verteilte Systeme (AVS), WS 2004/05 51

52 SM-Algorithmus von Lamport/Shostak/Pease Ablauf des Algorithmus Der Anführer P 0 sendet seinen Wert signiert als (v:s 0 ) an alle Ein Knoten P k, der erstmals einen Wert v von Knoten P ji-1 empfängt als (v:s 0 :s j1 :...:s ji-1 ) (in Runde 1 von P 0 als (v:s 0 )), fügt seinen Signatur an und sendet den Wert an alle anderen Knoten Wenn ein Knoten keine neuen Werte mehr empfangen kann, terminiert der Algorithmus. Wenn ein Knoten P i bis dahin genau einen Wert v erhalten hat, entscheidet P i sich für diesen Wert, ansonsten für einen Defaultwert (z.b. 0) Algorithmen für Verteilte Systeme (AVS), WS 2004/05 52

53 S SM-Algorithmus von Lamport/Shostak/Pease Beispiel mit M=3, N=7 Runde 1 Rückzug / Angriff Runde 2 Rückzug Angriff Runde Algorithmen für Verteilte Systeme (AVS), WS 2004/05 53

54 Algorithmen für asynchrone Systeme In der Literatur findet man viele weitere Algorithmen, die in einem synchronem System das Einigungsproblem lösen Leider hat man in der Praxis nicht immer ein System vorliegen, das die geforderten Synchronitätseigenschaften aufweist Was kann man in nicht synchronen Systemen tun? Wir wollen im Folgenden betrachten Probabilistischen Algorithmen Ben Or, ABBA Algorithmen in einem (eingeschränkten) asynchronen Modell Paxos, Castro ( Byzantine Paxos ) Algorithmen für Verteilte Systeme (AVS), WS 2004/05 54

55 Probabilistische Algorithmen: Ben-Or Literatur Michael Ben-Or: Another Advantage of Free Choice: Completely Asynchronous Agreement Protocols. Proc. 2nd ACM Symposium on Principles of Distributed Computing,1983 Nancy Lynch: Distributed Algorithms. Algorithmen für Verteilte Systeme (AVS), WS 2004/05 55

56 Probabilistische Algorithmen: Ben-Or Rahmenbedingungen Asynchrones Systemmodell Randomisierte Lösung des Einigungsproblem Partielle Korrektheit: Wenn der Algorithmus terminiert, ist das Ergebnis korrekt (alle Knoten einigen sich auf den selben Wert) Terminierung: Keine deterministische Aussage möglich! Aber: Die Wahrscheinlichkeit, dass der Algorithmus in endlicher Zeit terminiert, konvergiert gegen 1 BO1: Gutmütige Ausfälle BO2: Byzantinische Fehler Algorithmen für Verteilte Systeme (AVS), WS 2004/05 56

57 Probabilistische Algorithmen: Ben-Or BO1 (gutmütige Ausfälle) N Knoten; max. M Ausfälle, N > 2M; Runde r, Wert x p bei P p Schritt 0: r := 1 Schritt 1: Sende (pre-vote, r, x p ) an alle Knoten Schritt 2: Warte auf N - t Nachrichten (pre-vote, r, x); Anzahl Nachrichten mit gleichem Wert x=v: Mehr als N/2: sende (vote, r, v) an alle ansonsten: sende (vote, r,?) an alle Schritt 3: Warte auf N - t Nachrichten (vote, r, v) (a) Falls eine Nachricht mit v?: x p := v (b) Falls mehr als t solche Nachrichten: fertig (c) sonst: x p := zufällig gewählt aus {0, 1} Schritt 4: r := r + 1; weiter mit Schritt 1 Algorithmen für Verteilte Systeme (AVS), WS 2004/05 57

58 Probabilistische Algorithmen: Ben-Or Überlegungen zur Korrektheit von BO1 Alle Knoten senden in Schritt 2 vote-nachrichten entweder nur für einen Wert aus {0,1}, oder für? (gleicher Initialwert von mehr als N/2 Knoten) Alle Knoten, die in einer Runde in Schritt 3a einen Wert annehmen, nehmen daher den gleichen Wert an Falls mehr als t Knoten eine vote-nachricht für 0/1 versendet haben, ist in jeder Teilmenge aus N-t Knoten mindestens eine solche empfangen worden. D.h. Falls sich ein Knoten in Schritt 3b endgültig entscheidet, nehmen alle anderen, die sich noch nicht entscheiden, in Schritt 3a den gleichen Wert an und entscheiden sich in der nächsten Runde Algorithmen für Verteilte Systeme (AVS), WS 2004/05 58

59 Probabilistische Algorithmen: Ben-Or Eigenschaften von BO1 Beginnen alle Knoten mit dem selben Wert, terminiert der Algorithmus in nur einer Runde. Ansonsten gilt für die Dauer bis zur Einigung (ohne Beweis): In bestimmten Fällen liegt eine exponentielle erwartete Rundenzahl vor (insbes. bei großem t) für den Speziallfall t = O( N) ist der Erwartungswert der Rundenzahl jedoch konstant Algorithmen für Verteilte Systeme (AVS), WS 2004/05 59

60 Probabilistische Algorithmen: Ben-Or Zweiter Algorithmus von Ben Or (BO2) Erweiterung auf byzantinische Fehler siehe Übung (?) Algorithmen für Verteilte Systeme (AVS), WS 2004/05 60

61 Algorithmen für asynchrone Systeme Triviale Lösung ohne Ausfälle Lösung im Crash-Stop-Modell mit perfekter Ausfallerkennung Lösung im Crash-Recovery-Modell mit nicht perfekter Ausfallerkennung Paxos Lösung mit byzantinischen Fehlern Byzantinisches Paxos Algorithmen für Verteilte Systeme (AVS), WS 2004/05 61

62 Algorithmen für asynchrone Systeme Triviale Lösung wenn keine Fehler toleriert werden sollen: Initiator-Knoten sendet seinen Wert an alle Alle übernehmen diesen Wert Funktioniert nicht, wenn Initiator ausfällt Algorithmen für Verteilte Systeme (AVS), WS 2004/05 62

63 Algorithmen für asynchrone Systeme Crash-Stop-Modell mit zuverlässiger Ausfallerkennung Anführer ist derjenige verfügbare Knoten mit der kleinsten ID Da jeder Knoten zuverlässig weiß, welche Knoten verfügbar sind, weiß jeder, wer der Anführer ist Anführer sendet seinen Wert an alle Jeder Knoten übernimmt diesen Wert Wenn der Anführer als ausgefallen erkannt wird, muss ein anderer Knoten dessen Aufgabe übernehmen! Hier muss verhindert werden, dass dieser neue Anführer einen anderen Wert verbreitet, wenn bereits ein Knoten den Wert des alten Anführers übernommen hat Algorithmen für Verteilte Systeme (AVS), WS 2004/05 63

64 Algorithmen für asynchrone Systeme Crash-Stop-Modell mit zuverlässiger Ausfallerkennung Zwei-Phasen-Protokoll Anführer stellt erst sicherstellen, dass sein Wert der einzig mögliche Entscheidungswert ist: Er sendet sein Wert als Vorschlag an alle. Jeder Knoten übernimmt diesen Wert als eigenen Vorschlagswert, für den Fall, dass dieser selbst Anführer werden sollte Der Anführer wartet auf eine Bestätigung von allen nicht ausgefallenen Knoten Dann verbreitet der Anführer die Entscheidung für seinen Wert Falls Anführer beim Verbreiten der Entscheidung ausfällt, ist sichergestellt, dass der nächste Anführer den gleichen Wert propagiert, also keine Inkonsistenz entstehen kann Algorithmen für Verteilte Systeme (AVS), WS 2004/05 64

65 Algorithmen für asynchrone Systeme Beispielablauf P 1 propose(a) accept(a) decide(a) X P 2 X P 3 propose(a) decide(a) P 4 accept(a) Algorithmen für Verteilte Systeme (AVS), WS 2004/05 65

66 Algorithmen für asynchrone Systeme Kritische Betrachtung von diesem Vorgehen Funktioniert gut bei perfekter Ausfallerkennung Probleme bei fehlerhafter Ausfallerkennung: Anführer wartet auf Antwort (accept) von allen nicht ausgefallenen Knoten. Wird ein ausgefallener Knoten nicht als solcher erkannt, wartet der Anführer ewig Wird ein funktionierender Knoten fälschlicherweise als ausgefallen betrachtet, können inkonsistente Entscheidungen entstehen Aktivierung eines neuen Anführers hängt von der exakten Erkennung des Ausfalls des alten Anführers ab Bei fehlerhafter Ausfallerkennung: Mehrere Anführer zugleich, oder kein Anführer Algorithmen für Verteilte Systeme (AVS), WS 2004/05 66

67 Algorithmen für asynchrone Systeme Verbesserung dieser Strategie Anführer wartet nicht auf eine Antwort von allen, sondern auf die Antwort eines Quorums aller Knoten Nicht von Ausfallerkennung abhängig, beliebiges Quorum an Knoten muss antworten (d.h. nicht zu viele Ausfälle) Bei Wechsel des Anführers fragt der neue Anführer ein Quorum der Knoten, ob es einen Vorschlagswert gab Bestimmung des Anführers Gestaltung des Algorithmus so, dass keine Inkonsistenzen entstehen, falls es mehr als einen Anführer gibt (möglicherweise aber keine gesicherte Terminierung) Algorithmen für Verteilte Systeme (AVS), WS 2004/05 67

68 Algorithmen für asynchrone Systeme Verbesserung dieser Strategie Anführer wartet nicht auf eine Antwort von allen, sondern auf die Antwort eines Quorums aller Knoten Nicht von Ausfallerkennung abhängig, beliebiges Quorum an Knoten muss antworten (d.h. nicht zu viele Ausfälle) Bei Wechsel des Anführers fragt der neue Anführer ein Quorum der Knoten, ob es einen Vorschlagswert gab Bestimmung des Anführers Gestaltung des Algorithmus so, dass keine Inkonsistenzen entstehen, falls es mehr als einen Anführer gibt (möglicherweise aber keine gesicherte Terminierung) Das ist schon (fast) der komplette Paxos-Algorithmus! Algorithmen für Verteilte Systeme (AVS), WS 2004/05 68

69 Paxos Literatur zu Paxos Lamport: The Part-Time Parliament. Technical Report, DEC Systems Research Center, Sept. 1989; auch in: ACM Transactions on Computer Systems, vol. 16., no. 2, 1998 Lampson: How to Build a Highly Available System Using Consensus. Proc. 10th Int. Workshop on Distributed Algorithms (WDAG 96) Roberto De Prisco: Revisiting the PAXOS Algorithm. M.S. thesis, MIT, June 1997; in Kurzform veröffentlicht als: R. De Prisco, B. Lampson, N. Lynch: Revisiting the PAXOS Algorithm. Proc. 11th Int. Workshop on Distributed Algorithms (WDAG 97) Lamport: Paxos Made Simple. ACM SIGACT News (Distributed Computing Column) 32, 4, Dec Algorithmen für Verteilte Systeme (AVS), WS 2004/05 69

70 Paxos Zitat zu Paxos Made Simple (Lamport): At the PODC 2001 conference, I got tired of everyone saying how difficult it was to understand the Paxos algorithm, published in [Lam89]. Although people got so hung up in the pseudo-greek names that they found the paper hard to understand, the algorithm itself is very simple. So, I cornered a couple of people at the conference and explained the algorithm to them orally, with no paper. When I got home, I wrote down the explanation as a short note [...] The current version is 13 pages long, and contains no formula more complicated than n 1 > n 2. Algorithmen für Verteilte Systeme (AVS), WS 2004/05 70

71 Paxos Das Paxos-Systemmodell Asynchron bzw. partiell synchron: Übereinstimmung und Gültigkeit werden in einem beliebigem asynchronen System garantiert Terminierung dagegen nur bei einem gutmütigem Systemverhalten Crash-Recovery-Fehlermodell Algorithmen für Verteilte Systeme (AVS), WS 2004/05 71

72 Paxos Die Paxos-Idee Anführer versucht periodisch, eine Einigung für einen Wert durchzusetzen Wiederholungen von Bedeutung für Crash-Recovery-Modell Jeder Versuch hat eine eindeutige Sichtnummer In nicht gutmütigen Situationen kann es mehrere Anführer gleichzeitig geben. Es können mehrere Einigungsversuche Erfolg haben, falls alle den gleichen Wert verwenden Algorithmen für Verteilte Systeme (AVS), WS 2004/05 72

73 Paxos BasicPaxos: Neuer Anführer, Phase 1 Initial wird eine NewView-Nachricht an alle gesendet, zusammen mit einer eindeutigen Sichtnummer (view) r Alle verfügbaren Knoten antworten bei Erhalt von NewView: Mit OldView(r ), falls bereits eine NewView-Nachricht mit Sichtnummer r >r existiert Ansonsten mit einer Nachricht Last(r,v), wobei als v der Wert geschickt wird, der zuvor in einer zweiten Phase bei bisher größtem r mit Accept beantwortet wurde (oder ein leerer Wert) Anführer empfängt antworten: 1x OldView: Es gab/gibt es einen anderen Anführer mit größerer Sichtnummer, Ausführung wird abgebrochen Ansonsten: Warten auf Last-Nachrichten von einem Quorum von Knoten; daraus Ermittlung des Vorschlagswerts für Phase 2 Algorithmen für Verteilte Systeme (AVS), WS 2004/05 73

74 Paxos BasicPaxos, Phase 2 Anführer sendet eine Nachricht Propose(r,v) an alle Jeder Knoten, der Propose(r,v) erhält, antwortet: mit OldRound(r )-Nachricht zurück, falls er inzwischen eine NewView-Nachricht mit größerer Sichtnummer erhalten hat; ansonsten mit einer Accept-Nachricht Der Anführer wartet bis er entweder eine OldView-Nachricht erhält (dann wird die ganze Ausführung abgebrochen) oder von einem Quorum von Knoten Accept-Nachrichten empfangen wurde Algorithmen für Verteilte Systeme (AVS), WS 2004/05 74

75 Paxos BasicPaxos, Phase 3 Sobald genügend viele Accept-Nachrichten empfangen wurde, sendet der Anführer eine Nachricht Decide(v) an alle Knoten Ein Knoten, der eine Decide(v)-Nachricht erhält, entscheidet sich endgültig für diesen Wert Algorithmen für Verteilte Systeme (AVS), WS 2004/05 75

76 Paxos BasicPaxos: Überblicks-Skizze newview propose(a) P 1 P 2 P 3 last(-) accept(a) X decide(a) last(a) last(-) accept(a) P 4 neuer Anführer Algorithmen für Verteilte Systeme (AVS), WS 2004/05 76 newview propose(a) decide(a) Phase 1 Phase 2 Phase 3

77 Paxos Vergabe von Sichtnummern Global eindeutige Sichtnummern notwendig (z.b. durch Kodierung der Knoten-ID in die Sichtnummer) Totale Ordnung erforderlich Ausführungen, die nicht zur größten bekannten Nummer gehören, werden mit OldRound-Nachrichten abgebrochen Zeitschranken beim Warten auf Nachrichten Falls der Anführer nicht in festgelegter Zeit eine erfolgreiche Entscheidung trifft, kann er die Ausführung des Algorithmus mit einer neuen Sichtnummer erneut starten Beispielsweise notwendig, wenn zwischendurch zu viele Knoten ausgefallen waren Algorithmen für Verteilte Systeme (AVS), WS 2004/05 77

78 Paxos Ermittlung des aktuellen Anführers Es ist wünschenswert, dass alle Knoten stets genau den gleichen Knoten als Anführer sehen bei Ausfall des Anführers möglichst bald ein neuer Anführer bestimmt wird Für Konsistenz ist es nicht notwendig, dass beide Bedingungen immer eingehalten werden (unmöglich in asynch. Systemen) Die Original-Beschreibung von Paxos legt hier keinen bestimmten Algorithmus fest. Es wird lediglich gefordert: Wenn während einer hinreichend langen Zeitspanne kein Prozess ausfällt oder wiederanläuft, soll nach dieser Zeitspanne nur ein Prozess sich selbst für den Anführer halten Algorithmen für Verteilte Systeme (AVS), WS 2004/05 78

79 Paxos Ermittlung des aktuellen Anführers: Beispiel Jeder Knoten sendet periodisch allen anderen Ping- Nachrichten Knoten, von denen länger keine Nachrichten empfangen wurden, werden als ausgefallen vermutet Der Knoten mit höchster ID, welcher nicht als ausgefallen vermutet wird, wird als Anführer betrachtet Unterschiedliche Knoten können sich zeitweise gleichzeitig für den Anführer halten! Beispiel: Die Knoten-IDs A, B, C,..., Z seien alphabetisch geordnet. Falls Knoten Y den Knoten Z fälschlicherweise als ausgefallen betrachtet, hält er sich selbst für den Anführer; gleichzeitig ist auch Z davon überzeugt, der Anführer zu sein Algorithmen für Verteilte Systeme (AVS), WS 2004/05 79

80 Paxos Ausfälle und Wiederanläufe von Rechnern Essentielle Informationen müssen nach einem Ausfall und Wiederanlauf eines Knoten wiederhergestellt werden können (Speicherung auf stabilen Speicher): Die größte Sichtnummer r, die ein Knoten in einer NewViewoder Last-Nachricht versendet hat. Ein Knoten, der bereits in Sichtnummer r aktiv war, muss auch nach einem Wiederanlauf alle Nachrichten aus Sichten < r mit OldView beantworten! Die größte Sichtnummer, bei der eine Accept-Nachricht versendet wurde, und der akzeptierte Wert In Last-Nachrichten muss diese Information auch nach einem Wiederanlauf mitgeschickt werden Algorithmen für Verteilte Systeme (AVS), WS 2004/05 80

81 Paxos MultiPaxos Praktische Anwendungen von Paxos: Abfolge von Entscheidungen, d.h. mehrfache Ausführung von BasicPaxos-Instanzen ( Folgen ) gefordert Am einfachsten: Unabhängige Instanzen; aber: Ausfälle von Knoten betreffen alle vorhandenen Instanzen MultiPaxos: Optimierung durch zusammengefasste Ausführung der in allen Instanzen notwendigen Schritte Insbesondere: Eine gemeinsame Phase 1 Sichtnummern beschreiben eine Gruppe von Ausführungen eines Initiators Folgennummern identifizieren einzelne Entscheidungsinstanzen Algorithmen für Verteilte Systeme (AVS), WS 2004/05 81

82 Paxos MultiPaxos: Modifizierte ersten Phase Wenn ein Anführer eine Ausführung mit neuer Sichtnummer r startet, sendet er an alle NewView(r,n)-Nachrichten n ist dabei die kleinste Folgennummer, für die der Anführer noch kein endgültiges Ergebnis kennt In den Last-Antworten schicken alle Knoten Informationen über alle empfangenen Propose- und Decide-Nachrichten mit Rundennummer mindestens n. Für bereits entschiedene Rundennummer kann der Decide- Wert direkt übernommen werden Algorithmen für Verteilte Systeme (AVS), WS 2004/05 82

83 Paxos Ausblick: Ergänzungen zu MultiPaxos Dynamisch Änderungen an der Menge der beteiligten Knoten Vorschlagen der Änderungsaktion in einer bestimmten Rundennummer n; die Änderung darf erst bei Rundennummern ab n+k wirksam werden, wenn bis zu k Ausführungen für verschiedene Rundennummer parallel ausgeführt werden Explizite Mechanismen zur Aktualisierung von Knoten nach einem Wiederanlauf Algorithmen für Verteilte Systeme (AVS), WS 2004/05 83

84 Paxos Ausblick 2: Optimierung von Accept/Decide Fast Paxos Normal : Alle Knoten senden Accept zum Anführer Anführer sendet Decide an alle Fast : Alle Knoten senden Accept an alle Jeder Knoten kann Decide-Entscheidung selbst treffen Einsparung einer Nachrichtenlaufzeit, aber mehr Nachrichten notwendig! Algorithmen für Verteilte Systeme (AVS), WS 2004/05 84

85 Paxos Ausblick 3: Optimierung bei Einbeziehung des Klienten Ultra Fast Paxos Normal : Klient sendet Anforderung zu Anführer Anführer sendet Propose an alle Ultra Fast : Klient sendet Anforderung an alle; wird direkt als Propose verwendet Funktioniert nur, wenn es keine Konflikte (mehrere Klienten gleichzeitig) gibt => Fallback auf normalen Paxos! Zu beachten: Es kann mehrere Propose mit unterschiedlichen Werten in der gleichen Folgenummer geben! Algorithmen für Verteilte Systeme (AVS), WS 2004/05 85

86 Paxos Ausblick 4: Minimierung der Zahl der Nachrichten Slow Paxos Normal Propose an alle, Accept von allen (2N Nachrichten) Slow Knoten in Ring angeordnet Propose zum ersten Knoten im Ring; Jeder Knoten leitet die Nachricht mit seinem angehängtem Accept im Ring weiter. Bei Ausfällen: Knoten im Ring überspringen! N Nachrichten Algorithmen für Verteilte Systeme (AVS), WS 2004/05 86

87 Paxos Eigenschaften von Paxos Runde 1 nur bei Wechsel des Anführers notwendig; d.h. im Normalbetrieb nur Nachricht mit Wertvorschlag von Anführer an Quorum/alle Antwort von bel. Quorum an Anführer Nachricht mit Entscheidung von Anführer an Quorum/alle Konsistenz bleibt bei beliebig vielen Ausfällen immer gewährleistet (Voraussetzung: Kritische Informationen auf stabilen Speicher zur Wiederherstellung nach Wiederanlauf) Für Fortschritt muss mindestens ein Quorum von Knoten erreichbar sein Bei fehlerhafter Ausfallerkennung (kein/mehrere Anführer) kann Fortschritt behindert werden Algorithmen für Verteilte Systeme (AVS), WS 2004/05 87

Praktikable Einigungsalgorithmen

Praktikable Einigungsalgorithmen Praktikable Einigungsalgorithmen Algorithmen für synchrone Systeme Atomarer Broadcast: siehe Aufgabe 4.4 Burns/Neiger Lamport/Shostak/Pease: Oral Messages; Signed Messages Algorithmen für asynchrone Systeme

Mehr

Randomisierte Algorithmen: Ben-Or

Randomisierte Algorithmen: Ben-Or Randomisierte Algorithmen: Ben-Or Literatur Michael Ben-Or: Another Advantage of Free Choice: Completely Asynchronous Agreement Protocols. Proc. 2nd ACM Symposium on Principles of Distributed Computing,1983

Mehr

Grundlagen: Überblick

Grundlagen: Überblick Grundlagen: Überblick Verteilte Systeme Definition Grundbegriffe Kommunikation Klassifikation von Fehlern Begriffe Fehlerarten Analyse von Algorithmen Korrektheit Komplexität Verteilte Algorithmen (VA),

Mehr

Überblick. Multicast Motivation Grundlagen Zustellungsgarantien Ordnungsgarantien Paxos. c td VS (SS17) Multicast 7 1

Überblick. Multicast Motivation Grundlagen Zustellungsgarantien Ordnungsgarantien Paxos. c td VS (SS17) Multicast 7 1 Überblick Multicast Motivation Grundlagen Zustellungsgarantien Ordnungsgarantien Paxos c td VS (SS17) Multicast 7 1 Motivation Fehlertoleranz durch Replikation Redundante Applikationsinstanzen auf unterschiedlichen

Mehr

Grundlagen: Überblick

Grundlagen: Überblick Grundlagen: Überblick Verteilte Systeme Definition und Grundbegriffe Modellierung von Systemeigenschaften Punkt-zu-Punkt-Verbindungen Multicast-Kommunikation Synchrone und asynchrone Systeme Fehler und

Mehr

Wahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43

Wahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43 Wahlalgorithmen Überblick/Problemstellung Wahlalgorithmen auf Ringstrukturen Beispiel TokenRing Wahlalgorithmen auf Baumstrukturen Wahlalgorithmen auf beliebigen Netzstrukturen Verteilte Algorithmen (VA),

Mehr

Motivation. Gruppenkommunikation. Verteilte Anwendung. Gruppenkommunikation. HW-Multicast div. GC-Impl totale Ord. Kommunikationsnetz

Motivation. Gruppenkommunikation. Verteilte Anwendung. Gruppenkommunikation. HW-Multicast div. GC-Impl totale Ord. Kommunikationsnetz s s Gruppenkommunikation Motivation Kommunikation bei der Programmentwicklung bewährter, verstandener Mechanismus Bei Gruppenkommunikation verschieden teuere semantische Varianten möglich (dadurch ggf.

Mehr

7 Fehlertoleranz. vs7 1

7 Fehlertoleranz. vs7 1 7 Fehlertoleranz vs7 1 Zuverlässigkeit (reliability) Sicherheit vor Fehlern (safety) Sicherheit vor Angriffen (security) -> Systemsicherheit -> Netzsicherheit vs7 2 7.1 Terminologie (ist nicht einheitlich)

Mehr

Fehlertoleranz in eingebetteten Systemen

Fehlertoleranz in eingebetteten Systemen Fehlertoleranz in eingebetteten Systemen Ausgewählte Kapitel eingebetteter Systeme (AKES) 19.07.2006 1 / 36 Was ist ein Fehler? Fehlerklassen Überblick Einführung Was ist ein Fehler? Fehlerklassen 2 /

Mehr

Verteilte Systeme. Diffusionsalgorithmen. Secure Identity Research Group

Verteilte Systeme. Diffusionsalgorithmen. Secure Identity Research Group Verteilte Systeme Diffusionsalgorithmen Diffusionsalgorithmen Definition: Ein verteilter Diffusionsalgorithmus auf einem Beliebigen Graphen startet in einem Zustand, in dem alle Knoten des Graphen idle

Mehr

Verteilte Systeme - Übung

Verteilte Systeme - Übung Verteilte Systeme - Übung Schriftliche Übungen Dienen der Klausurvorbereitung Zwei Teile: Serie A: Okt - Nov Serie B: Nov - Jan 3% der Endnote je Serie Ansprechpartner: Harald Vogt Heute:

Mehr

Überblick. Replikation Motivation Grundlagen Aktive Replikation Passive Replikation. c td VS (SS16) Replikation 6 1

Überblick. Replikation Motivation Grundlagen Aktive Replikation Passive Replikation. c td VS (SS16) Replikation 6 1 Überblick Replikation Motivation Grundlagen Aktive Replikation Passive Replikation c td VS (SS16) Replikation 6 1 Motivation Zielsetzungen Tolerierung permanenter Server-Ausfälle Hohe Verfügbarkeit von

Mehr

Verteilte Systeme. 7. Fehlertoleranz

Verteilte Systeme. 7. Fehlertoleranz Verteilte Systeme 7. Fehlertoleranz Sommersemester 2011 Institut für Betriebssysteme und Rechnerverbund TU Braunschweig Dr. Christian Werner Bundesamt für Strahlenschutz 7-2 Überblick Motivation für Fehlertoleranz

Mehr

Motivation. Überblick. Motivation. Sequentielle Verfahren

Motivation. Überblick. Motivation. Sequentielle Verfahren Überblick Motivation Wahlalgorithmen Motivation Grundlagen Chang-Roberts-Algorithmus Wellenverfahren Adoptionsverfahren Problem: Wahl eines Anführerknotens szenarien Koordinierung verteilter Aktionen Erzeugung

Mehr

Verteilte Systeme. Synchronisation II. Prof. Dr. Oliver Haase

Verteilte Systeme. Synchronisation II. Prof. Dr. Oliver Haase Verteilte Systeme Synchronisation II Prof. Dr. Oliver Haase 1 Überblick Synchronisation 1 Zeit in verteilten Systemen Verfahren zum gegenseitigen Ausschluss Synchronisation 2 Globale Zustände Wahlalgorithmen

Mehr

Zeit als Mittel der Reihenfolgebestimmung

Zeit als Mittel der Reihenfolgebestimmung Uhrensynchronisation Notwendigkeit von Uhrensynchronisation Zeit als Mittel der Reihenfolgebestimmung Probleme der Uhrensynchronisation Lamport Vektorduhren Synchronisation von physikalischen Uhren Grundlagen

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Aufgabe 1: Wintersemester 07/08 Übungsblatt 6 15.01.08 Grundlagen verteilter Systeme Lösungsvorschlag

Mehr

The Byzantine Generals' Problem

The Byzantine Generals' Problem Proseminar Technische Informatik The Byzantine Generals' Problem Esra Ünal Gliederung 1.Beispiel: meldeanlage 2.Formalisierung des Problems 3.Definition 4.Ursprung der Namensgebung 5.Voraussetzungen für

Mehr

Die Byzantinischen Generäle

Die Byzantinischen Generäle Die Byzantinischen Generäle Von Doris Reim und Bartek Ochab aus dem Artikel: The Byzantine Generals Problem by Leslie Lamport, Robert Shostak, Marshall Pease Agenda I. Einleitung II. Lösbarkeit? III. OM-Algorithmus

Mehr

Verteilte Algorithmen

Verteilte Algorithmen Verteilte Softwaresysteme Verteilte Algorithmen Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 18.06.2018 21:08 Inhaltsverzeichnis Verteilt versus zentralisiert 1 Unterschiede....................................

Mehr

Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002

Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002 Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002 Seth Gilbert Nancy Lynch Brewer s Conjecture and the Feasibility of Consistent,

Mehr

Byzantinische Fehlertoleranz durch Gruppenkommunikation am Beispiel des Rampart-Toolkit Frank Mattauch

Byzantinische Fehlertoleranz durch Gruppenkommunikation am Beispiel des Rampart-Toolkit Frank Mattauch 1 Hauptseminar: Moderne Konzepte für weitverteilte Systeme: Peer-to-Peer-Netzwerke und fehlertolerante Algorithmen (DOOS) Byzantinische Fehlertoleranz durch Gruppenkommunikation am Beispiel des Rampart-Toolkit

Mehr

13.1 Einführung. Fehler. Fehler (Forts.)

13.1 Einführung. Fehler. Fehler (Forts.) Verteilte Betriebssysteme Wintersemester 8/9 Verteilte Betriebssysteme. Kapitel Konsens Prof. Matthias Werner Professur Betriebssysteme. Einführung. Einführung Wir haben bereits einige Probleme betrachtet,

Mehr

3. Übung zur Vorlesung Verteilte Betriebssysteme

3. Übung zur Vorlesung Verteilte Betriebssysteme UNIVERSITÄT ULM Fakultät für Informatik Verteilte Systeme Prof. Dr. Peter Schulthess Markus Fakler 3. Übung zur Vorlesung Verteilte Betriebssysteme 21.11.2007 Aufgabe 1: Verteilte Algorithmen (3 + 1 +

Mehr

Vorlesung "Systemsoftware II" Wintersemester 2002/03

Vorlesung Systemsoftware II Wintersemester 2002/03 (c) Peter Sturm, Universität Trier 1 Verteilte Systeme 16. Transaktionen Motivation Sicherung konsistenter Systemzustände Beispiele Amnesieproblematik bei zustandsbehafteten Servern Sicherung des Primaries

Mehr

Algorithmus von Berkeley (1989)

Algorithmus von Berkeley (1989) Annahme: kein UTC Empfänger verfügbar Algorithmus (zentral, intern): Algorithmus von Berkeley (1989) ein Rechneragiert als aktiver Time Server. Der Server fragt periodisch die Zeiten/Unterschiede aller

Mehr

Vorlesung "Verteilte Systeme" Wintersemester 2000/2001. Verteilte Systeme. 14. Transaktionen

Vorlesung Verteilte Systeme Wintersemester 2000/2001. Verteilte Systeme. 14. Transaktionen Verteilte Systeme 14. Transaktionen Motivation Sicherung konsistenter Systemzustände Beispiele Amnesieproblematik bei zustandsbehafteten Servern Sicherung des Primaries (Primary-Backup- Approach) Aktive

Mehr

Aufgabe 2.1: Lamports Uhren

Aufgabe 2.1: Lamports Uhren Aufgabe 2.1: Lamports Uhren Die Relation a ereignet sich kausal vor b wird kurz als a b notiert. Von zwei Ereignissen a und b sind logische Zeitstempel nach Lamport, C(a) und C(b), bekannt, und es gilt

Mehr

Inhalt. Organisatorisches. Verteilte Algorithmen Überblick 4. Verteilte Systeme. Formales Modell Algorithmus

Inhalt. Organisatorisches. Verteilte Algorithmen Überblick 4. Verteilte Systeme. Formales Modell Algorithmus 1 2 Organisatorisches Inhalt Webseite zur Vorlesung: /teaching/ss_05/algosens/ Folien zur Vorlesung und Übung (soweit verfügbar) Übungsblätter Referenzen auf weiterführende Literatur Ankündigungen zur

Mehr

12 Fehlertoleranz. Begriffe. Failure das System verhält sich nicht wie spezifiziert.

12 Fehlertoleranz. Begriffe. Failure das System verhält sich nicht wie spezifiziert. 12 Fehlertoleranz ein verteiltes System beinhaltet viele Abstraktionsebenen, die stark voneinander abhängen. z.b. hängt der Klient von seinem Server ab, der wiederum von seinen Diensten, etc. die Kette

Mehr

Reduktion / Hilberts 10. Problem

Reduktion / Hilberts 10. Problem Reduktion / Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 9. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Taxonomie Verteilter Systeme

Taxonomie Verteilter Systeme Taxonomie Verteilter Systeme Jörg Domaschka joerg.domaschka@uni-ulm.de Institute of Distributed Systems Faculty of Computer Science Ulm University Germany Aspectix Research Team http://www.aspectix.org/

Mehr

Überblick. Zeit Motivation Network Time Protocol (NTP) Logische Uhren. c td VS (SS16) Zeit 9 1

Überblick. Zeit Motivation Network Time Protocol (NTP) Logische Uhren. c td VS (SS16) Zeit 9 1 Überblick Zeit Motivation Network Time Protocol (NTP) Logische Uhren c td VS (SS16) Zeit 9 1 Motivation Zeit als Mittel zur Reihenfolgebestimmung (Beispiele) Erkennung von Modifikationen an Dateien (z.

Mehr

Diskrete Ereignissysteme

Diskrete Ereignissysteme Distributed Computing HS 22 Prof. C. Stamm / K.-T. Förster T. Langner J. Seidel Prof. R. Wattenhofer Diskrete Ereignissysteme Prüfung Donnerstag 3. Januar 23 9: 2: Uhr Nicht öffnen oder umdrehen bevor

Mehr

Die Reduktion Hilberts 10. Problem

Die Reduktion Hilberts 10. Problem Die Reduktion Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 8. November 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. 9. Verteilte Algorithmen

Vorlesung Verteilte Systeme Sommersemester Verteilte Systeme. 9. Verteilte Algorithmen Vorlesung "Verteilte Systeme" Sommersemester 999 Verteilte Systeme 9. Verteilte Algorithmen Bereits behandelte Bereiche Logische Uhren Keine globale Uhrensynchronisation möglich (Theorie) Kausalitätserhaltender

Mehr

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.

Mehr

Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci

Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen Özden Urganci Ulf Sigmund Ömer Ekinci Inhaltsangabe 1 Einleitung 2 Prinzipien des verteilten wechselseitigen Ausschlusses 2.1 Anforderungen

Mehr

Allgemeines Halteproblem Hilberts 10. Problem

Allgemeines Halteproblem Hilberts 10. Problem Allgemeines Halteproblem Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Überblick. Motivation. Motivation. Erzeugung eines virtuellen Baums beim Systemstart

Überblick. Motivation. Motivation. Erzeugung eines virtuellen Baums beim Systemstart Überblick Motivation Wahlalgorithmen Motivation Grundlagen Wellenverfahren Adoptionsverfahren Problem: Wahl eines Anführerknotens szenarien Koordinierung verteilter Aktionen Erzeugung systemweit eindeutiger

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische

Mehr

Verteilte Systeme - 5. Übung

Verteilte Systeme - 5. Übung Verteilte Systeme - 5. Übung Dr. Jens Brandt Sommersemester 2011 Transaktionen a) Erläutere was Transaktionen sind und wofür diese benötigt werden. Folge von Operationen mit bestimmten Eigenschaften: Atomicity

Mehr

Übungsaufgabe 5. Verteilte Systeme - 6. Übung. Fehler & RPC (lokaler Fall) Transparenz beim Fernaufruf. RPC-Aufrufsemantiken Fehlermodell

Übungsaufgabe 5. Verteilte Systeme - 6. Übung. Fehler & RPC (lokaler Fall) Transparenz beim Fernaufruf. RPC-Aufrufsemantiken Fehlermodell Übungsaufgabe 5 Verteilte Systeme - 6. Übung Tobias Distler, Michael Gernoth, Reinhard Tartler Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)

Mehr

Algorithmen für Ad-hoc- und Sensornetze

Algorithmen für Ad-hoc- und Sensornetze Algorithmen für Ad-hoc- und Sensornetze Übung 6 Kommunikation und Färbungen im SINR Modell (basierend auf VL11) Fabian Fuchs 17. Jan. 2015 (Version 1) INSTITUT FÜR THEORETISCHE INFORMATIK - LEHRSTUHL FÜR

Mehr

Algorithmen des Internets

Algorithmen des Internets Algorithmen des Internets Sommersemester 2005 20.06.2005 10. Vorlesung schindel@upb.de Überblick Das Internet: Einführung und Überblick Mathematische Grundlagen IP: Routing im Internet TCP: Das Transport-Protokoll

Mehr

Konvergenz von Hopfield-Netzen

Konvergenz von Hopfield-Netzen Matthias Jauernig 1. August 2006 Zusammenfassung Die nachfolgende Betrachtung bezieht sich auf das diskrete Hopfield-Netz und hat das Ziel, die Konvergenz des Verfahrens zu zeigen. Leider wird dieser Beweis

Mehr

Beweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n)

Beweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n) Beweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n) ( ( ) n 3 T + T m ) 4 n n 3 c + m 4 n c + n n + C m + cn; dies gilt, falls m 2 n m C m + n 2 (bis auf, ) c m + 3

Mehr

Verteilte Systeme. Replikation & Konsistenz I. Prof. Dr. Oliver Haase

Verteilte Systeme. Replikation & Konsistenz I. Prof. Dr. Oliver Haase Verteilte Systeme Replikation & Konsistenz I Prof. Dr. Oliver Haase 1 Überblick Replikation & Konsistenz I Ziele von Replikation Replikationsmodelle datenzentriert Client-zentriert Replikation & Konsistenz

Mehr

Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =.

Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =. 2. Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n

Mehr

Überblick. Virtualisierungsbasierte Fehlertoleranz Motivation Remus. c td MWCC (WS16/17) Virtualisierungsbasierte Fehlertoleranz 14 1

Überblick. Virtualisierungsbasierte Fehlertoleranz Motivation Remus. c td MWCC (WS16/17) Virtualisierungsbasierte Fehlertoleranz 14 1 Überblick Virtualisierungsbasierte Fehlertoleranz Motivation Remus c td MWCC (WS16/17) Virtualisierungsbasierte Fehlertoleranz 14 1 Virtualisierungsbasierte Fehlertoleranz Widersprüchliche Entwicklung

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 23. Constraint-Satisfaction-Probleme: Constraint-Netze Malte Helmert Universität Basel 13. April 2015 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick

Mehr

Reguläre Sprachen und endliche Automaten

Reguläre Sprachen und endliche Automaten Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented

Mehr

Algorithmen für schwierige Probleme

Algorithmen für schwierige Probleme Algorithmen für schwierige Probleme Britta Dorn Wintersemester 2011/12 24. November 2011 Farbkodierung Beispiel Longest Path Longest Path gegeben: G = (V, E) und k N. Frage: Gibt es einen einfachen Pfad

Mehr

Verteilte Betriebssysteme

Verteilte Betriebssysteme Verteiltes System Eine Sammlung unabhängiger Rechner, die dem Benutzer den Eindruck vermitteln, es handle sich um ein einziges System. Verteiltes Betriebssystem Betriebssystem für verteilte Systeme Verwaltet

Mehr

Heute. Medium Access Control / Färbungen, Teil 2. Kapazität & Scheduling. kurze Wiederholung Schöner verteilter Färbungsalgorithmus

Heute. Medium Access Control / Färbungen, Teil 2. Kapazität & Scheduling. kurze Wiederholung Schöner verteilter Färbungsalgorithmus Heute Medium Access Control / Färbungen, Teil kurze Wiederholung Schöner verteilter Färbungsalgorithmus Kapazität & Scheduling Interferenz etwas realistischer neue Probleme und Herangehensweisen VL 0 Eine

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

Signale und Codes Vorlesung 4

Signale und Codes Vorlesung 4 Signale und Codes Vorlesung 4 Nico Döttling December 6, 2013 1 / 18 2 / 18 Letztes Mal Allgemeine Hamming Codes als Beispiel linearer Codes Hamming Schranke: Obere Schranke für k bei gegebenem d bzw. für

Mehr

Rekursive Aufzählbarkeit Die Reduktion

Rekursive Aufzählbarkeit Die Reduktion Rekursive Aufzählbarkeit Die Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Atomare Commit-Protokolle. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Atomare Commit-Protokolle Folie 1

Atomare Commit-Protokolle. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Atomare Commit-Protokolle Folie 1 Atomare Commit-Protokolle Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher Atomare Commit-Protokolle Folie 1 Atomares Commit-Protokoll Bisher: Protokolle zur lokalen Transaktionsverwaltung

Mehr

Erste Beispiele für verteilte Algorithmen

Erste Beispiele für verteilte Algorithmen Erste Beispiele für verteilte Algorithmen Ein erster verteilter Algorithmus: Verteilte Berechnung des ggt Fünf in Raum und Zeit verteilte griechische Philosophen wollen zusammen den grössten gemeinsamen

Mehr

Überblick. 2 Bestandsaufnahme 2.1 Beispiele von verteilten Systemen 2.2 Anwendungsszenarien 2.3 Vorteile 2.4 Problembereiche

Überblick. 2 Bestandsaufnahme 2.1 Beispiele von verteilten Systemen 2.2 Anwendungsszenarien 2.3 Vorteile 2.4 Problembereiche Überblick 2 Bestandsaufnahme 2.1 Beispiele von verteilten Systemen 2.2 Anwendungsszenarien 2.3 Vorteile 2.4 Problembereiche c rk,wosch,jk VS (SS 2015) 2 Bestandsaufnahme 2 1 Prozessorfarm @Google c rk,wosch,jk

Mehr

Gegenseitiger Ausschluss

Gegenseitiger Ausschluss Gegenseitiger Ausschluss Problemstellung Mehrere Prozesse greifen auf gemeinsame Daten/essourcen zu; der Zugriff muss synchronisiert werden: Immer nur ein Prozess darf den kritischen Abschnitt (k.a.) betreten.

Mehr

2

2 1 2 3 4 5 6 - Oracle Dataguard ist eine Erweiterung des Datenbankmanagementsystems [ ], die den Betrieb einer Standby-Datenbank erlaubt (Quelle: Wikipedia) - Mittels Dataguard ist es möglich, sämtliche

Mehr

Überblick. Zeit Motivation Konvergenz-Algorithmus CNV Network Time Protocol (NTP) Logische Uhren. c td VS (SS17) Zeit 8 1

Überblick. Zeit Motivation Konvergenz-Algorithmus CNV Network Time Protocol (NTP) Logische Uhren. c td VS (SS17) Zeit 8 1 Überblick Zeit Motivation Konvergenz-Algorithmus CNV Network Time Protocol (NTP) Logische Uhren c td VS (SS17) Zeit 8 1 Motivation Zeit als Mittel zur Reihenfolgebestimmung (Beispiele) Erkennung von Modifikationen

Mehr

Example Ptolemy Model of Comp.: Synchronous Reactive

Example Ptolemy Model of Comp.: Synchronous Reactive Prinzip: Example Ptolemy Model of Comp.: Synchronous Reactive Annahme: unendlich schnelle Maschine Diskrete Ereignisse (DE) werden zyklisch verarbeitet (Ereignisse müssen nicht jede Runde eintreffen) Pro

Mehr

Verteilte Systeme. Graphenalgorithmen. Secure Identity Research Group

Verteilte Systeme. Graphenalgorithmen. Secure Identity Research Group Verteilte Systeme Graphenalgorithmen Allgemeine Netzwerke Reale Computernetze sind meist keine Ringe Beliebige Netze lassen sich als Graph modellieren:g=(v,e) Knoten V (Prozessen, Stationen) Kanten E (Kanälen,

Mehr

19. Nichtdeterministische Turingmaschinen und ihre Komplexität

19. Nichtdeterministische Turingmaschinen und ihre Komplexität 19. Nichtdeterministische Turingmaschinen und ihre Komplexität Bei einem Turingmaschinenprogramm P aus bedingten Anweisungen wird durch die Forderung i a b B j i a b B j i a sichergestellt, dass zu jeder

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

Bully-Algorithmus Krebs Florian, Kus Matthias, Pisselhoy Andreas, Schwab Benjamin, Heinrich Jörg

Bully-Algorithmus Krebs Florian, Kus Matthias, Pisselhoy Andreas, Schwab Benjamin, Heinrich Jörg Bully-Algorithmus Krebs Florian, Kus Matthias, Pisselhoy Andreas, Schwab Benjamin, Heinrich Jörg Programmierung verteilter Systeme Lab Institut für Informatik Universität Augsburg Universitätsstraße 14,

Mehr

Literatur. VA SS Teil 5/Messages

Literatur. VA SS Teil 5/Messages Literatur [5-1] https://en.wikipedia.org/wiki/message-oriented_middleware [5-2] https://en.wikipedia.org/wiki/advanced_message_queuing_protocol http://www.amqp.org/specification/0-10/amqp-org-download

Mehr

Verteilte Systeme. Fehlertoleranz. Prof. Dr. Oliver Haase

Verteilte Systeme. Fehlertoleranz. Prof. Dr. Oliver Haase Verteilte Systeme Fehlertoleranz Prof. Dr. Oliver Haase 1 Überblick Einführung Belastbarkeit von Prozessen Zuverlässige Client-Server-Kommunikation Zuverlässige Gruppenkommunikation 2 Anforderungen an

Mehr

Abschnitt 11: Korrektheit von imperativen Programmen

Abschnitt 11: Korrektheit von imperativen Programmen Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961

Mehr

Heute. Algorithmen für Ad-hoc- und Sensornetze. Erinnerung: MAC-Layer. Erinnerung: Färbungen. Definition

Heute. Algorithmen für Ad-hoc- und Sensornetze. Erinnerung: MAC-Layer. Erinnerung: Färbungen. Definition Heute Algorithmen für Ad-hoc- und Sensornetze VL 0 Eine kurze Geschichte vom Färben (Teil ) Medium Access Control / Färbungen, Teil kurze Wiederholung Schöner verteilter Färbungsalgorithmus Markus Völker

Mehr

Das zehnte Hilbertsche Problem. Seminar Arbeit von Jurij Bernhardt ( )

Das zehnte Hilbertsche Problem. Seminar Arbeit von Jurij Bernhardt ( ) Das zehnte Hilbertsche Problem Seminar Arbeit von Jurij Bernhardt (4004655) (11) In dem 10 en Hilbertschen Problem geht es um Existenz eines Algorithmus oder einer Methode zur Bestimmung ganzzahliger Lösungen

Mehr

Lokale Strategien zur Garbage Collection Problemstellung der verteilten Gargabe Collection Algorithmen

Lokale Strategien zur Garbage Collection Problemstellung der verteilten Gargabe Collection Algorithmen Garbage Collection Überblick Literatur Lokale Strategien zur Garbage Collection Problemstellung der verteilten Gargabe Collection Algorithmen S. Blackburn et al: Starting with Termination: A Methodology

Mehr

P, NP und NP -Vollständigkeit

P, NP und NP -Vollständigkeit P, NP und NP -Vollständigkeit Mit der Turing-Maschine haben wir einen Formalismus kennengelernt, um über das Berechenbare nachdenken und argumentieren zu können. Wie unsere bisherigen Automatenmodelle

Mehr

Moderne Methoden der KI: Maschinelles Lernen

Moderne Methoden der KI: Maschinelles Lernen Moderne Methoden der KI: Maschinelles Lernen Prof. Dr.Hans-Dieter Burkhard Vorlesung Sommer-Semester 2008 Konzept-Lernen Konzept-Lernen Lernen als Suche Inductive Bias Konzept-Lernen: Problemstellung Ausgangspunkt:

Mehr

Verteilte Systeme Teil 2

Verteilte Systeme Teil 2 Distributed Computing HS 2012 Prof. Dr. Roger Wattenhofer, Dr. Thomas Locher C. Decker, B. Keller, S. Welten Prüfung Verteilte Systeme Teil 2 Freitag, 8. Februar 2013 9:00 12:00 Die Anzahl Punkte pro Teilaufgabe

Mehr

Multiple Path Routing

Multiple Path Routing Multiple Path Routing Routing ohne Konvergenz unter Verwendung von Failure-Carrying Packets von Sebastian Wagner 1 Inhalt Motivation Zielsetzung FCP Grundlagen und Funktionsweise Optimierungen Verteilung

Mehr

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 7. Dezember 2006 Rekursiv vs. rekursiv

Mehr

5.1 Verteilung von Aktualisierungshinweisen

5.1 Verteilung von Aktualisierungshinweisen 5.1 Verteilung von Aktualisierungshinweisen Verteilung von Nachrichten über eine Aktualisierung lokaler Datenspeicher erfährt, dass Aktualisierung stattfand z.b. Invalidierungsnachricht vgl. erste DSM-Implementierung

Mehr

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 26. November 2007 Semi-Entscheidbarkeit

Mehr

aus der Bedingung/Annahme A folgt ein Widerspruch ), so ist A falsch!

aus der Bedingung/Annahme A folgt ein Widerspruch ), so ist A falsch! Bemerkungen: 1 Die Bedeutung von (und damit ) ist klar. wird oft, vor allem in Beweisen, auch als geschrieben (im Englischen: iff, if and only if). 2 Für zwei boolesche Aussagen A und B ist A B falsch

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................

Mehr

6: Diskrete Wahrscheinlichkeit

6: Diskrete Wahrscheinlichkeit Stefan Lucks Diskrete Strukturen (WS 2009/10) 219 6: Diskrete Wahrscheinlichkeit 6: Diskrete Wahrscheinlichkeit Stefan Lucks Diskrete Strukturen (WS 2009/10) 220 Wahrscheinlichkeitsrechnung Eines der wichtigsten

Mehr

Algorithmen für Ad-hoc- und Sensornetze

Algorithmen für Ad-hoc- und Sensornetze Algorithmen für Ad-hoc- und Sensornetze VL 11 Kommunikation und Färbungen im SINR Modell Fabian Fuchs 17. Dez. 2015 (Version 1) INSTITUT FÜR THEORETISCHE INFORMATIK - LEHRSTUHL FÜR ALGORITHMIK (PROF. WAGNER)

Mehr

Terminierungserkennung

Terminierungserkennung Terminierungserkennung Die Fragestellung Das Märchen von der verteilten Terminierung Systemmodellierung Terminierungserkennung Zählverfahren mit zwei Wellen Zeitzonenverfahren Vektormethode Kreditmethode

Mehr

Motivation für Fehlertoleranz in VS Fehlermodelle Erreichen von Fehlertoleranz. Verteilte Systeme. 7. Fehlertoleranz

Motivation für Fehlertoleranz in VS Fehlermodelle Erreichen von Fehlertoleranz. Verteilte Systeme. 7. Fehlertoleranz 7-2 Überblick Verteilte Systeme 7. Fehlertoleranz Sommersemester 2011 Motivation für Fehlertoleranz in VS Fehlermodelle Erreichen von Fehlertoleranz Ausfallsicherheit von Prozessen Zuverlässiger Remote

Mehr

Der Backoff-Algorithmus

Der Backoff-Algorithmus Der Backoff-Algorithmus Ausarbeitung im Rahmen der Vorlesung Lokale und Weitverkehrsnetze II (Prof. Koops) SS 2001 3570316 Lars Möhlmann 3570317 Jens Olejak 3570326 Till Tarara Fachhochschule Oldenburg/Ostfriesland/Wilhelmshaven

Mehr

Prinzipien der modernen Kryptographie Sicherheit

Prinzipien der modernen Kryptographie Sicherheit Prinzipien der modernen Kryptographie Sicherheit Prinzip 1 Sicherheitsmodell Das Sicherheitsmodell (Berechnungsmodell, Angriffstypen, Sicherheitsziele) muss präzise definiert werden. Berechnungsmodell:

Mehr

Fehlertolerante verteilte Systeme, Peer-To-Peer Netzwerke

Fehlertolerante verteilte Systeme, Peer-To-Peer Netzwerke Fehlertolerante verteilte Systeme, Peer-To-Peer Netzwerke Hauptseminar im SS 2002 Hans Reiser, Rüdiger Kapitza Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Universität Erlangen-Nürnberg

Mehr

Prioritäten/Zeitstempel-Verfahren

Prioritäten/Zeitstempel-Verfahren Prioritäten/Zeitstempel-Verfahren Grundlegende Idee: Falls einer Transaktion T k eine Sperre nicht gewährt wird, weil eine andere Transaktion T i sie hält, besteht Deadlockgefahr. Also bekommt jede Transaktion

Mehr

Prioritäten/Zeitstempel-Verfahren. WAIT-DIE und WOUND-WAIT-Strategien

Prioritäten/Zeitstempel-Verfahren. WAIT-DIE und WOUND-WAIT-Strategien Prioritäten/Zeitstempel-Verfahren Grundlegende Idee: Falls einer Transaktion T k eine Sperre nicht gewährt wird, weil eine andere Transaktion T i sie hält, besteht Deadlockgefahr. Also bekommt jede Transaktion

Mehr

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 276/ 333 N P-Vollständigkeit Ḋefinition NP-vollständig Sei

Mehr

Replikation verteilter Datenbanken

Replikation verteilter Datenbanken Replikation verteilter Datenbanken Fakultät Informatik, Mathematik und Naturwissenschaften HTWK Leipzig 10. Juli 2015 Replikation verteilter Datenbanken 1 1 Motivation 2 Verfahren 3 Primary Copy 4 Abstimmungsverfahren

Mehr

Randomisierte Datenstrukturen

Randomisierte Datenstrukturen Seminar über Algorithmen DozentInnen: Helmut Alt, Claudia Klost Randomisierte Datenstrukturen Ralph Schäfermeier 13. 2. 2007 Das Verwalten von Mengen, so dass ein schneller Zugriff auf deren Elemente gewährleistet

Mehr

KEY AGREEMENT IN DYNAMIC PEER GROUPS

KEY AGREEMENT IN DYNAMIC PEER GROUPS KEY AGREEMENT IN DYNAMIC PEER GROUPS Seminar Kryptographische Protokolle SS 2009 Motivation Gruppenorientierte Anwendungen, Protokolle und Kommunikation treten in vielen Umgebungen auf: Netzwerk-Schicht:

Mehr

Algorithmen für eingebettete Systeme

Algorithmen für eingebettete Systeme Algorithmen für eingebettete Systeme 3. Wechselseitiger Ausschluss Sommersemester 0 Folien zur Vorlesung von Dr. Mathias Pacher Inhalt 3.. Motivation und Anforderungen 3.. Broadcast-Algorithmus 3.3. Verbesserter

Mehr

Wahrscheinlichkeitsrechnung und Statistik

Wahrscheinlichkeitsrechnung und Statistik Babeş-Bolyai Universität Fakultät für Mathematik und Informatik Oktober 2018 Im Alltag... Laut den meteorologischen Vorhersagen wird es morgen regnen. Ob ich riskiere und die Wette verlieren werde? Ich

Mehr

Algorithmen und Datenstrukturen SS09. Foliensatz 15. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 15. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 15 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 16 Untere Schranken für das Vergleichsbasierte Sortieren TU

Mehr