Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf...

Post on 02-Aug-2020

1 views 0 download

Transcript of Leader Election I - avs.cosy.sbg.ac.at · Leader Election: Knoten eines Netzwerks einigen sich auf...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Beispiel

9

4

7 2

8

1

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

Beispiel

9

4

7 2

8

1

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

Beispiel

1

4

4 2

2

1

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

Beispiel

1

4

4 2

2

1

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

Beispiel

1

1

4 2

2

1

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

Beispiel

1

1

4 2

2

1

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

Beispiel

1

1

1 2

2

1

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

Beispiel

1

1

1 2

2

1

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

Beispiel

1

1

1 1

2

1

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

Beispiel

1

1

1 1

2

1

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

Beispiel

1

1

1 1

1

1

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

Beispiel

1

1

1 1

1

1

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

Beispiel

1

1

1 1

1

1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Beispiel

9

4

7 2

8

1

init

init

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

Beispiel

9

4

7 2

8

1

init

init

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

Beispiel

9

4

4 2

8

1

init

init

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

Beispiel

9

4

4 2

8

1

init

init

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

Beispiel

9

4

4 2

2

1

init

init

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

Beispiel

9

4

4 2

2

1

init

init

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

Beispiel

9

4

4 2

2

1

init

init

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

Beispiel

1

4

4 2

2

1

init

init

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

Beispiel

1

4

4 2

2

1

init

init

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

Beispiel

1

1

4 2

2

1

init

init

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

Beispiel

1

1

4 2

2

1

init

init

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

Beispiel

1

1

1 2

2

1

init

init

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

Beispiel

1

1

1 2

2

1

init

init

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

Beispiel

1

1

1 1

2

1

init

init

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

Beispiel

1

1

1 1

2

1

init

init

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

Beispiel

1

1

1 1

1

1

init

init

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

Beispiel

1

1

1 1

1

1

init

init

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

Beispiel

1

1

1 1

1

1

init

init

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

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

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

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

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

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

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

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

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

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

Beispiel

Runde 1:

9

4

7 2

8

1

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

Beispiel

Runde 2:

9

4

7 2

8

1

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

Beispiel

Runde 3:

9

4

7 2

8

1

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

Beispiel

Runde 4:

9

4

7 2

8

1

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

Beispiel

Runde 5:

9

4

7 2

8

1

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

Beispiel

Runde 6:

9

4

7 2

8

1

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

Beispiel

Runde 7:

9

4

7 2

8

1

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

Beispiel

Runde 7:

9

4

7 2

8

1

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

Beispiel

Runde 8:

9

4

7 2

8

1

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

Beispiel

Runde 8:

9

4

7 2

8

1

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

Beispiel

Runde 9:

9

4

7 2

8

1

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

Beispiel

Runde 9:

9

4

7 2

8

1

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

Beispiel

Runde 10:

9

4

7 2

8

1

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

Beispiel

Runde 10:

9

4

7 2

8

1

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

Beispiel

Runde 11:

9

4

7 2

8

1

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

Beispiel

Runde 11:

9

4

7 2

8

1

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

Beispiel

Runde 12:

9

4

7 2

8

1

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

Beispiel

Runde 12:

9

4

7 2

8

1

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

Beispiel

Runde 13:

9

4

7 2

8

1

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

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

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

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

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

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

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

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

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

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

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

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

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

�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