142
Leader Election I Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk steht unter einer Creative Commons Namensnennung 4.0 International Lizenz. Sebastian Forster (Uni Salzburg) Leader Election I 1 / 24

Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Leader Election IAlgorithmen für verteilte Systeme

Sebastian Forster

Universität Salzburg

Dieses Werk steht unter einer Creative Commons Namensnennung 4.0 International Lizenz.

Sebastian Forster (Uni Salzburg) Leader Election I 1 / 24

Page 2: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

ProzessornetzwerkeAusgangssituation: Mehrere gleichartige Prozessoren, die überDirektverbindungen kommunizieren

Prozessornetzwerke werden als ungerichtete Graphen modelliert.Jedem Knoten des Graphen entspricht ein Prozessor mit lokalemSpeicher und jeder Kante ein Kommunikationskanal.Lokale Sicht: Jeder Prozesser kennt nur seine direkten Nachbarn.

Sebastian Forster (Uni Salzburg) Leader Election I 2 / 24

Page 3: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

ProzessornetzwerkeAusgangssituation: Mehrere gleichartige Prozessoren, die überDirektverbindungen kommunizieren

Prozessornetzwerke werden als ungerichtete Graphen modelliert.Jedem Knoten des Graphen entspricht ein Prozessor mit lokalemSpeicher und jeder Kante ein Kommunikationskanal.Lokale Sicht: Jeder Prozesser kennt nur seine direkten Nachbarn.

Sebastian Forster (Uni Salzburg) Leader Election I 2 / 24

Page 4: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Netzwerke als Graphen

DefinitionEin Graph G = (V ,E) ist ein Paar bestehend aus einer Menge von Knoten Vund einer Menge von Kanten E, wobei

in einem gerichteten Graph jede Kante e = (u,v) in (geordnetes) Paarzweier Knoten ist und

in einem ungerichteten Graph jede Kante e = {u,v} eine Mengezweier Knoten ist.

Anmerkung: Anstelle von {u,v} schreiben wir dennoch o� (u,v)

Sebastian Forster (Uni Salzburg) Leader Election I 3 / 24

Page 5: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Motivation Leader Election

Leader Election:

Knoten eines Netzwerks einigen sich auf einen Leader

Alle anderen heißen Follower

Gesucht: Algorithmus, der für jeden Knoten entscheidet, ob er derLeader ist oder ein Follower

Motivation: Leader kann Koordinationsaufgaben übernehmen

Symmetry Breaking:

A priori eignet sich jeder Knoten als Leader

Lösung ist nicht eindeutig, es gibt n verschiedene Lösungen

Schwierigkeit beim Finden einer Lösung ist die konsistenteEntscheidung für eine der Lösungen

Sebastian Forster (Uni Salzburg) Leader Election I 4 / 24

Page 6: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Motivation Leader Election

Leader Election:

Knoten eines Netzwerks einigen sich auf einen Leader

Alle anderen heißen Follower

Gesucht: Algorithmus, der für jeden Knoten entscheidet, ob er derLeader ist oder ein Follower

Motivation: Leader kann Koordinationsaufgaben übernehmen

Symmetry Breaking:

A priori eignet sich jeder Knoten als Leader

Lösung ist nicht eindeutig, es gibt n verschiedene Lösungen

Schwierigkeit beim Finden einer Lösung ist die konsistenteEntscheidung für eine der Lösungen

Sebastian Forster (Uni Salzburg) Leader Election I 4 / 24

Page 7: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Motivation Leader Election

Leader Election:

Knoten eines Netzwerks einigen sich auf einen Leader

Alle anderen heißen Follower

Gesucht: Algorithmus, der für jeden Knoten entscheidet, ob er derLeader ist oder ein Follower

Motivation: Leader kann Koordinationsaufgaben übernehmen

Symmetry Breaking:

A priori eignet sich jeder Knoten als Leader

Lösung ist nicht eindeutig, es gibt n verschiedene Lösungen

Schwierigkeit beim Finden einer Lösung ist die konsistenteEntscheidung für eine der Lösungen

Sebastian Forster (Uni Salzburg) Leader Election I 4 / 24

Page 8: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Motivation Leader Election

Leader Election:

Knoten eines Netzwerks einigen sich auf einen Leader

Alle anderen heißen Follower

Gesucht: Algorithmus, der für jeden Knoten entscheidet, ob er derLeader ist oder ein Follower

Motivation: Leader kann Koordinationsaufgaben übernehmen

Symmetry Breaking:

A priori eignet sich jeder Knoten als Leader

Lösung ist nicht eindeutig, es gibt n verschiedene Lösungen

Schwierigkeit beim Finden einer Lösung ist die konsistenteEntscheidung für eine der Lösungen

Sebastian Forster (Uni Salzburg) Leader Election I 4 / 24

Page 9: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Kommunikationsmodell (Message Passing)Kommunikationsnetzwerk durch ungerichteten Graph vorgegeben

Jeder Knoten kennt Anzahl seiner NachbarnJeder Knoten kann über nummerierte Ports beliebige Nachrichten anseine Nachbarn senden und von diesen empfangenSynchron:I Rundenbasierte Kommunikation:

1 Nachrichten von Nachbarn empfangen (entfällt in erster Runde)2 Interne Berechnungen3 Nachrichten an Nachbarn versenden

I Beginn jeder Runde wird von globaler Uhr vorgegebenAsynchron:I Event-basiert sta� diskrete Zeitschri�eI Jeder Knoten startet initial zu einem beliebigen Zeitpunkt und wird

darüberhinaus immer aktiv, wenn er eine Nachricht empfängtI Jede Nachrichtenübermi�lung benötigt endliche ZeitI Für Laufzeitanalyse: Delay von höchstens einer Zeiteinheit

Komplexitätsmaße: Anzahl Zeiteinheiten (Runden) und Anzahlgesendeter Nachrichten (ohne interne Berechnungszeit)

Sebastian Forster (Uni Salzburg) Leader Election I 5 / 24

Page 10: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Kommunikationsmodell (Message Passing)Kommunikationsnetzwerk durch ungerichteten Graph vorgegebenJeder Knoten kennt Anzahl seiner Nachbarn

Jeder Knoten kann über nummerierte Ports beliebige Nachrichten anseine Nachbarn senden und von diesen empfangenSynchron:I Rundenbasierte Kommunikation:

1 Nachrichten von Nachbarn empfangen (entfällt in erster Runde)2 Interne Berechnungen3 Nachrichten an Nachbarn versenden

I Beginn jeder Runde wird von globaler Uhr vorgegebenAsynchron:I Event-basiert sta� diskrete Zeitschri�eI Jeder Knoten startet initial zu einem beliebigen Zeitpunkt und wird

darüberhinaus immer aktiv, wenn er eine Nachricht empfängtI Jede Nachrichtenübermi�lung benötigt endliche ZeitI Für Laufzeitanalyse: Delay von höchstens einer Zeiteinheit

Komplexitätsmaße: Anzahl Zeiteinheiten (Runden) und Anzahlgesendeter Nachrichten (ohne interne Berechnungszeit)

Sebastian Forster (Uni Salzburg) Leader Election I 5 / 24

Page 11: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Kommunikationsmodell (Message Passing)Kommunikationsnetzwerk durch ungerichteten Graph vorgegebenJeder Knoten kennt Anzahl seiner NachbarnJeder Knoten kann über nummerierte Ports beliebige Nachrichten anseine Nachbarn senden und von diesen empfangen

Synchron:I Rundenbasierte Kommunikation:

1 Nachrichten von Nachbarn empfangen (entfällt in erster Runde)2 Interne Berechnungen3 Nachrichten an Nachbarn versenden

I Beginn jeder Runde wird von globaler Uhr vorgegebenAsynchron:I Event-basiert sta� diskrete Zeitschri�eI Jeder Knoten startet initial zu einem beliebigen Zeitpunkt und wird

darüberhinaus immer aktiv, wenn er eine Nachricht empfängtI Jede Nachrichtenübermi�lung benötigt endliche ZeitI Für Laufzeitanalyse: Delay von höchstens einer Zeiteinheit

Komplexitätsmaße: Anzahl Zeiteinheiten (Runden) und Anzahlgesendeter Nachrichten (ohne interne Berechnungszeit)

Sebastian Forster (Uni Salzburg) Leader Election I 5 / 24

Page 12: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Kommunikationsmodell (Message Passing)Kommunikationsnetzwerk durch ungerichteten Graph vorgegebenJeder Knoten kennt Anzahl seiner NachbarnJeder Knoten kann über nummerierte Ports beliebige Nachrichten anseine Nachbarn senden und von diesen empfangenSynchron:I Rundenbasierte Kommunikation:

1 Nachrichten von Nachbarn empfangen (entfällt in erster Runde)2 Interne Berechnungen3 Nachrichten an Nachbarn versenden

I Beginn jeder Runde wird von globaler Uhr vorgegebenAsynchron:I Event-basiert sta� diskrete Zeitschri�eI Jeder Knoten startet initial zu einem beliebigen Zeitpunkt und wird

