29
Proseminar Technische Informatik Esra Ünal The Byzantine Generals' Problem

The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Proseminar Technische Informatik

Esra Ünal

The Byzantine Generals' Problem

Page 2: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 2

Gliederung1.Beispiel: Feuermeldeanlage2.Formalisierung des Problems3.Definition4.Ursprung der Namensgebung5.Voraussetzungen für die Lösung6.Lösung7.Erweiterung8.Zusammenfassung9.Quellen

Page 3: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 3

Beispiel:Feuermeldeanlage –Beschreibung(1)

Besteht aus einem Netzwerk von Temperatursensoren

alle Sensoren können mit den anderen kommunizieren

Entscheidung wird mithilfe der Nachrichten von den anderen Sensoren getroffen

●Jeder Sensoren entscheidet für sich, ob es seinen Teil der Löschanlage startet oder nicht

Page 4: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 4

Beispiel:Feuermeldeanlage –Beschreibung(2)

Entscheidung

Feuer Kein Feuer

Alarm auslösen+

Sprinkleranlage aktivieren

Beobachtungfortsetzen

Konflikte bei unterschiedlichen Entscheidungen

Page 5: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 5

Beispiel:Feuermeldeanlage–Beschreibung(3)

Page 6: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 6

Beispiel:Feuermeldeanlage–Beschreibung(4)

Page 7: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 7

Beispiel:Feuermeldeanlage – Fall mit 3 Sensoren(1)

Sensor 0

Sensor 2

Feuer Feuer

„Feuer“ erhalten

„kein Feuer“ erhaltenSensor 2

Sensor 0

Sensor 1

Server 0 sendet sein Ergebnis an alle

{ }

Page 8: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 8

Beispiel:Feuermeldeanlage – Fall mit 3 Sensoren(2)

Sensor 0

Sensor 2

Feuer

Feuer

„Feuer“ erhalten

„kein Feuer“ erhalten

Sensor 2

Sensor 0

Sensor 1

Server 1 sendet sein Ergebnis an alle

{ }

{ }

Page 9: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 9

Beispiel:Feuermeldeanlage – Fall mit 3 Sensoren(3)

Sensor 0

Sensor 2

kein Feuer

Feuer

„Feuer“ erhalten

„kein Feuer“ erhalten

Sensor 2

Sensor 0

Sensor 1

Server 2 sendet sein Ergebnis an alle

{ }

{ }

Page 10: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 10

Beispiel:Feuermeldeanlage –Fall mit 3 Sensoren(4)

Nur einige Löschanlagen sind aktiv, da die Ergebnismengen leer sind (undefinierter Zustand)

Page 11: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 11

Beispiel:Feuermeldeanlage – Fall mit 3 Sensoren(3)

Sensor 0

Sensor 2

kein Feuer

kein Feuer

„kein Feuer“ erhalten

„kein Feuer“ erhalten

Sensor 2

Sensor 0

Sensor 1

Server 2 sendet sein Ergebnis an alle

{K}

{K}

Page 12: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 12

Beispiel:Feuermeldeanlage –Fall mit 3 Sensoren(6)

Löschanlagen bleiben aus, weil die „Mehrheit“ der Sensoren dagegen ist

Page 13: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 13

Sensor 0

Sensor 1 Sensor 2 Sensor 3

FeuerFeuer

Feuer

„Feuer“ erhalten

„Feuer“ erhalten

„kein Feuer“ erhalten

„kein Feuer“ erhalten

„Feuer“ erhalten„Feuer“ erhalten

Beispiel:Feuermeldeanlage –Fall mit 4 Sensoren

{F} {F}

Server 0 sendet sein Ergebnis an alle

Page 14: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 14

Sensor 0

Sensor 1 Sensor 2 Sensor 3

Feuer

„Feuer“ erhalten

Feuer „kein Feuer“ erhalten

Beispiel:Feuermeldeanlage –Fall mit 4 Sensoren

„kein Feuer“ erhalten

„Feuer“ erhalten

„Feuer“erhalten

„Feuer“erhalten

Feuer

{F}

{F}

{F,F}

Server 1 sendet sein Ergebnis an alle

Page 15: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 15

Sensor 0

Sensor 1 Sensor 2 Sensor 3

Feuer

Beispiel:Feuermeldeanlage –Fall mit 4 Sensoren

Feuer

Feuer„kein Feuer“ erhalten

„kein Feuer“ erhalten

„Feuer“ erhalten

„Feuer“ erhalten „Feuer“ erhalten

„Feuer“ erhalten

{F,F}

{F,F}

{F,F}

