Post on 02-Aug-2020
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