darüberhinaus immer aktiv, wenn er eine Nachricht empfängtI Jede Nachrichtenübermi�lung benötigt endliche ZeitI Für Laufzeitanalyse: Delay von höchstens einer Zeiteinheit

Komplexitätsmaße: Anzahl Zeiteinheiten (Runden) und Anzahlgesendeter Nachrichten (ohne interne Berechnungszeit)

Sebastian Forster (Uni Salzburg) Leader Election I 5 / 24

Page 13: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Kommunikationsmodell (Message Passing)Kommunikationsnetzwerk durch ungerichteten Graph vorgegebenJeder Knoten kennt Anzahl seiner NachbarnJeder Knoten kann über nummerierte Ports beliebige Nachrichten anseine Nachbarn senden und von diesen empfangenSynchron:I Rundenbasierte Kommunikation:

1 Nachrichten von Nachbarn empfangen (entfällt in erster Runde)2 Interne Berechnungen3 Nachrichten an Nachbarn versenden

I Beginn jeder Runde wird von globaler Uhr vorgegebenAsynchron:I Event-basiert sta� diskrete Zeitschri�eI Jeder Knoten startet initial zu einem beliebigen Zeitpunkt und wird

darüberhinaus immer aktiv, wenn er eine Nachricht empfängtI Jede Nachrichtenübermi�lung benötigt endliche ZeitI Für Laufzeitanalyse: Delay von höchstens einer Zeiteinheit

Komplexitätsmaße: Anzahl Zeiteinheiten (Runden) und Anzahlgesendeter Nachrichten (ohne interne Berechnungszeit)

Sebastian Forster (Uni Salzburg) Leader Election I 5 / 24

Page 14: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Kommunikationsmodell (Message Passing)Kommunikationsnetzwerk durch ungerichteten Graph vorgegebenJeder Knoten kennt Anzahl seiner NachbarnJeder Knoten kann über nummerierte Ports beliebige Nachrichten anseine Nachbarn senden und von diesen empfangenSynchron:I Rundenbasierte Kommunikation:

1 Nachrichten von Nachbarn empfangen (entfällt in erster Runde)2 Interne Berechnungen3 Nachrichten an Nachbarn versenden

I Beginn jeder Runde wird von globaler Uhr vorgegeben

Asynchron:I Event-basiert sta� diskrete Zeitschri�eI Jeder Knoten startet initial zu einem beliebigen Zeitpunkt und wird

darüberhinaus immer aktiv, wenn er eine Nachricht empfängtI Jede Nachrichtenübermi�lung benötigt endliche ZeitI Für Laufzeitanalyse: Delay von höchstens einer Zeiteinheit

Komplexitätsmaße: Anzahl Zeiteinheiten (Runden) und Anzahlgesendeter Nachrichten (ohne interne Berechnungszeit)

Sebastian Forster (Uni Salzburg) Leader Election I 5 / 24

Page 15: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Kommunikationsmodell (Message Passing)Kommunikationsnetzwerk durch ungerichteten Graph vorgegebenJeder Knoten kennt Anzahl seiner NachbarnJeder Knoten kann über nummerierte Ports beliebige Nachrichten anseine Nachbarn senden und von diesen empfangenSynchron:I Rundenbasierte Kommunikation:

1 Nachrichten von Nachbarn empfangen (entfällt in erster Runde)2 Interne Berechnungen3 Nachrichten an Nachbarn versenden

I Beginn jeder Runde wird von globaler Uhr vorgegebenAsynchron:I Event-basiert sta� diskrete Zeitschri�e

I Jeder Knoten startet initial zu einem beliebigen Zeitpunkt und wirddarüberhinaus immer aktiv, wenn er eine Nachricht empfängt

I Jede Nachrichtenübermi�lung benötigt endliche ZeitI Für Laufzeitanalyse: Delay von höchstens einer Zeiteinheit

Komplexitätsmaße: Anzahl Zeiteinheiten (Runden) und Anzahlgesendeter Nachrichten (ohne interne Berechnungszeit)

Sebastian Forster (Uni Salzburg) Leader Election I 5 / 24

Page 16: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Kommunikationsmodell (Message Passing)Kommunikationsnetzwerk durch ungerichteten Graph vorgegebenJeder Knoten kennt Anzahl seiner NachbarnJeder Knoten kann über nummerierte Ports beliebige Nachrichten anseine Nachbarn senden und von diesen empfangenSynchron:I Rundenbasierte Kommunikation:

1 Nachrichten von Nachbarn empfangen (entfällt in erster Runde)2 Interne Berechnungen3 Nachrichten an Nachbarn versenden

I Beginn jeder Runde wird von globaler Uhr vorgegebenAsynchron:I Event-basiert sta� diskrete Zeitschri�eI Jeder Knoten startet initial zu einem beliebigen Zeitpunkt und wird

darüberhinaus immer aktiv, wenn er eine Nachricht empfängt

I Jede Nachrichtenübermi�lung benötigt endliche ZeitI Für Laufzeitanalyse: Delay von höchstens einer Zeiteinheit

Komplexitätsmaße: Anzahl Zeiteinheiten (Runden) und Anzahlgesendeter Nachrichten (ohne interne Berechnungszeit)

Sebastian Forster (Uni Salzburg) Leader Election I 5 / 24

Page 17: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Kommunikationsmodell (Message Passing)Kommunikationsnetzwerk durch ungerichteten Graph vorgegebenJeder Knoten kennt Anzahl seiner NachbarnJeder Knoten kann über nummerierte Ports beliebige Nachrichten anseine Nachbarn senden und von diesen empfangenSynchron:I Rundenbasierte Kommunikation:

1 Nachrichten von Nachbarn empfangen (entfällt in erster Runde)2 Interne Berechnungen3 Nachrichten an Nachbarn versenden

I Beginn jeder Runde wird von globaler Uhr vorgegebenAsynchron:I Event-basiert sta� diskrete Zeitschri�eI Jeder Knoten startet initial zu einem beliebigen Zeitpunkt und wird

darüberhinaus immer aktiv, wenn er eine Nachricht empfängtI Jede Nachrichtenübermi�lung benötigt endliche Zeit

I Für Laufzeitanalyse: Delay von höchstens einer ZeiteinheitKomplexitätsmaße: Anzahl Zeiteinheiten (Runden) und Anzahlgesendeter Nachrichten (ohne interne Berechnungszeit)

Sebastian Forster (Uni Salzburg) Leader Election I 5 / 24

Page 18: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Kommunikationsmodell (Message Passing)Kommunikationsnetzwerk durch ungerichteten Graph vorgegebenJeder Knoten kennt Anzahl seiner NachbarnJeder Knoten kann über nummerierte Ports beliebige Nachrichten anseine Nachbarn senden und von diesen empfangenSynchron:I Rundenbasierte Kommunikation:

1 Nachrichten von Nachbarn empfangen (entfällt in erster Runde)2 Interne Berechnungen3 Nachrichten an Nachbarn versenden

I Beginn jeder Runde wird von globaler Uhr vorgegebenAsynchron:I Event-basiert sta� diskrete Zeitschri�eI Jeder Knoten startet initial zu einem beliebigen Zeitpunkt und wird

darüberhinaus immer aktiv, wenn er eine Nachricht empfängtI Jede Nachrichtenübermi�lung benötigt endliche ZeitI Für Laufzeitanalyse: Delay von höchstens einer Zeiteinheit

Komplexitätsmaße: Anzahl Zeiteinheiten (Runden) und Anzahlgesendeter Nachrichten (ohne interne Berechnungszeit)

Sebastian Forster (Uni Salzburg) Leader Election I 5 / 24

Page 19: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Kommunikationsmodell (Message Passing)Kommunikationsnetzwerk durch ungerichteten Graph vorgegebenJeder Knoten kennt Anzahl seiner NachbarnJeder Knoten kann über nummerierte Ports beliebige Nachrichten anseine Nachbarn senden und von diesen empfangenSynchron:I Rundenbasierte Kommunikation:

1 Nachrichten von Nachbarn empfangen (entfällt in erster Runde)2 Interne Berechnungen3 Nachrichten an Nachbarn versenden

I Beginn jeder Runde wird von globaler Uhr vorgegebenAsynchron:I Event-basiert sta� diskrete Zeitschri�eI Jeder Knoten startet initial zu einem beliebigen Zeitpunkt und wird

darüberhinaus immer aktiv, wenn er eine Nachricht empfängtI Jede Nachrichtenübermi�lung benötigt endliche ZeitI Für Laufzeitanalyse: Delay von höchstens einer Zeiteinheit

Komplexitätsmaße: Anzahl Zeiteinheiten (Runden) und Anzahlgesendeter Nachrichten (ohne interne Berechnungszeit)

Sebastian Forster (Uni Salzburg) Leader Election I 5 / 24

Page 20: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Varianten

Synchron vs. asynchron

Anonym vs. identifizierbarIdentifizierbare Knoten v besitzen eindeutige ID (UID) ID(v)IDs sind in der Regel Bit-Strings, o� der Länge O(logn)Können als nichtnegative ganze Zahlen interpretiert werden

