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

Preview:

Citation preview

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