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

Ähnliche Dokumente
Praktikable Einigungsalgorithmen

Die Byzantinischen Generäle

Randomisierte Algorithmen: Ben-Or

The Byzantine Generals' Problem

Grundlagen: Überblick

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

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

Verteilte Systeme. Diffusionsalgorithmen. Secure Identity Research Group

10.1 Motivation. Beispiel: verbundene Geldkonten. Beispiel: verbundene Geldkonten (Forts.)

Algorithmen für schwierige Probleme

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Algorithmen II Vorlesung am

Zeit als Mittel der Reihenfolgebestimmung

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

Übersicht. Nebenläufige Programmierung: Praxis und Semantik. Synchronisation (4) Eine untere Schranke für den Platzbedarf

Teil III. Komplexitätstheorie

Grundlagen: Überblick

Effiziente Algorithmen Lineares Programmieren 216. Schwache Dualität

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

Verteilte Algorithmen

Verteilte Systeme. 7. Fehlertoleranz

Fehlertoleranz in eingebetteten Systemen

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009

Algorithmen für Ad-hoc- und Sensornetze

Protokoll-Spezifikationen

Fehlertolerante Systeme

Algorithmus von Berkeley (1989)

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

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Kapitel III Selektieren und Sortieren

7 Fehlertoleranz. vs7 1

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

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Verteilte Systeme. Graphenalgorithmen. Secure Identity Research Group

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 =.

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

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule

Praktische Grenzen der Berechenbarkeit

Bäume und Wälder. Definition 1

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

Vorlesungstermin 2: Graphentheorie II. Markus Püschel David Steurer. Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich

Verteilte Systeme - Übung

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

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

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9

ADS: Algorithmen und Datenstrukturen 2

Bäume und Wälder. Definition 1

Minimal spannende Bäume

Algorithmische Graphentheorie

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

6.1 Motivation. Globale Zeit. Zeit in Rechnern. Verteilte Betriebssysteme

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Kapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen

1.8 Shift-And-Algorithmus

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

7.1 Grundlagen. Anforderungen an eine Realisierung

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Vorlesung Digitale Signaturen im Wintersemester 2017/-18. Socrative-Fragen aus der Vorlesung vom

Aufbau der Projektiven Geometrie

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

Brückenkurs Mathematik

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Fehlertolerante verteilte Systeme, Peer-To-Peer Netzwerke

Theoretische Informatik 1

Algorithmische Graphentheorie

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Planare Graphen, Färbung)

Rhetorik und Argumentationstheorie.

Unentscheidbarkeit des Halteproblems: Unterprogrammtechnik

Vorkurs Mathematik für Informatiker

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

Der Preow-push-Algorithmus

7.2 Conjoining Specifications

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

Approximationsalgorithmen

C. A. R. Hoare. An Axiomatic Basis for Computer Programming. Nicolas Schelp. Proseminar Assertions SS 2007

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

21. Dynamic Programming III

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen)

Das Problem des minimalen Steiner-Baumes

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

Bemerkungen: Ist der Wert von S(n) (und damit auch τ) unbekannt, so führt man das Verfahren nacheinander mit den Werten

Kapitel 6: Das quadratische Reziprozitätsgesetz

Elemente in Φ werden Wurzeln genannt. Bemerkung 3.2. (a) Zu einem Wurzelsystem können wir immer eine Spiegelungsgruppe definieren

Die Klasse NP und die polynomielle Reduktion

Theoretische Informatik 1

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Verteilte Algorithmen

Adventure-Problem. Vorlesung Automaten und Formale Sprachen Sommersemester Adventure-Problem

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Das Prinzip der Suchmaschine Google TM

Transkript:

Verteilte Betriebssysteme Wintersemester 8/9 Verteilte Betriebssysteme. Kapitel Konsens Prof. Matthias Werner Professur Betriebssysteme. Einführung. Einführung Wir haben bereits einige Probleme betrachtet, die zum Ziel haben, dass eine Anzahl von Teilnehmern zu einem gemeinsamen Ergebnis kommen, z.b.: Uhrensynchronisation Auswahlproblem Verteiltes Commit Ein solches Finden eines gemeinsamen Ergebnisses nennt man Konsens Definition. (Konsens) Konsens erlaubt einer Menge von fehlerfeien Verarbeitungseinheiten den korrekten Wert eines Teils des Systemzustandes zu erfahren und gleichzeitig zu wissen, dass jede andere korrekte Verarbeitungseinheit das selbe Ergebnis erhält, unabhängig von den Aktionen der fehlerhaften Einheiten. WS 8/9 Prof. Matthias Werner / osg.informatik.tu-chemnitz.de Fehler. Einführung Je nach Annahmen über das System ist Konsens trivial: In einem fehlerfreien System braucht man gemeinsame Information und eine gemeinsame Bewertungsfunktion Aber: sich ändernde Information sind nur zeitweise gültig Synchronisation erforderlich reale Systeme haben Fehler Berücksichtigung notwendig Hier nehmen wir synchrone Systeme an und betrachten die Auswirkung von Fehlern Fehler (Forts.). Einführung Wenn Fehler berücksichtigt werden soll, muss das Verhalten des Fehlers spezifiziert werden In einem verteilten System lässt sich das Verhalten nur aufgrund von Nachrichten beobachten Mögliches Fehlverhalten: Nachrichten kommen nicht oder nicht rechtzeitig an Der Inhalt der Nachricht ist inkorrekt Es werden zusätzliche Nachrichten gesendet Ist nur das Kommunikationssystem gestört ist lediglich das erste Verhalten möglich, sonst muss der Knoten fehlerhaft sein Wenn das Fehlverhalten nicht beschränkt ist, spricht man von einem Byzantinischen Fehler Schliesst auch konspiratives Verhalten ein typische Fehlertoleranzmaßnahmen wie Checksummen vorausgesetzt WS 8/9 Prof. Matthias Werner / osg.informatik.tu-chemnitz.de WS 8/9 Prof. Matthias Werner 4 / osg.informatik.tu-chemnitz.de

. Einführung Problem des Byzantinischen Agreements Varianten. Einführung Byzantinisches Agreement nach LAMPORT Die Armee von Byzanz will mit mehreren Divisionen eine Stadt erobern Jede Division wird von einem General befehligt, ein General ist der kommandierende General Generäle kommunizieren ausschließlich durch Boten Unter den Generälen können sich Verräter befinden Eroberung ist nur bei konsistentem Verhalten (der loyalen Generäle) erfolgreich Problem: Gesucht ist ein Verfahren (Algorithmus), das folgendes garantiert: Alle (loyalen) Generäle befolgen die gleiche Anweisung Ist der kommandierende General loyal, befolgen die (loyalen) Generäle seine Anweisung Es gibt eine Reihe ähnlicher Probleme, die sich aber ineinander überführen lassen: Generalsproblem (Byzantinisches Agreement) Ein General gibt Befehl; alle loyalen Generäle sollen gleichen Befehl ausführen; wenn der kommandierender General loyal ist, wird sein Befehl ausgeführt. Byzantinischer Konsens Alle Generäle haben eine private Meinung; alle loyalen Generäle sollen sich auf eine Meinung einigen Interaktive Konsistenz Alle Generäle haben eine private Meinung; alle loyalen Generäle haben am Ende den gleichen Werte-Vektor, wobei sie Meinungen der loyalen Generäle im Werte-Vektor korrekt sind. Achtung: Benennung ist in der Literatur unterschiedlich zu finden. WS 8/9 Prof. Matthias Werner 5 / osg.informatik.tu-chemnitz.de. Einführung Formale Definition (Konsens) Eine etwas formalere Definition: Eine Menge von n Knoten v i (Prozessoren, Rechnern,...) sind durch ein (fehlerfreies) Netzwerk miteinander verbunden. Jeder Knoten besitzt einen zunächst privaten Wert δ i aus einer Menge möglicher Werte. Ziel ist es, dass jeder Knoten für einen Wert aus entscheidet. Drei Bedingungen sollen erfüllt werden: Agreementbedingung. Keine zwei (fehlerfreien) Knoten entscheiden sich für unterschiedliche Werte Validierungsbedingung. Wenn alle fehlerfreien Knoten mit dem gleichen privaten Wert δ beginnen, dann muss dies auch der Ergebniswert sein Terminierungsbedingung. Alle fehlerfreien Knoten entscheiden sich nach endlicher Zeit WS 8/9 Prof. Matthias Werner 6 / osg.informatik.tu-chemnitz.de. Unmöglichkeit. Unmöglichkeit von Byzantinischen Agreement Anzahl der Verräter Theorem. Wenn f die maximale Anzahl fehlerhafter Knoten in einem System S von n Knoten ist, gibt es keinen Algorithmus, der das Problem des Byzantinischen Agreements löst, solange n f gilt WS 8/9 Prof. Matthias Werner 7 / osg.informatik.tu-chemnitz.de WS 8/9 Prof. Matthias Werner 8 / osg.informatik.tu-chemnitz.de