Uniform vs. non-uniformIn uniformen Netzwerken ist Anzahl der Knoten n kein globales WissenSchwache Non-Uniformität: Manchmal ist Approximation n̂ des exaktenWerts n ausreichend

Sebastian Forster (Uni Salzburg) Leader Election I 6 / 24

Page 21: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Varianten

Synchron vs. asynchron

Anonym vs. identifizierbar

Identifizierbare Knoten v besitzen eindeutige ID (UID) ID(v)IDs sind in der Regel Bit-Strings, o� der Länge O(logn)Können als nichtnegative ganze Zahlen interpretiert werden

Uniform vs. non-uniformIn uniformen Netzwerken ist Anzahl der Knoten n kein globales WissenSchwache Non-Uniformität: Manchmal ist Approximation n̂ des exaktenWerts n ausreichend

Sebastian Forster (Uni Salzburg) Leader Election I 6 / 24

Page 22: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Varianten

Synchron vs. asynchron

Anonym vs. identifizierbarIdentifizierbare Knoten v besitzen eindeutige ID (UID) ID(v)IDs sind in der Regel Bit-Strings, o� der Länge O(logn)Können als nichtnegative ganze Zahlen interpretiert werden

Uniform vs. non-uniformIn uniformen Netzwerken ist Anzahl der Knoten n kein globales WissenSchwache Non-Uniformität: Manchmal ist Approximation n̂ des exaktenWerts n ausreichend

Sebastian Forster (Uni Salzburg) Leader Election I 6 / 24

Page 23: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Varianten

Synchron vs. asynchron

Anonym vs. identifizierbarIdentifizierbare Knoten v besitzen eindeutige ID (UID) ID(v)IDs sind in der Regel Bit-Strings, o� der Länge O(logn)Können als nichtnegative ganze Zahlen interpretiert werden

Uniform vs. non-uniform

In uniformen Netzwerken ist Anzahl der Knoten n kein globales WissenSchwache Non-Uniformität: Manchmal ist Approximation n̂ des exaktenWerts n ausreichend

Sebastian Forster (Uni Salzburg) Leader Election I 6 / 24

Page 24: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Varianten

Synchron vs. asynchron

Anonym vs. identifizierbarIdentifizierbare Knoten v besitzen eindeutige ID (UID) ID(v)IDs sind in der Regel Bit-Strings, o� der Länge O(logn)Können als nichtnegative ganze Zahlen interpretiert werden

Uniform vs. non-uniformIn uniformen Netzwerken ist Anzahl der Knoten n kein globales WissenSchwache Non-Uniformität: Manchmal ist Approximation n̂ des exaktenWerts n ausreichend

Sebastian Forster (Uni Salzburg) Leader Election I 6 / 24

Page 25: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Ziel: Leader im Ring

Jeder Knoten hat zwei Ports zu Nachbarknoten:

„Im Uhrzeigersinn“ (Clockwise)

„Gegen den Uhrzeigersinn“ (Counter-Clockwise)

Sebastian Forster (Uni Salzburg) Leader Election I 7 / 24

Page 26: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Ziel: Leader im Ring

Jeder Knoten hat zwei Ports zu Nachbarknoten:

„Im Uhrzeigersinn“ (Clockwise)

„Gegen den Uhrzeigersinn“ (Counter-Clockwise)

Sebastian Forster (Uni Salzburg) Leader Election I 7 / 24

Page 27: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Anonyme NetzwerkeAnonym: Knoten haben keine IDs

Anmerkung: Nach Leader Election ist Vergabe von IDs relativ einfach

Theorem ([Angluin ’80])Leader Election in anonymen Netzwerken ist mit deterministischen Algorithmenunmöglich, sogar im synchronen Ring.

Knackpunkt: Wie sind deterministische Algorithmen formal definiert?

Funktion f angewendet auf jeden Knoten v :I Eingabe: Anzahl an Knoten n, Anzahl an Ports von v , gesamte Historie

von v (Protokoll aller bisher empfangen Nachrichten eines Knotens mitZeitpunkt und Eingangsport)

I Ausgabe: Zu sendende Nachrichten des Knotens an Ausgangsports undgegebenenfalls Entscheidung, ob v Leader oder Follower wird

Funktion löst das Problem, wenn für jedes Netzwerk nach endlich vielenAnwendungen von f ein Knoten als Leader und alle anderen alsFollower festgelegt wurden

Sebastian Forster (Uni Salzburg) Leader Election I 8 / 24

Page 28: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Anonyme NetzwerkeAnonym: Knoten haben keine IDs

Anmerkung: Nach Leader Election ist Vergabe von IDs relativ einfach

Theorem ([Angluin ’80])Leader Election in anonymen Netzwerken ist mit deterministischen Algorithmenunmöglich, sogar im synchronen Ring.

Knackpunkt: Wie sind deterministische Algorithmen formal definiert?

Funktion f angewendet auf jeden Knoten v :I Eingabe: Anzahl an Knoten n, Anzahl an Ports von v , gesamte Historie

von v (Protokoll aller bisher empfangen Nachrichten eines Knotens mitZeitpunkt und Eingangsport)

I Ausgabe: Zu sendende Nachrichten des Knotens an Ausgangsports undgegebenenfalls Entscheidung, ob v Leader oder Follower wird

Funktion löst das Problem, wenn für jedes Netzwerk nach endlich vielenAnwendungen von f ein Knoten als Leader und alle anderen alsFollower festgelegt wurden

Sebastian Forster (Uni Salzburg) Leader Election I 8 / 24

Page 29: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Anonyme NetzwerkeAnonym: Knoten haben keine IDs

Anmerkung: Nach Leader Election ist Vergabe von IDs relativ einfach

Theorem ([Angluin ’80])Leader Election in anonymen Netzwerken ist mit deterministischen Algorithmenunmöglich, sogar im synchronen Ring.

Knackpunkt: Wie sind deterministische Algorithmen formal definiert?

Funktion f angewendet auf jeden Knoten v :I Eingabe: Anzahl an Knoten n, Anzahl an Ports von v , gesamte Historie

von v (Protokoll aller bisher empfangen Nachrichten eines Knotens mitZeitpunkt und Eingangsport)

I Ausgabe: Zu sendende Nachrichten des Knotens an Ausgangsports undgegebenenfalls Entscheidung, ob v Leader oder Follower wird

Funktion löst das Problem, wenn für jedes Netzwerk nach endlich vielenAnwendungen von f ein Knoten als Leader und alle anderen alsFollower festgelegt wurden

Sebastian Forster (Uni Salzburg) Leader Election I 8 / 24

Page 30: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Anonyme NetzwerkeAnonym: Knoten haben keine IDs

Anmerkung: Nach Leader Election ist Vergabe von IDs relativ einfach

Theorem ([Angluin ’80])Leader Election in anonymen Netzwerken ist mit deterministischen Algorithmenunmöglich, sogar im synchronen Ring.

Knackpunkt: Wie sind deterministische Algorithmen formal definiert?

Funktion f angewendet auf jeden Knoten v :I Eingabe: Anzahl an Knoten n, Anzahl an Ports von v , gesamte Historie

von v (Protokoll aller bisher empfangen Nachrichten eines Knotens mitZeitpunkt und Eingangsport)

I Ausgabe: Zu sendende Nachrichten des Knotens an Ausgangsports undgegebenenfalls Entscheidung, ob v Leader oder Follower wird

Funktion löst das Problem, wenn für jedes Netzwerk nach endlich vielenAnwendungen von f ein Knoten als Leader und alle anderen alsFollower festgelegt wurden

Sebastian Forster (Uni Salzburg) Leader Election I 8 / 24

Page 31: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Anonyme NetzwerkeAnonym: Knoten haben keine IDs

Anmerkung: Nach Leader Election ist Vergabe von IDs relativ einfach

Theorem ([Angluin ’80])Leader Election in anonymen Netzwerken ist mit deterministischen Algorithmenunmöglich, sogar im synchronen Ring.

Knackpunkt: Wie sind deterministische Algorithmen formal definiert?

Funktion f angewendet auf jeden Knoten v :

I Eingabe: Anzahl an Knoten n, Anzahl an Ports von v , gesamte Historievon v (Protokoll aller bisher empfangen Nachrichten eines Knotens mitZeitpunkt und Eingangsport)

I Ausgabe: Zu sendende Nachrichten des Knotens an Ausgangsports undgegebenenfalls Entscheidung, ob v Leader oder Follower wird

Funktion löst das Problem, wenn für jedes Netzwerk nach endlich vielenAnwendungen von f ein Knoten als Leader und alle anderen alsFollower festgelegt wurden

Sebastian Forster (Uni Salzburg) Leader Election I 8 / 24

Page 32: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Anonyme NetzwerkeAnonym: Knoten haben keine IDs

Anmerkung: Nach Leader Election ist Vergabe von IDs relativ einfach

Theorem ([Angluin ’80])Leader Election in anonymen Netzwerken ist mit deterministischen Algorithmenunmöglich, sogar im synchronen Ring.