Server 3 sendet sein Ergebnis an alle

Page 16: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 16

Sensor 0

Sensor 1 Sensor 2 Sensor 3

„kein Feuer“ erhalten

Beispiel:Feuermeldeanlage –Fall mit 4 Sensoren

„kein Feuer“erhalten

„kein Feuer“ erhalten

Kein Feuer

Kein Feuer Kein Feuer

„kein Feuer“ erhalten

„kein Feuer“erhalten

„kein Feuer“erhalten

{F,F,K}

{F,F,K}

{F,F,K}

Server 2 sendet sein Ergebnis an alle

Page 17: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 17

Beispiel:Feuermeldeanlage– Fall mit 4 Sensoren

Alle funktionierenden Löschanlagen gehen an

Page 18: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 18

Formalisierung des Problems

● System besteht aus n Komponenten● jede Komponente i versendet Nachricht vi an alle

anderen n-1 Komponenten ● Master: Komponente, die die erste Nachricht

versendet● Menge Vi speichert die Nachrichten der anderen

Komponenten● Die Menge Vi dient als Entscheidungsgrundlage für

künftige AktionenZiel: alle korrekten Komponenten treffen richtige

Entscheidung

Page 19: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 19

Definition

A reliable computer system must be able to cope with the failure of one or more of its components. A failed component may exhibit a type of behavior that is often overlooked - namely, sending conflicting information to different parts of the system.

The problem of coping with this type of failure is expressed abstractly as the Byzantine Generals Problem.

Quelle: The Byzantine Generals Problem

Page 20: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 20

Modell: Das Problem der Byzantinischen Generäle

Ursprung der Namensgebung

Page 21: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 21

Voraussetzungen für die Lösung

1.min. 3f+1-Komponenten nötig, für die Tolerierung von max. f fehlerhaften Bestandteilen

2.Alle funktionstüchtigen Sensoren treffen dieselbe Entscheidung

3.Falls der Mastersensor korrekt funktioniert, dann müssen alle anderen intakten Sensoren seinen Befehl befolgen

Page 22: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 22

Lösung - Algorithmus

i. Mastersensor sendet an alle Sensoren Ergebnis v0

ii.Jeder Sensor i nimmt diesen Wert in seine Menge Vi auf oder Default-Wert

iii.Für jedes i gilt: Sensor i sendet an alle n-1 Sensoren sein Wert vi

iv.Wähle den Wert, der in Vi am häufigsten auftaucht

Page 23: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 23

Lösung - Problematik

●Algorithmus verlangt zwischen allen Sensorendirekte Kommunikationspfade

●Bei n Sensoren entspricht es genau Pfaden

●Kommunikation verursacht auch Kosten

Erweiterungen erforderlich

Page 24: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 24

Erweiterung – Reduzierung der Kommunikationspfade(1)

Ein vollständiger Graph mit sechs Knoten:

Page 25: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 25

Ein 3-regulärer Graph:

Erweiterung – Reduzierung der Kommunikationspfade(2)

Quelle: The Byzantine Generals Problem

Page 26: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 26

Zusammenfassung (1)

Wo tauchen Byzantinische Fehler auf?in verteilten Systemen

Wann tauchen sie auf?nicht vorhersehbar

Warum führen sie zu Fehlern?die falsch berechneten Teilergebnisse sind von richtigen

nicht unterscheidbar

Was sind die Folgen?unbemerkte Störung der gesamten Systemausführung

Page 27: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 27

Zusammenfassung (2)

Page 28: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 28

Quellen LAMPORT, L. ; SHOSTAK, R. ; PEASE, M.: The

Byzantine Generals ProblemTransactions on Programming Languages and Systems, 1982, S. 382–401

DRISCOLL, Kevin ; HALL, Brendan ; SIVENCRONA, Hakan ; ZUMSTEG, Phil: ByzantineFault Tolerance, From Theory To Reality. In: Computer Safety, Reliability, and Security Bd. 2788/2003. Berlin Heidelberg : Springler-Verlag, September 2003, S. 235–248

Bilder:http://www2.hs-esslingen.de/fachbereiche/vu/VU_aktuell/total.htmlhttp://www.thg.fr.bw.schule.de/silkeamberg/stadtbild/

stadt_mittelalter_swr.jpghttp://www.kriegsreisende.de/antike/antik-img/byzanz.jpg

Page 29: The Byzantine Generals' Problem...Esra Ünal 3 Beispiel:Feuermeldeanlage – Beschreibung(1) zBesteht aus einem Netzwerk von Temperatursensoren zalle Sensoren können mit den anderen

Esra Ünal 29

Fragen