. Unmöglichkeit. Unmöglichkeit Beweis für Theorem., Knotenzahl Beweis für Lemma. Für n = : offensichtlich. Für n > : Beweisen zunächst einfacheres Lemma. Lemma. Das Byzantinische Agreement ist nicht lösbar, wenn n = gilt und mindestens ein Fehler möglich ist. Konstruieren System S aus zwei S: Betrachten System S mit Knoten: Für zwei Knoten ist nicht der Unterschied zu S mit einem defektem Knoten erkennbar? Annahme: In S lasse sich das Byzantinische Agreement lösen. WS 8/9 Prof. Matthias Werner 9 / osg.informatik.tu-chemnitz.de. Unmöglichkeit Beweis für Lemma. (Forts.) Betrachtung jeweils zweier anderer Knoten führt zum Widerspruch WS 8/9 Prof. Matthias Werner / osg.informatik.tu-chemnitz.de. Unmöglichkeit Beweis für Lemma. (Forts.) Für n f: Annahme des Gegenteils, sei A ein System mit n Knoten, von denen f fehlerhaft sind. A löse das Agreementproblem. Partitioniere A in drei nichtleere Teilmengen I, I und I mit I i f. OBdA: Alle fehlerhaften Knoten von A sind entweder in I, I oder I. WS 8/9 Prof. Matthias Werner / osg.informatik.tu-chemnitz.de WS 8/9 Prof. Matthias Werner / osg.informatik.tu-chemnitz.de

. Unmöglichkeit Beweis für Lemma. (Forts.). Unmöglichkeit Kommunikation zwischen den Generälen Betrachten System B, das durch A simuliert wird. B bestehe aus N, N und N (entsprechend I, I und I ) A kann B durch folgenden Spielregeln simulieren: Alle Knoten in jedem I i haben den gleichen Startwert v i Wenn alle Knoten in I i sich für einen Endwert entscheidet, dann hat sich I i (d.h. N i ) entschieden. Falls unterschiedliche Werte in I i entschieden werden, wird einer davon genommen. Wenn A das Agreement löst, wird das Agreement auch für B gelöst Widerspruch zu Lemma. Theorem. In einem System S mit n Knoten, von denen maximal f fehlerhaft sind, gibt es keinen Algorithmus, der das Problem des Byzantinischen Agreements löst, wenn die Konnektivität des Kommunikationsgraphen k = γ(s) f ist. Der Beweis von Theorem. wird hier nicht geführt Übung WS 8/9 Prof. Matthias Werner / osg.informatik.tu-chemnitz.de. Unmöglichkeit Bedingungen für Lösbarkeit Byzantinischer Probleme WS 8/9 Prof. Matthias Werner 4 / osg.informatik.tu-chemnitz.de. Unmöglichkeit Bedingungen für Lösbarkeit Byzantinischer Probleme Es gibt ziemlich viel Unmöglichkeitsbeweise für das Byzantinische Agreement u.ä. Probleme DOLEV ET AL. haben fünf Systemcharakteristika genannt, die eine Rolle spielen: Ausführung auf den Knoten: synchron vs. asynchron Kommunikation: synchron vs. asynchron Nachrichtenreihenfolge: geordnet vs. ungeordnet Übertragungsmechanismus: broadcast vs. Punkt-zu-Punkt Senden/Empfangen-Atomarität: atomar vs. nicht atomar Es konnten genau vier Fälle identifiziert werden, bei denen es Byzantinisches Agreement mit f > fehlerhaften Knoten geben kann: Synchrone Knoten und synchrone Kommunikation Synchrone Knoten und geordnete Nachrichtenreihenfolge Broadcast-Übertragung und geordnete Nachrichtenreihenfolge Synchrone Kommunikation, Broadcast-Übertragung, atomares Senden/Empfangen Für f = gibt es noch einen weiteren Fall: Asynchrone Knoten, synchrone Kommunikation, Punkt-zu-Punkt-Kommunikation und atomares Senden/Empfangen WS 8/9 Prof. Matthias Werner 5 / osg.informatik.tu-chemnitz.de WS 8/9 Prof. Matthias Werner 6 / osg.informatik.tu-chemnitz.de