Knackpunkt: Wie sind deterministische Algorithmen formal definiert?

Funktion f angewendet auf jeden Knoten v :I Eingabe: Anzahl an Knoten n, Anzahl an Ports von v , gesamte Historie

von v (Protokoll aller bisher empfangen Nachrichten eines Knotens mitZeitpunkt und Eingangsport)

I Ausgabe: Zu sendende Nachrichten des Knotens an Ausgangsports undgegebenenfalls Entscheidung, ob v Leader oder Follower wird

Funktion löst das Problem, wenn für jedes Netzwerk nach endlich vielenAnwendungen von f ein Knoten als Leader und alle anderen alsFollower festgelegt wurden

Sebastian Forster (Uni Salzburg) Leader Election I 8 / 24

Page 33: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Anonyme NetzwerkeAnonym: Knoten haben keine IDs

Anmerkung: Nach Leader Election ist Vergabe von IDs relativ einfach

Theorem ([Angluin ’80])Leader Election in anonymen Netzwerken ist mit deterministischen Algorithmenunmöglich, sogar im synchronen Ring.

Knackpunkt: Wie sind deterministische Algorithmen formal definiert?

Funktion f angewendet auf jeden Knoten v :I Eingabe: Anzahl an Knoten n, Anzahl an Ports von v , gesamte Historie

von v (Protokoll aller bisher empfangen Nachrichten eines Knotens mitZeitpunkt und Eingangsport)

I Ausgabe: Zu sendende Nachrichten des Knotens an Ausgangsports undgegebenenfalls Entscheidung, ob v Leader oder Follower wird

Funktion löst das Problem, wenn für jedes Netzwerk nach endlich vielenAnwendungen von f ein Knoten als Leader und alle anderen alsFollower festgelegt wurden

Sebastian Forster (Uni Salzburg) Leader Election I 8 / 24

Page 34: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Anonyme NetzwerkeAnonym: Knoten haben keine IDs

Anmerkung: Nach Leader Election ist Vergabe von IDs relativ einfach

Theorem ([Angluin ’80])Leader Election in anonymen Netzwerken ist mit deterministischen Algorithmenunmöglich, sogar im synchronen Ring.

Knackpunkt: Wie sind deterministische Algorithmen formal definiert?

Funktion f angewendet auf jeden Knoten v :I Eingabe: Anzahl an Knoten n, Anzahl an Ports von v , gesamte Historie

von v (Protokoll aller bisher empfangen Nachrichten eines Knotens mitZeitpunkt und Eingangsport)

I Ausgabe: Zu sendende Nachrichten des Knotens an Ausgangsports undgegebenenfalls Entscheidung, ob v Leader oder Follower wird

Funktion löst das Problem, wenn für jedes Netzwerk nach endlich vielenAnwendungen von f ein Knoten als Leader und alle anderen alsFollower festgelegt wurden

Sebastian Forster (Uni Salzburg) Leader Election I 8 / 24

Page 35: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Unmöglichkeitsbeweis

InduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Wenn IH gilt:

Wegen IH haben in jeder Runde alle Knoten die gleiche Historie

Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist injeder Runde die Eingabe der Funktion f für alle Knoten gleich

Deshalb ist in jeder Runde die Ausgabe der Funktion f für alle Knotengleich

Somit: In jeder Runde macht f entweder alle Knoten zu Leadern, alleKnoten zu Followern oder tri�t für keinen Knoten eine Entscheidung

f liefert also entweder ein falsches Ergebnis oder terminiert nicht

Sebastian Forster (Uni Salzburg) Leader Election I 9 / 24

Page 36: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Unmöglichkeitsbeweis

InduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Wenn IH gilt:

Wegen IH haben in jeder Runde alle Knoten die gleiche Historie

Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist injeder Runde die Eingabe der Funktion f für alle Knoten gleich

Deshalb ist in jeder Runde die Ausgabe der Funktion f für alle Knotengleich

Somit: In jeder Runde macht f entweder alle Knoten zu Leadern, alleKnoten zu Followern oder tri�t für keinen Knoten eine Entscheidung

f liefert also entweder ein falsches Ergebnis oder terminiert nicht

Sebastian Forster (Uni Salzburg) Leader Election I 9 / 24

Page 37: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Unmöglichkeitsbeweis

InduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Wenn IH gilt:

Wegen IH haben in jeder Runde alle Knoten die gleiche Historie

Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist injeder Runde die Eingabe der Funktion f für alle Knoten gleich

Deshalb ist in jeder Runde die Ausgabe der Funktion f für alle Knotengleich

Somit: In jeder Runde macht f entweder alle Knoten zu Leadern, alleKnoten zu Followern oder tri�t für keinen Knoten eine Entscheidung

f liefert also entweder ein falsches Ergebnis oder terminiert nicht

Sebastian Forster (Uni Salzburg) Leader Election I 9 / 24

Page 38: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Unmöglichkeitsbeweis

InduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Wenn IH gilt:

Wegen IH haben in jeder Runde alle Knoten die gleiche Historie

Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist injeder Runde die Eingabe der Funktion f für alle Knoten gleich

Deshalb ist in jeder Runde die Ausgabe der Funktion f für alle Knotengleich

Somit: In jeder Runde macht f entweder alle Knoten zu Leadern, alleKnoten zu Followern oder tri�t für keinen Knoten eine Entscheidung

f liefert also entweder ein falsches Ergebnis oder terminiert nicht

Sebastian Forster (Uni Salzburg) Leader Election I 9 / 24

Page 39: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Unmöglichkeitsbeweis

InduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Wenn IH gilt:

Wegen IH haben in jeder Runde alle Knoten die gleiche Historie

Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist injeder Runde die Eingabe der Funktion f für alle Knoten gleich

Deshalb ist in jeder Runde die Ausgabe der Funktion f für alle Knotengleich

Somit: In jeder Runde macht f entweder alle Knoten zu Leadern, alleKnoten zu Followern oder tri�t für keinen Knoten eine Entscheidung

f liefert also entweder ein falsches Ergebnis oder terminiert nicht

Sebastian Forster (Uni Salzburg) Leader Election I 9 / 24

Page 40: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Unmöglichkeitsbeweis

InduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Wenn IH gilt:

Wegen IH haben in jeder Runde alle Knoten die gleiche Historie

Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist injeder Runde die Eingabe der Funktion f für alle Knoten gleich

Deshalb ist in jeder Runde die Ausgabe der Funktion f für alle Knotengleich

Somit: In jeder Runde macht f entweder alle Knoten zu Leadern, alleKnoten zu Followern oder tri�t für keinen Knoten eine Entscheidung

f liefert also entweder ein falsches Ergebnis oder terminiert nicht

Sebastian Forster (Uni Salzburg) Leader Election I 9 / 24

Page 41: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

InduktionsbeweisInduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Induktionsbasis: Gilt trivialerweise da in der ersten Runde noch keineNachrichten empfangen werden.Induktionsschri�:

Da IH für alle vorherigen Runden gilt, hat jeder Knoten die gleicheHistorie.Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist dieEingabe der Funktion f für alle Knoten gleichDeshalb ist auch die Ausgabe der Funktion f für alle Knoten gleichSomit: Alle Knoten senden die jeweils gleiche Nachricht im und gegenden UhrzeigersinnWegen Ring-Topologie: Alle empfangen jeweils gleiche Nachricht im undgegen den Uhrzeigersinn

Sebastian Forster (Uni Salzburg) Leader Election I 10 / 24

Page 42: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

InduktionsbeweisInduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Induktionsbasis: Gilt trivialerweise da in der ersten Runde noch keineNachrichten empfangen werden.

Induktionsschri�:Da IH für alle vorherigen Runden gilt, hat jeder Knoten die gleicheHistorie.Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist dieEingabe der Funktion f für alle Knoten gleichDeshalb ist auch die Ausgabe der Funktion f für alle Knoten gleichSomit: Alle Knoten senden die jeweils gleiche Nachricht im und gegenden UhrzeigersinnWegen Ring-Topologie: Alle empfangen jeweils gleiche Nachricht im undgegen den Uhrzeigersinn

Sebastian Forster (Uni Salzburg) Leader Election I 10 / 24

Page 43: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

InduktionsbeweisInduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Induktionsbasis: Gilt trivialerweise da in der ersten Runde noch keineNachrichten empfangen werden.Induktionsschri�:

Da IH für alle vorherigen Runden gilt, hat jeder Knoten die gleicheHistorie.

Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist dieEingabe der Funktion f für alle Knoten gleichDeshalb ist auch die Ausgabe der Funktion f für alle Knoten gleichSomit: Alle Knoten senden die jeweils gleiche Nachricht im und gegenden UhrzeigersinnWegen Ring-Topologie: Alle empfangen jeweils gleiche Nachricht im undgegen den Uhrzeigersinn

Sebastian Forster (Uni Salzburg) Leader Election I 10 / 24

Page 44: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

InduktionsbeweisInduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Induktionsbasis: Gilt trivialerweise da in der ersten Runde noch keineNachrichten empfangen werden.Induktionsschri�:

Da IH für alle vorherigen Runden gilt, hat jeder Knoten die gleicheHistorie.Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist dieEingabe der Funktion f für alle Knoten gleich

Deshalb ist auch die Ausgabe der Funktion f für alle Knoten gleichSomit: Alle Knoten senden die jeweils gleiche Nachricht im und gegenden UhrzeigersinnWegen Ring-Topologie: Alle empfangen jeweils gleiche Nachricht im undgegen den Uhrzeigersinn

Sebastian Forster (Uni Salzburg) Leader Election I 10 / 24

Page 45: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

InduktionsbeweisInduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Induktionsbasis: Gilt trivialerweise da in der ersten Runde noch keineNachrichten empfangen werden.Induktionsschri�:

Da IH für alle vorherigen Runden gilt, hat jeder Knoten die gleicheHistorie.Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist dieEingabe der Funktion f für alle Knoten gleichDeshalb ist auch die Ausgabe der Funktion f für alle Knoten gleich

Somit: Alle Knoten senden die jeweils gleiche Nachricht im und gegenden UhrzeigersinnWegen Ring-Topologie: Alle empfangen jeweils gleiche Nachricht im undgegen den Uhrzeigersinn

Sebastian Forster (Uni Salzburg) Leader Election I 10 / 24

Page 46: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

InduktionsbeweisInduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Induktionsbasis: Gilt trivialerweise da in der ersten Runde noch keineNachrichten empfangen werden.Induktionsschri�:

Da IH für alle vorherigen Runden gilt, hat jeder Knoten die gleicheHistorie.Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist dieEingabe der Funktion f für alle Knoten gleichDeshalb ist auch die Ausgabe der Funktion f für alle Knoten gleichSomit: Alle Knoten senden die jeweils gleiche Nachricht im und gegenden Uhrzeigersinn

Wegen Ring-Topologie: Alle empfangen jeweils gleiche Nachricht im undgegen den Uhrzeigersinn

Sebastian Forster (Uni Salzburg) Leader Election I 10 / 24

Page 47: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

InduktionsbeweisInduktionshypotheseFür jeden deterministischen Algorithmus sind in jeder Runde jeweils die imund gegen den Uhrzeigersinn empfangenen Nachrichten für alle Knotengleich.

Induktionsbasis: Gilt trivialerweise da in der ersten Runde noch keineNachrichten empfangen werden.Induktionsschri�:

Da IH für alle vorherigen Runden gilt, hat jeder Knoten die gleicheHistorie.Da außerdem die Anzahl der Ports für jeden Knoten gleich ist, ist dieEingabe der Funktion f für alle Knoten gleichDeshalb ist auch die Ausgabe der Funktion f für alle Knoten gleichSomit: Alle Knoten senden die jeweils gleiche Nachricht im und gegenden UhrzeigersinnWegen Ring-Topologie: Alle empfangen jeweils gleiche Nachricht im undgegen den Uhrzeigersinn

Sebastian Forster (Uni Salzburg) Leader Election I 10 / 24

Page 48: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Leader Election mit identifizierbaren Knoten

IdeeKnoten mit kleinster ID wird zum Leader

Frage: Mit welchem Algorithmus kann dieser Knoten bestimmt werden?

Achtung!Die kleinste vergebene ID ist nicht bekannt!

Problem wäre z. B. trivial, wenn es immer einen Knoten mit ID 0 gäbe

Sebastian Forster (Uni Salzburg) Leader Election I 11 / 24

Page 49: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Leader Election mit identifizierbaren Knoten

IdeeKnoten mit kleinster ID wird zum Leader

Frage: Mit welchem Algorithmus kann dieser Knoten bestimmt werden?

Achtung!Die kleinste vergebene ID ist nicht bekannt!

Problem wäre z. B. trivial, wenn es immer einen Knoten mit ID 0 gäbe

Sebastian Forster (Uni Salzburg) Leader Election I 11 / 24

Page 50: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Leader Election mit identifizierbaren Knoten

IdeeKnoten mit kleinster ID wird zum Leader

Frage: Mit welchem Algorithmus kann dieser Knoten bestimmt werden?

Achtung!Die kleinste vergebene ID ist nicht bekannt!

Problem wäre z. B. trivial, wenn es immer einen Knoten mit ID 0 gäbe

Sebastian Forster (Uni Salzburg) Leader Election I 11 / 24

Page 51: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Einfacher Clockwise AlgorithmusAnnahmen: synchron, identifizierbar, non-uniform

Jeder Knoten v führt folgenden Algorithmus aus:Runde 1:

1 v setzt Lv := ID(v) (lokale Variable für kleinste bisher gesehene ID)2 v sendet Lv an Nachbar im UhrzeigersinnRunde 2 ≤ r ≤ n:

1 if v empfängt Nachricht M then2 if M < Lv then3 v setzt Lv := M4 v sendet Lv an Nachbar im Uhrzeigersinn

Runde n + 1:

1 if Lv = ID(v) then2 v wird zum Leader3 else4 v wird zum Follower

Sebastian Forster (Uni Salzburg) Leader Election I 12 / 24

Page 52: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Einfacher Clockwise AlgorithmusAnnahmen: synchron, identifizierbar, non-uniform

Jeder Knoten v führt folgenden Algorithmus aus:

Runde 1:

1 v setzt Lv := ID(v) (lokale Variable für kleinste bisher gesehene ID)2 v sendet Lv an Nachbar im UhrzeigersinnRunde 2 ≤ r ≤ n:

1 if v empfängt Nachricht M then2 if M < Lv then3 v setzt Lv := M4 v sendet Lv an Nachbar im Uhrzeigersinn

Runde n + 1:

1 if Lv = ID(v) then2 v wird zum Leader3 else4 v wird zum Follower

Sebastian Forster (Uni Salzburg) Leader Election I 12 / 24

Page 53: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Einfacher Clockwise AlgorithmusAnnahmen: synchron, identifizierbar, non-uniform

Jeder Knoten v führt folgenden Algorithmus aus:Runde 1:

1 v setzt Lv := ID(v) (lokale Variable für kleinste bisher gesehene ID)2 v sendet Lv an Nachbar im Uhrzeigersinn

Runde 2 ≤ r ≤ n:

1 if v empfängt Nachricht M then2 if M < Lv then3 v setzt Lv := M4 v sendet Lv an Nachbar im Uhrzeigersinn

Runde n + 1:

1 if Lv = ID(v) then2 v wird zum Leader3 else4 v wird zum Follower

Sebastian Forster (Uni Salzburg) Leader Election I 12 / 24

Page 54: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Einfacher Clockwise AlgorithmusAnnahmen: synchron, identifizierbar, non-uniform

Jeder Knoten v führt folgenden Algorithmus aus:Runde 1:

1 v setzt Lv := ID(v) (lokale Variable für kleinste bisher gesehene ID)2 v sendet Lv an Nachbar im UhrzeigersinnRunde 2 ≤ r ≤ n:

1 if v empfängt Nachricht M then

2 if M < Lv then3 v setzt Lv := M4 v sendet Lv an Nachbar im Uhrzeigersinn

Runde n + 1:

1 if Lv = ID(v) then2 v wird zum Leader3 else4 v wird zum Follower

Sebastian Forster (Uni Salzburg) Leader Election I 12 / 24

Page 55: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Einfacher Clockwise AlgorithmusAnnahmen: synchron, identifizierbar, non-uniform

Jeder Knoten v führt folgenden Algorithmus aus:Runde 1:

1 v setzt Lv := ID(v) (lokale Variable für kleinste bisher gesehene ID)2 v sendet Lv an Nachbar im UhrzeigersinnRunde 2 ≤ r ≤ n:

1 if v empfängt Nachricht M then2 if M < Lv then3 v setzt Lv := M4 v sendet Lv an Nachbar im Uhrzeigersinn

Runde n + 1:

1 if Lv = ID(v) then2 v wird zum Leader3 else4 v wird zum Follower

Sebastian Forster (Uni Salzburg) Leader Election I 12 / 24

Page 56: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Einfacher Clockwise AlgorithmusAnnahmen: synchron, identifizierbar, non-uniform

Jeder Knoten v führt folgenden Algorithmus aus:Runde 1:

1 v setzt Lv := ID(v) (lokale Variable für kleinste bisher gesehene ID)2 v sendet Lv an Nachbar im UhrzeigersinnRunde 2 ≤ r ≤ n:

1 if v empfängt Nachricht M then2 if M < Lv then3 v setzt Lv := M4 v sendet Lv an Nachbar im Uhrzeigersinn

Runde n + 1:

1 if Lv = ID(v) then2 v wird zum Leader3 else4 v wird zum Follower

Sebastian Forster (Uni Salzburg) Leader Election I 12 / 24

Page 57: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 58: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 59: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

4

4 2

2

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 60: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

4

4 2

2

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 61: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

4 2

2

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 62: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

4 2

2

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 63: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 2

2

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 64: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 2

2

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 65: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 1

2

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 66: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 1

2

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 67: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 1

1

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 68: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 1

1

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 69: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 1

1

1

