Upload
others
View
1
Download
0
Embed Size (px)
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