. Algorithmus. Algorithmus Ein Algorithmus für Byzantinisches Agreement Algorithmus für Generalsproblem (Commander zu Leutnants) mehrfach angewendet Annahmen: Sei = (z.b. = {a, b}) Sei n > f Vollständig vernetzter Graph Oral-Messages-Algorithmus. Kommandierender General sendet an alle Leutnants seinen Befehl. Alle senden ihre Sicht an alle anderen. Punkt wird f-mal wiederholt 4. Jeder Leutnant führt einen Baum-Mehrheits-Algorithmus durch Baum-Mehrheit Algorithmus. Algorithmus Jeder Leutnant bildet einen Nachrichtenbaum Jede Hierachiestufe ist eine Indirektion der Sicht Alle Unterknoten eines Knotens zeigen die (behauptete) Sicht der anderen auf diesen Knoten Es wird rekursive die Mehrheit über die Subbäume (Knoten + Unterknoten) gebildet Fehlende Nachrichten werden beliebig ersetzt WS 8/9 Prof. Matthias Werner 7 / osg.informatik.tu-chemnitz.de. Algorithmus Beispiel für Baum-Mehrheit, n = 7, f = Sicht von Leutnant Nr. ( ist Kommandierender General): Nachrichtenformat: Prefix gibt an, wessen Sicht es ist. WS 8/9 Prof. Matthias Werner 8 / osg.informatik.tu-chemnitz.de Effizienz. Algorithmus Minimalität Bewiesen: ein Byzantinisches Agreement braucht mindestens f + Prozessoren, f + Runden und Nachrichten in der Größe von O(t ) Bits Bisher noch kein Algorithmus gefunden, bei dem alle Parameter minimal sind Randomisierte Algorithmen Erlauben Synchronisationsforderungen aufzugeben Keine Garantie, aber Wahrscheinlichkeit eines Agreements geht gegen Im Mittel weniger Runden als deterministische Algorithmen Gesamter Nachrichtenbaum WS 8/9 Prof. Matthias Werner 9 / osg.informatik.tu-chemnitz.de WS 8/9 Prof. Matthias Werner / osg.informatik.tu-chemnitz.de

. Algorithmus. Algorithmus Verwandschaft zwischen Konsensproblemen Lamport,Shostak & Pease/ Dolev & Reischuk Diskussion Rabin/ Chor & Coan Lombardi Turpin & Coan Lamport,Shostak & Pease (Byzant. Generals Problem) Maeng & Malek Russel & Kime Dwork, Lynch, & Stockmeyer Malek/ Chwa & Hakimi Hosseini, Kuhl & Reddy Hakimi & Nakajima Preparata, Metze & Chien (PMC) Dolev, Lynch, Pinter, Stark & Weihl Karunanithi & Friedman Fussel & Rangarajan/ Berman & Pelc Mallela & Masson/ Yang & Masson Blount Cristian Liaw, Su & Malaiya Maheshwari & Hakimi Yang & Masson Dahbura,Sabnani & King / Blough,Sullivan & Masson WS 8/9 Prof. Matthias Werner / osg.informatik.tu-chemnitz.de Literatur Literatur [Pra96] Dhiraj K. Pradhan, Hrsg. Fault Tolerant Computer Systems. Prentice Hall, 996, Section.4 und Chapter 8 [Lyn96] Nancy A. Lynch. Distributed Algorithms. Morgan Kaufmann, 996, Chapter 6 b [LSP8] Leslie Lamport, Robert Shostak und Marshall Pease. The Byzantine Generals Problem. In: ACM Transactions on Programming Languages and Systems 4. (Juli 98), S. 8 4 b [BDM9] Michael Barborak, Anton Dahbura und Miroslaw Malek. The consensus problem in fault-tolerant computing. In: ACM Computing Survey 5. (Juni 99), S. 7 WS 8/9 Prof. Matthias Werner / I Obwohl die Annahme Byzantinischer Fehler etwas paranoid wirkt, sind sie in der Realität relevant I Uhrensynchronisation ist bei Existenz inkorrekter Uhren immer byzantinisch I Mehrere Plattformen nutzen Byzantinisches Agreement: I SIFT (Software Implemented Fault Tolerance, NASA) I TTA I BitCoin I... osg.informatik.tu-chemnitz.de I Schwächere Annahmen erlauben effizientere Protokolle I Authenticated Byzantine fault (oder noch schwächere Fehlermodelle) I Keine konsistentes Ergebnis (nur nahezu ) I Keine garantiere Terminierung (probabilistisch) I... WS 8/9 Prof. Matthias Werner / osg.informatik.tu-chemnitz.de