Sebastian Forster (Uni Salzburg) Leader Election I 13 / 24

Page 70: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

LaufzeitTheoremNach n + 1 Runden bestimmt der einfache Clockwise Algorithmus den Knotenmit der kleinsten ID zum Leader und alle anderen zu Followern.

Beobachtung: Kleinste ID wird in jeder Runde weitergeleitet

Beweis:Sei z Knoten mit kleinster ID; es gilt: ID(z) ≤ Lv für jeden Knoten vFür jedes i ≥ 0, sei vi der Knoten, der von z aus nach Traversieren voni Kanten im Uhrzeigersinn erreicht wird.Induktionshypothese: In Runde i + 1 empfängt vi die Nachricht ID(z)(für jedes 1 ≤ i ≤ n)Konsequenz:I Sei v , z. Dann ist v = vi für ein i ≤ n − 1 und innerhalb von i + 1 ≤ n

Runden empfängt vi Nachricht ID(z) und setzt Lv = ID(z)I Da jede Nachricht einer ID im Netzwerk entspricht, wird Lv dann nicht

mehr verändertI Am Ende von Runde n gilt Lv = ID(z) für jeden Knoten vI Somit: In Runde n + 1 wird z zum Leader alle anderen zu Followern

Sebastian Forster (Uni Salzburg) Leader Election I 14 / 24

Page 71: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

LaufzeitTheoremNach n + 1 Runden bestimmt der einfache Clockwise Algorithmus den Knotenmit der kleinsten ID zum Leader und alle anderen zu Followern.

Beobachtung: Kleinste ID wird in jeder Runde weitergeleitet

Beweis:Sei z Knoten mit kleinster ID; es gilt: ID(z) ≤ Lv für jeden Knoten v

Für jedes i ≥ 0, sei vi der Knoten, der von z aus nach Traversieren voni Kanten im Uhrzeigersinn erreicht wird.Induktionshypothese: In Runde i + 1 empfängt vi die Nachricht ID(z)(für jedes 1 ≤ i ≤ n)Konsequenz:I Sei v , z. Dann ist v = vi für ein i ≤ n − 1 und innerhalb von i + 1 ≤ n

Runden empfängt vi Nachricht ID(z) und setzt Lv = ID(z)I Da jede Nachricht einer ID im Netzwerk entspricht, wird Lv dann nicht

mehr verändertI Am Ende von Runde n gilt Lv = ID(z) für jeden Knoten vI Somit: In Runde n + 1 wird z zum Leader alle anderen zu Followern

Sebastian Forster (Uni Salzburg) Leader Election I 14 / 24

Page 72: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

LaufzeitTheoremNach n + 1 Runden bestimmt der einfache Clockwise Algorithmus den Knotenmit der kleinsten ID zum Leader und alle anderen zu Followern.

Beobachtung: Kleinste ID wird in jeder Runde weitergeleitet

Beweis:Sei z Knoten mit kleinster ID; es gilt: ID(z) ≤ Lv für jeden Knoten vFür jedes i ≥ 0, sei vi der Knoten, der von z aus nach Traversieren voni Kanten im Uhrzeigersinn erreicht wird.

Induktionshypothese: In Runde i + 1 empfängt vi die Nachricht ID(z)(für jedes 1 ≤ i ≤ n)Konsequenz:I Sei v , z. Dann ist v = vi für ein i ≤ n − 1 und innerhalb von i + 1 ≤ n

Runden empfängt vi Nachricht ID(z) und setzt Lv = ID(z)I Da jede Nachricht einer ID im Netzwerk entspricht, wird Lv dann nicht

mehr verändertI Am Ende von Runde n gilt Lv = ID(z) für jeden Knoten vI Somit: In Runde n + 1 wird z zum Leader alle anderen zu Followern

Sebastian Forster (Uni Salzburg) Leader Election I 14 / 24

Page 73: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

LaufzeitTheoremNach n + 1 Runden bestimmt der einfache Clockwise Algorithmus den Knotenmit der kleinsten ID zum Leader und alle anderen zu Followern.

Beobachtung: Kleinste ID wird in jeder Runde weitergeleitet

Beweis:Sei z Knoten mit kleinster ID; es gilt: ID(z) ≤ Lv für jeden Knoten vFür jedes i ≥ 0, sei vi der Knoten, der von z aus nach Traversieren voni Kanten im Uhrzeigersinn erreicht wird.Induktionshypothese: In Runde i + 1 empfängt vi die Nachricht ID(z)(für jedes 1 ≤ i ≤ n)

Konsequenz:I Sei v , z. Dann ist v = vi für ein i ≤ n − 1 und innerhalb von i + 1 ≤ n

Runden empfängt vi Nachricht ID(z) und setzt Lv = ID(z)I Da jede Nachricht einer ID im Netzwerk entspricht, wird Lv dann nicht

mehr verändertI Am Ende von Runde n gilt Lv = ID(z) für jeden Knoten vI Somit: In Runde n + 1 wird z zum Leader alle anderen zu Followern

Sebastian Forster (Uni Salzburg) Leader Election I 14 / 24

Page 74: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

LaufzeitTheoremNach n + 1 Runden bestimmt der einfache Clockwise Algorithmus den Knotenmit der kleinsten ID zum Leader und alle anderen zu Followern.

Beobachtung: Kleinste ID wird in jeder Runde weitergeleitet

Beweis:Sei z Knoten mit kleinster ID; es gilt: ID(z) ≤ Lv für jeden Knoten vFür jedes i ≥ 0, sei vi der Knoten, der von z aus nach Traversieren voni Kanten im Uhrzeigersinn erreicht wird.Induktionshypothese: In Runde i + 1 empfängt vi die Nachricht ID(z)(für jedes 1 ≤ i ≤ n)Konsequenz:I Sei v , z. Dann ist v = vi für ein i ≤ n − 1 und innerhalb von i + 1 ≤ n

Runden empfängt vi Nachricht ID(z) und setzt Lv = ID(z)I Da jede Nachricht einer ID im Netzwerk entspricht, wird Lv dann nicht

mehr verändertI Am Ende von Runde n gilt Lv = ID(z) für jeden Knoten vI Somit: In Runde n + 1 wird z zum Leader alle anderen zu Followern

Sebastian Forster (Uni Salzburg) Leader Election I 14 / 24

Page 75: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Nachrichtenkomplexität

TheoremDer Clockwise Algorithmus versendet insgesamt höchstens n2 Nachrichten.

Beweis:Knoten v sendet nur, nachdem Lv initialisiert oder verringert wurde.

Jeder von Lv angenommene Wert entspricht einer ID im Netzwerk.

Daher kann Lv während des Algorithmus höchstens n verschiedeneWerte annehmen.

Somit sendet jeder Knoten höchstens n Nachrichten.

Sebastian Forster (Uni Salzburg) Leader Election I 15 / 24

Page 76: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Nachrichtenkomplexität

TheoremDer Clockwise Algorithmus versendet insgesamt höchstens n2 Nachrichten.

Beweis:Knoten v sendet nur, nachdem Lv initialisiert oder verringert wurde.

Jeder von Lv angenommene Wert entspricht einer ID im Netzwerk.

Daher kann Lv während des Algorithmus höchstens n verschiedeneWerte annehmen.

Somit sendet jeder Knoten höchstens n Nachrichten.

Sebastian Forster (Uni Salzburg) Leader Election I 15 / 24

Page 77: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Nachrichtenkomplexität

TheoremDer Clockwise Algorithmus versendet insgesamt höchstens n2 Nachrichten.

Beweis:Knoten v sendet nur, nachdem Lv initialisiert oder verringert wurde.

Jeder von Lv angenommene Wert entspricht einer ID im Netzwerk.

Daher kann Lv während des Algorithmus höchstens n verschiedeneWerte annehmen.

Somit sendet jeder Knoten höchstens n Nachrichten.

Sebastian Forster (Uni Salzburg) Leader Election I 15 / 24

Page 78: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Nachrichtenkomplexität

TheoremDer Clockwise Algorithmus versendet insgesamt höchstens n2 Nachrichten.

Beweis:Knoten v sendet nur, nachdem Lv initialisiert oder verringert wurde.

Jeder von Lv angenommene Wert entspricht einer ID im Netzwerk.

Daher kann Lv während des Algorithmus höchstens n verschiedeneWerte annehmen.

Somit sendet jeder Knoten höchstens n Nachrichten.

Sebastian Forster (Uni Salzburg) Leader Election I 15 / 24

Page 79: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Nachrichtenkomplexität

TheoremDer Clockwise Algorithmus versendet insgesamt höchstens n2 Nachrichten.

Beweis:Knoten v sendet nur, nachdem Lv initialisiert oder verringert wurde.

Jeder von Lv angenommene Wert entspricht einer ID im Netzwerk.

Daher kann Lv während des Algorithmus höchstens n verschiedeneWerte annehmen.

Somit sendet jeder Knoten höchstens n Nachrichten.

Sebastian Forster (Uni Salzburg) Leader Election I 15 / 24

Page 80: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Allgemeiner Clockwise Algorithmus [LeLann ’77, Chang/Roberts ’79]

Annahmen: asynchron, identifizierbar, uniform

Zwei mögliche Events: Initialisierung oder Empfang einer Nachricht

Jeder Knoten v führt folgenden Algorithmus aus:

1 initialize v:2 v setzt Lv := ID(v) (lokale Variable für größte bisher gesehene ID)3 v sendet Lv an Nachbar im Uhrzeigersinn

4 if v empfängt Nachricht M then5 if Lv uninitialisiert then Lv := ID(v)6 if M < Lv then7 v setzt Lv := M8 v wird zum Follower (sofern nicht bereits vorher geschehen)9 v sendet Lv an Nachbar im Uhrzeigersinn

10 if M = ID(v) then11 v wird zum Leader zu sein

Sebastian Forster (Uni Salzburg) Leader Election I 16 / 24

Page 81: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Allgemeiner Clockwise Algorithmus [LeLann ’77, Chang/Roberts ’79]

Annahmen: asynchron, identifizierbar, uniform

Zwei mögliche Events: Initialisierung oder Empfang einer Nachricht

Jeder Knoten v führt folgenden Algorithmus aus:

1 initialize v:2 v setzt Lv := ID(v) (lokale Variable für größte bisher gesehene ID)3 v sendet Lv an Nachbar im Uhrzeigersinn

4 if v empfängt Nachricht M then5 if Lv uninitialisiert then Lv := ID(v)6 if M < Lv then7 v setzt Lv := M8 v wird zum Follower (sofern nicht bereits vorher geschehen)9 v sendet Lv an Nachbar im Uhrzeigersinn

10 if M = ID(v) then11 v wird zum Leader zu sein

Sebastian Forster (Uni Salzburg) Leader Election I 16 / 24

Page 82: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Allgemeiner Clockwise Algorithmus [LeLann ’77, Chang/Roberts ’79]

Annahmen: asynchron, identifizierbar, uniform

Zwei mögliche Events: Initialisierung oder Empfang einer Nachricht

Jeder Knoten v führt folgenden Algorithmus aus:

1 initialize v:2 v setzt Lv := ID(v) (lokale Variable für größte bisher gesehene ID)3 v sendet Lv an Nachbar im Uhrzeigersinn

4 if v empfängt Nachricht M then5 if Lv uninitialisiert then Lv := ID(v)6 if M < Lv then7 v setzt Lv := M8 v wird zum Follower (sofern nicht bereits vorher geschehen)9 v sendet Lv an Nachbar im Uhrzeigersinn

10 if M = ID(v) then11 v wird zum Leader zu sein

Sebastian Forster (Uni Salzburg) Leader Election I 16 / 24

Page 83: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Allgemeiner Clockwise Algorithmus [LeLann ’77, Chang/Roberts ’79]

Annahmen: asynchron, identifizierbar, uniform

Zwei mögliche Events: Initialisierung oder Empfang einer Nachricht

Jeder Knoten v führt folgenden Algorithmus aus:

1 initialize v:2 v setzt Lv := ID(v) (lokale Variable für größte bisher gesehene ID)3 v sendet Lv an Nachbar im Uhrzeigersinn

4 if v empfängt Nachricht M then5 if Lv uninitialisiert then Lv := ID(v)6 if M < Lv then7 v setzt Lv := M8 v wird zum Follower (sofern nicht bereits vorher geschehen)9 v sendet Lv an Nachbar im Uhrzeigersinn

10 if M = ID(v) then11 v wird zum Leader zu sein

Sebastian Forster (Uni Salzburg) Leader Election I 16 / 24

Page 84: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

9

4

7 2

8

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 85: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

9

4

7 2

8

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 86: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

9

4

4 2

8

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 87: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

9

4

4 2

8

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 88: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

9

4

4 2

2

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 89: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

9

4

4 2

2

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 90: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

9

4

4 2

2

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 91: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

4

4 2

2

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 92: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

4

4 2

2

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 93: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

4 2

2

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 94: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

4 2

2

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 95: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 2

2

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 96: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 2

2

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 97: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 1

2

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 98: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 1

2

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 99: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 1

1

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 100: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 1

1

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 101: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

1

1

1 1

1

1

init

init

Sebastian Forster (Uni Salzburg) Leader Election I 17 / 24

Page 102: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Analyse

TheoremNach höchstens 2n − 1 Zeiteinheiten bestimmt der asynchrone ClockwiseAlgorithmus den Knoten mit der kleinsten ID zum Leader und alle anderen zuFollowern (wenn die Übermi�lung jeder Nachricht höchstens eine Zeiteinheitdauert).

Beweisidee:Zeitmessung startet mit dem ersten Knoten, der initialisiert wird.

Dann vergehen höchstens n − 1 Zeiteinheit bis Knoten z mit kleinster IDeine Nachricht empfängt und das erste Mal aktiv wird.

Anschließend: Nach höchstens n weiteren Zeiteinheiten hat jederKnoten ID(z) empfangen und sich entschieden.

Nachrichtenkomplexität: O(n2)Gleiches Argument wie für synchronen Algorithmus

Sebastian Forster (Uni Salzburg) Leader Election I 18 / 24

Page 103: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Analyse

TheoremNach höchstens 2n − 1 Zeiteinheiten bestimmt der asynchrone ClockwiseAlgorithmus den Knoten mit der kleinsten ID zum Leader und alle anderen zuFollowern (wenn die Übermi�lung jeder Nachricht höchstens eine Zeiteinheitdauert).

Beweisidee:Zeitmessung startet mit dem ersten Knoten, der initialisiert wird.

Dann vergehen höchstens n − 1 Zeiteinheit bis Knoten z mit kleinster IDeine Nachricht empfängt und das erste Mal aktiv wird.

Anschließend: Nach höchstens n weiteren Zeiteinheiten hat jederKnoten ID(z) empfangen und sich entschieden.

Nachrichtenkomplexität: O(n2)Gleiches Argument wie für synchronen Algorithmus

Sebastian Forster (Uni Salzburg) Leader Election I 18 / 24

Page 104: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Analyse

TheoremNach höchstens 2n − 1 Zeiteinheiten bestimmt der asynchrone ClockwiseAlgorithmus den Knoten mit der kleinsten ID zum Leader und alle anderen zuFollowern (wenn die Übermi�lung jeder Nachricht höchstens eine Zeiteinheitdauert).

Beweisidee:Zeitmessung startet mit dem ersten Knoten, der initialisiert wird.

Dann vergehen höchstens n − 1 Zeiteinheit bis Knoten z mit kleinster IDeine Nachricht empfängt und das erste Mal aktiv wird.

Anschließend: Nach höchstens n weiteren Zeiteinheiten hat jederKnoten ID(z) empfangen und sich entschieden.

Nachrichtenkomplexität: O(n2)Gleiches Argument wie für synchronen Algorithmus

Sebastian Forster (Uni Salzburg) Leader Election I 18 / 24

Page 105: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Analyse

TheoremNach höchstens 2n − 1 Zeiteinheiten bestimmt der asynchrone ClockwiseAlgorithmus den Knoten mit der kleinsten ID zum Leader und alle anderen zuFollowern (wenn die Übermi�lung jeder Nachricht höchstens eine Zeiteinheitdauert).

Beweisidee:Zeitmessung startet mit dem ersten Knoten, der initialisiert wird.

Dann vergehen höchstens n − 1 Zeiteinheit bis Knoten z mit kleinster IDeine Nachricht empfängt und das erste Mal aktiv wird.

Anschließend: Nach höchstens n weiteren Zeiteinheiten hat jederKnoten ID(z) empfangen und sich entschieden.

Nachrichtenkomplexität: O(n2)Gleiches Argument wie für synchronen Algorithmus

Sebastian Forster (Uni Salzburg) Leader Election I 18 / 24

Page 106: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Analyse

TheoremNach höchstens 2n − 1 Zeiteinheiten bestimmt der asynchrone ClockwiseAlgorithmus den Knoten mit der kleinsten ID zum Leader und alle anderen zuFollowern (wenn die Übermi�lung jeder Nachricht höchstens eine Zeiteinheitdauert).

Beweisidee:Zeitmessung startet mit dem ersten Knoten, der initialisiert wird.

Dann vergehen höchstens n − 1 Zeiteinheit bis Knoten z mit kleinster IDeine Nachricht empfängt und das erste Mal aktiv wird.

Anschließend: Nach höchstens n weiteren Zeiteinheiten hat jederKnoten ID(z) empfangen und sich entschieden.

Nachrichtenkomplexität: O(n2)Gleiches Argument wie für synchronen Algorithmus

Sebastian Forster (Uni Salzburg) Leader Election I 18 / 24

Page 107: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Optimale Nachrichtenkomplexität

FrageKann ein Leader mit signifikant weniger alsΘ(n2) Nachrichten bestimmt werden?

„Verantwortlich ist mannicht nur, für das, was mantut, sondern auch für das,was man nicht tut.“

Idee: Keine Nachricht zu senden darf alsZustimmung interpretiert werden

Sebastian Forster (Uni Salzburg) Leader Election I 19 / 24

Page 108: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Optimale Nachrichtenkomplexität

FrageKann ein Leader mit signifikant weniger alsΘ(n2) Nachrichten bestimmt werden?

„Verantwortlich ist mannicht nur, für das, was mantut, sondern auch für das,was man nicht tut.“

Idee: Keine Nachricht zu senden darf alsZustimmung interpretiert werden

Sebastian Forster (Uni Salzburg) Leader Election I 19 / 24

Page 109: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Optimale Nachrichtenkomplexität

FrageKann ein Leader mit signifikant weniger alsΘ(n2) Nachrichten bestimmt werden?

„Verantwortlich ist mannicht nur, für das, was mantut, sondern auch für das,was man nicht tut.“

Idee: Keine Nachricht zu senden darf alsZustimmung interpretiert werden

Sebastian Forster (Uni Salzburg) Leader Election I 19 / 24

Page 110: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Wartezeit-Algorithmus [A�iya/Welch ’98]

Annahmen: synchron, identifizierbar, uniform

Jeder Knoten v führt folgenden Algorithmus in jeder Runde aus:

1 if Leader-Nachricht empfangen und noch kein Leader then2 Werde zum Follower3 Leite Leader-Nachricht im Uhrzeigersinn weiter

4 if #Runden = ID(v) ∗ n + 1 und v noch kein Follower then5 Werde zum Leader6 Sende Leader-Nachricht an Nachbar im Uhrzeigersinn

Sebastian Forster (Uni Salzburg) Leader Election I 20 / 24

Page 111: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 1:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 112: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 2:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 113: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 3:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 114: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 4:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 115: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 5:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 116: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 6:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 117: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 7:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 118: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 7:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 119: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 8:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 120: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 8:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 121: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 9:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 122: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 9:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 123: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 10:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 124: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 10:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 125: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 11:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 126: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 11:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 127: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 12:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 128: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 12:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 129: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Beispiel

Runde 13:

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election I 21 / 24

Page 130: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Analyse

Alle n Runden entscheidet sich höchstens ein Knoten Leader zu werden.

Leader muss also innerhalb von n Runden alle anderen Knoteninformieren, damit Algorithmus korrekt ist.

Dies wird durch Weiterleiten der Nachricht im Ring garantiert.

Anzahl Nachrichten: O(n)

Rundenzahl: Θ(n ·minv ID(v))Beispiel: Für IDs im Bereich von 0 bis 2n könnte kleinste ID den Wert nhaben. Dann werden bereits Θ(n2) Runden benötigt.

Sebastian Forster (Uni Salzburg) Leader Election I 22 / 24

Page 131: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Analyse

Alle n Runden entscheidet sich höchstens ein Knoten Leader zu werden.

Leader muss also innerhalb von n Runden alle anderen Knoteninformieren, damit Algorithmus korrekt ist.

Dies wird durch Weiterleiten der Nachricht im Ring garantiert.

Anzahl Nachrichten: O(n)

Rundenzahl: Θ(n ·minv ID(v))Beispiel: Für IDs im Bereich von 0 bis 2n könnte kleinste ID den Wert nhaben. Dann werden bereits Θ(n2) Runden benötigt.

Sebastian Forster (Uni Salzburg) Leader Election I 22 / 24

Page 132: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Analyse

Alle n Runden entscheidet sich höchstens ein Knoten Leader zu werden.

Leader muss also innerhalb von n Runden alle anderen Knoteninformieren, damit Algorithmus korrekt ist.

Dies wird durch Weiterleiten der Nachricht im Ring garantiert.

Anzahl Nachrichten: O(n)

Rundenzahl: Θ(n ·minv ID(v))Beispiel: Für IDs im Bereich von 0 bis 2n könnte kleinste ID den Wert nhaben. Dann werden bereits Θ(n2) Runden benötigt.

Sebastian Forster (Uni Salzburg) Leader Election I 22 / 24

Page 133: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Analyse

Alle n Runden entscheidet sich höchstens ein Knoten Leader zu werden.

Leader muss also innerhalb von n Runden alle anderen Knoteninformieren, damit Algorithmus korrekt ist.

Dies wird durch Weiterleiten der Nachricht im Ring garantiert.

Anzahl Nachrichten: O(n)

Rundenzahl: Θ(n ·minv ID(v))Beispiel: Für IDs im Bereich von 0 bis 2n könnte kleinste ID den Wert nhaben. Dann werden bereits Θ(n2) Runden benötigt.

Sebastian Forster (Uni Salzburg) Leader Election I 22 / 24

Page 134: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Analyse

Alle n Runden entscheidet sich höchstens ein Knoten Leader zu werden.

Leader muss also innerhalb von n Runden alle anderen Knoteninformieren, damit Algorithmus korrekt ist.

Dies wird durch Weiterleiten der Nachricht im Ring garantiert.

Anzahl Nachrichten: O(n)

Rundenzahl: Θ(n ·minv ID(v))

Beispiel: Für IDs im Bereich von 0 bis 2n könnte kleinste ID den Wert nhaben. Dann werden bereits Θ(n2) Runden benötigt.

Sebastian Forster (Uni Salzburg) Leader Election I 22 / 24

Page 135: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Analyse

Alle n Runden entscheidet sich höchstens ein Knoten Leader zu werden.

Leader muss also innerhalb von n Runden alle anderen Knoteninformieren, damit Algorithmus korrekt ist.

Dies wird durch Weiterleiten der Nachricht im Ring garantiert.

Anzahl Nachrichten: O(n)

Rundenzahl: Θ(n ·minv ID(v))Beispiel: Für IDs im Bereich von 0 bis 2n könnte kleinste ID den Wert nhaben. Dann werden bereits Θ(n2) Runden benötigt.

Sebastian Forster (Uni Salzburg) Leader Election I 22 / 24

Page 136: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Zusammenfassung

Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen

Nächste Vorlesungseinheit: Randomisierter Algorithmus2 Clockwise Algorithmus:

I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe

I O(n) Runden, O(n2) Nachrichten3 Wartezeit Algorithmus:

I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?

Nächste Vorlesungseinheit: O(n) Runden, O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election I 23 / 24

Page 137: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Zusammenfassung

Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen

Nächste Vorlesungseinheit: Randomisierter Algorithmus

2 Clockwise Algorithmus:I Deterministischer synchroner/asynchroner Algorithmus für

uniforme/non-uniforme RingeI O(n) Runden, O(n2) Nachrichten

3 Wartezeit Algorithmus:I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?

Nächste Vorlesungseinheit: O(n) Runden, O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election I 23 / 24

Page 138: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Zusammenfassung

Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen

Nächste Vorlesungseinheit: Randomisierter Algorithmus2 Clockwise Algorithmus:

I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe

I O(n) Runden, O(n2) Nachrichten

3 Wartezeit Algorithmus:I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?

Nächste Vorlesungseinheit: O(n) Runden, O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election I 23 / 24

Page 139: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Zusammenfassung

Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen

Nächste Vorlesungseinheit: Randomisierter Algorithmus2 Clockwise Algorithmus:

I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe

I O(n) Runden, O(n2) Nachrichten3 Wartezeit Algorithmus:

I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) Nachrichten

I Frage: E�izienz in beiden Metriken möglich?

Nächste Vorlesungseinheit: O(n) Runden, O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election I 23 / 24

Page 140: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Zusammenfassung

Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen

Nächste Vorlesungseinheit: Randomisierter Algorithmus2 Clockwise Algorithmus:

I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe

I O(n) Runden, O(n2) Nachrichten3 Wartezeit Algorithmus:

I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?

Nächste Vorlesungseinheit: O(n) Runden, O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election I 23 / 24

Page 141: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

Zusammenfassung

Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen

Nächste Vorlesungseinheit: Randomisierter Algorithmus2 Clockwise Algorithmus:

I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe

I O(n) Runden, O(n2) Nachrichten3 Wartezeit Algorithmus:

I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?

Nächste Vorlesungseinheit: O(n) Runden, O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election I 23 / 24

Page 142: Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf einen Leader Alle anderen heißen Follower Gesucht: Algorithmus, der für jeden

�ellen

Der Inhalt dieser Vorlesungseinheit basiert zum Teil auf Vorlesungseinheitenvon Robert Elsässer und Stefan Schmid.

Literatur:

Dana Angluin. „Local and Global Properties in Networks of Processors(Extended Abstract)“. In: Proc. of the Symposium on Theory of Computing(STOC). 1980, S. 82–93Hagit A�iya, Jennifer Welch (2004) Distributed Computing, Kapitel 3, Wiley.Ernest Chang, Rosemary Roberts. „An improved algorithm for decentralizedextrema-finding in circular configurations of processes“. Communications of theACM 22(5): 281–283 (1979)Gérard Le Lann. „Distributed Systems – Towards a Formal Approach“. In: Proc.of the IFIP Congress. 1977, S. 155–160Nancy A. Lynch (1996) Distributed Algorithms, Kapitel 3, Morgan Kaufmann.

Sebastian Forster (Uni Salzburg) Leader Election I 24 / 24