BP 1 BP 1 BP 1 BP 1

Werbung
BP 1
BP 1
Wahlalgorithmen: Übersicht
7
Wahlalgorithmen
7.1
Fragestellung
7.2
Ringbasierte Verfahren
7.2
Wahlalgorithmen: Ringbasierte Verfahren
Ringbasierte Verfahren
Unidirektionaler Ring: Chang-Roberts-Algorithmus
Gewinner ist der Knoten, der unter allen die größte Identifikation besitzt.
• Unidirektionaler Ring
• Bidirektionaler Ring
7.3
Algorithmus für i-ten Prozessor
Allgemeine Topologien
main()
{ typedef enum type {START, ELECT};
struct message {
int source, target;
type messagetype;
int supposed_leader;
};
int supposed_leader = -1;
int I_am_leader = FALSE;
message msg;
• Bäume
• Allgemeine Netze
- Pfadverfahren
- Kantenfärbung
- Echo/Wahl-Algorithmen
- Adoptionsverfahren
- Warteverfahren
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
7.1-1
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
BP 1
7.2-2
ist ohne Genehmigung des Autors unzulässig
BP 1
Wahlalgorithmen: Unidirektionaler Ring
while (1) {
receive(&msg);
switch (msg.messagetype)
case START:
supposed_leader = i;
send(i, next(i), ELECT, i);
break;
case ELECT:
if (supposed_leader < msg.supposed_leader) {
supposed_leader = msg.supposed_leader;
send(i, next(i), ELECT,
msg.supposed_leader);
} else if (supposed_leader == i) {
I_am_leader = TRUE;
}
}
}
Wahlalgorithmen: Unidirektionaler Ring
Bidirektionaler Ring: modifizierter Chang-Roberts-Algorithmus)
main()
{ typedef enum type {START, ELECT};
struct message {
int
source, target;
type messagetype;
int
supposed_leader;
int
d;
/* +1 oder -1 als Richtungsangabe */
};
int d, supposed_leader = -1, I_am_leader = FALSE;
message msg;
}
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.2-3
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.2-4
BP 1
BP 1
Wahlalgorithmen: Unidirektionaler Ring
while (1) {
receive(&msg);
switch (msg.messagetype)
case START:
supposed_leader = i;
d = mit_gleicher_Wahrsch_eine_der_Richtungen();
send(i, next(i, d) , ELECT, i, d);
break;
case ELECT:
if (supposed_leader < msg.supposed_leader) {
supposed_leader = msg.supposed_leader;
send(i,next(i,msg.d),ELECT,msg.supposed_leader,msg.d);
} else if (supposed_leader == i)
I_am_leader = TRUE;
}
}
7.3
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
7.2-5
1. Ein Starter sendet Explosionsnachrichten in alle Richtungen.
2. Ein (innerer) Knoten, der erstmalig eine Explosionsnachricht erhält, sendet eine
solche in alle anderen Richtungen.
3. Ein Blattknoten, der eine Explosionsnachricht erhält, sendet eine
Kontraktionsnachricht mit seiner eigenen Identität zurück.
4. Ein innerer Knoten, der von allen bis auf einen Nachbarn eine
Kontraktionsnachricht erhalten hat, sendet eine Kontraktionsnachricht mit dem
Maximum aus den empfangenen Identitäten und seiner eigenen Identität über
die restliche Kante.
5. Erhält ein Knoten eine Kontraktionsnachricht nach dem Versenden seiner
eigenen Kontraktionsnachricht, so sendet er das Maximum der damit erhaltenen
Information und der ihm bereits bekannten Information in Form von
Informationsnachrichten in alle anderen Richtungen.
6. Erhält ein Knoten eine Informationsnachricht, so propagiert er diese über alle
anderen Kanten.
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
BP 1
Allgemeine Verfahren
7.3.1 Wahl auf Bäumen: Gesucht ist der Knoten mit der größten Identitätsnummer
}
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
Wahlalgorithmen: Wahl auf Bäumen
7.3-6
ist ohne Genehmigung des Autors unzulässig
BP 1
Wahlalgorithmen: Wahl auf Bäumen
Wahlalgorithmen: Wahl auf Bäumen
18
09
16
17
18
16
15
14
14
13
02
12
15
06
03
11
07
10
11
Start-Nachricht
10
Explosions-Nachricht
9
Kontraktions-(Echo-)
Nachricht
Informations-Nachricht
8
12
7
6
17
5
05
04
4
3
2
13
01
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
1
08
7.3-7
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.3-8
BP 1
BP 1
Wahlalgorithmen: Wahl auf Bäumen
Farbe charakterisiert Kenntnisstand
(Farbwahl: Knotennummer modulo 6)
09
16
Wahlalgorithmen: Wahl auf Bäumen
09
16
18
18
14
14
02
15
02
15
06
03
06
11
03
11
07
10
07
10
12
12
17
17
05
05
04
04
Ausbreitung
Kontraktion
01
13
13
01
08
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
7.3-9
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
BP 1
7.4
BP 1
7.4.1 Das Pfadverfahren (depth first)
Das Token enthält den Pfad zurück zum Initiator und die Angabe des Initiators.
Die Knoten kennen ihre Nachbarn, halten ihren jeweiligen Kenntnisstand bezüglich
des Gewinners fest und notieren, welchen Nachbarn sie ihren neuesten
Kenntnisstand schon bekannt gemacht haben.
Nachrichten: m = (Empfänger, Pfad, Initiator)
Lokale Variable: Gewinner = -1; // Nach bisherigem Kenntnisstand der Gewinner
1. Ein Knoten erhält ein Startsignal:
Falls bislang nicht besucht (sonst Wahl schon laufend):
if (Gewinner < eigene_Nummer) {
Gewinner = eigene_Nummer;
Sende(irgend_einem_Nachbarn, Pfad(eigene_Nummer),
eigene_Nummer);
}
ist ohne Genehmigung des Autors unzulässig
Wahlalgorithmen: Das Pfadverfahren
2. Ein Knoten erhält die Nachricht m:
Allgemeine Netze: Gesucht ist Starter mit größter Identitätsnummer
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
7.3-10
ist ohne Genehmigung des Autors unzulässig
Wahlalgorithmen: Das Pfadverfahren
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
08
7.4-11
Vorgänger = m.pfad.first();
if (m.Initiator >= Gewinner) {
Gewinner = m.Initiator;
if (noch_nicht_an_alle_Nachbarn_mit_Ausnahme_des_
_Vorgängers_jetzigen_Gewinner_bekannt_gemacht) {
Sende(einem_dieser_Nachbarn,
eigene_Nummer + m.Pfad,
m.Initiator);
} else if (m.Pfad != LEERER_PFAD) { // Zyklus im Graphen
Sende(Vorgänger, m.Pfad.tail(), m.Initiator);
} else {
Dieser_Knoten_ist_Gewinner_der_Wahl;
}
}
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.4-12
BP 1
BP 1
Wahlalgorithmen: Echo-Wahlverfahren
Wahlalgorithmen: Echo-Wahlverfahren
(2) Ein freier Knoten wird von einem Explorer ε(i) erreicht:
7.4.2 Allgemeine Netze: Das Echo-Wahlverfahren
a) Der Knoten besitzt einen Grad größer als 1:
Gewinner ist der Initiator, der die größte Identifikation besitzt
ε(i)
(1) Ein freier Knoten i wird spontan zum Initiator:
Knoten i
virtuelle
Baumkante
ε(i)
ε(i)
ε(i)
i
0
ε(i)
ε(i)
i
0
ε(i)
b) Der Knoten besitzt den Grad 1:
ε(i)
ε(i)
ε(i)
χ
0
0
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
7.4-13
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
BP 1
7.4-14
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
ist ohne Genehmigung des Autors unzulässig
BP 1
Wahlalgorithmen: Echo-Wahlverfahren
(3) Ein Explorer ε(j) trifft auf einen bereits mit i markierten Knoten (mit Grad größer 1):
Wahlalgorithmen: Echo-Wahlverfahren
c) j > i, d. h. Knoten wird von stärkerem Initiator erobert
a) j = i, d. h. zwei Explorer identischer Markierung begegnen sich
ε(j)
ε(j)
ε(j)
i
√
ε(j)
j
i
i
ε(j)
ε(j)
Falls ein Initiator erobert wird, entfällt
damit dessen virtuelle Baumkante.
Falls die letzte Nicht-Baumkante als erledigt festgestellt wird, wird ein Echo über die Baumkante verschickt.
b) j < i, d. h. der eintreffende Explorer ist kleiner als der zuletzt versandte:
Es erfolgt keine Zustandsänderung!
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.4-15
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.4-16
BP 1
BP 1
Wahlalgorithmen: Echo-Wahlverfahren
(4) Es trifft ein Echo ein:
Wahlalgorithmen: Echo-Wahlverfahren
(5) Zurücksenden eines Echos:
χ
χ
√
i
√ i √
√
√
i
Falls die letzte Nicht-Baumkante als erledigt festgestellt wird, wird ein Echo über die Baumkante verschickt.
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
Falls es sich um einen Initiator handelt, d. h. die Baumkante ist virtuell, so ist er der (vorläufige) Gewinner.
7.4-17
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
7.4-18
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
BP 1
0
ist ohne Genehmigung des Autors unzulässig
BP 1
Wahlalgorithmen: Echo-Wahlverfahren
Wahlalgorithmen: Adoptionsverfahren
7.4.3 Das Adoptionsverfahren
I
II
III
IV
V
VI
VII VIII IX
1
Die Idee
2
3
d
4
c
B
5
6
7
2
1
2
2
1
2
3
5
4
7
3
4
7
III
I
A
IV
II
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
a
1
5
4
b
6
1
5
3
4
7
7
2
1
5
3
6
6
6
7.4-19
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.4-20
BP 1
BP 1
Wahlalgorithmen: Adoptionsverfahren
Wahlalgorithmen: Adoptionsverfahren
(2) Ein freier Knoten wird von einem Explorer ε(i) erreicht:
(1) Ein freier Knoten i wird spontan zum Initiator:
a) Der Knoten besitzt einen Grad größer als 1:
virtuelle
Baumkante
ε(i)
ε(i)
ε(i)
ε(i)
i
i
i
i
0
i
0
i
i
ε(i)
ε(i)
i
i
i
ε(i)
ε(i)
ε(i)
b) Der Knoten besitzt den Grad 1:
ε(i)
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
7.4-21
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
7.4-22
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
BP 1
χ
ist ohne Genehmigung des Autors unzulässig
BP 1
Wahlalgorithmen: Adoptionsverfahren
(3) Ein Explorer ε(j) trifft auf einen bereits mit i markierten Knoten
(mit Grad größer 1). Die Eingangskante sei mit k markiert:
Wahlalgorithmen: Adoptionsverfahren
b) k > j, d. h. der eintreffende Explorer ist kleiner als der in Gegenrichtung zuletzt
versandte:
a) k = j, d. h. zwei Explorer identischer Markierung begegnen sich
Es erfolgt keine Zustandsänderung!
c) k < j und j > i
ε(j)
k
i
j √
ε(j)
ε(j)
i
j
k
i
Falls die letzte Nicht-Baumkante als erledigt festgestellt wird, wird ein Echo über die Baumkante verschickt.
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
j
Falls ein Initiator erobert wird (dessen virtuelle Baumkante
damit entfällt) wird ebenfalls ein Echo zurückgesandt.
7.4-23
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.4-24
BP 1
BP 1
Wahlalgorithmen: Adoptionsverfahren
Wahlalgorithmen: Adoptionsverfahren
d) k < j und j <= i
(4) Es trifft ein Echo ein:
ε(j)
χ
ε(i)
k
i
i
√
j
i
i
i
Falls die letzte Nicht-Baumkante als erledigt festgestellt wird, wird ein Echo über die Baumkante verschickt.
Falls i = j ist, gilt die Baumkante als erledigt.
Handelt es sich dabei um die letzte Nicht-Baumkante
wird ein Echo über die Baumkante verschickt.
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
7.4-25
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
BP 1
7.4-26
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
ist ohne Genehmigung des Autors unzulässig
BP 1
Wahlalgorithmen: Adoptionsverfahren
Wahlalgorithmen: Adoptionsverfahren
(5) Zurücksenden eines Echos:
I
II
III
IV
V
VI
VII VIII IX
1
2
χ
3
4
√ i √
√
√
5
0
6
7
6
6
Falls es sich um einen Initiator handelt, d. h. die Baumkante ist virtuell, so ist er der Gewinner.
6
6
2
2
1
2
2
1
1
1
5
5
5
5
3
3
4
3
7
I
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.4-27
4
4
7
7
7
3
4
III
IV
II
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.4-28
BP 1
BP 1
Wahlalgorithmen: Warteverfahren
Wahlalgorithmen: Warteverfahren
(1) Ein freier Knoten i wird spontan zum Initiator:
7.4.4 Das Warteverfahren
Die Idee
virtuelle
Baumkante
ε(i)
2
ε(i)
i
0
ε(i)
3
ε(i)
N := 0
1
4
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
7.4-29
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
BP 1
7.4-30
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
ist ohne Genehmigung des Autors unzulässig
BP 1
Wahlalgorithmen: Warteverfahren
(2) Ein freier Knoten wird von einem Explorer ε(i) erreicht:
Wahlalgorithmen: Warteverfahren
b) Der Knoten besitzt den Grad 1:
a) Der Knoten besitzt einen Grad größer als 1:
ε(i)
ε(i)
ε(i)
ε(i)
ε(i)
0
i
i
0
ε(i)
ε(i)
N := 1
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.4-31
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.4-32
BP 1
BP 1
Wahlalgorithmen: Warteverfahren
(3) Ein Explorer ε(j) trifft auf einen bereits mit i markierten Knoten.
In diesem Fall wird zunächst generell N um 1 erhöht.
Wahlalgorithmen: Warteverfahren
c) Grad des Knotens = N, es wartet bereits ein Explorer ε(j’) vor dem Knoten:
a) Grad des Knotens = N, es wartet kein Explorer vor dem Knoten,
die Baumkante ist eine virtuelle Kante:
N = Wartezähler;
Wartezähler = 0;
j’ = 0;
Der Knoten hat die Wahl gewonnen.
b) Grad des Knotens = N, es wartet kein Explorer vor dem Knoten,
die Baumkante ist echte Kante:
ε(i)
ε(j)
√
i √
√ √
ε(j’)
√
i √
√ √
√
ε(j’)
i
ε(j’)
ε(j’)
ε(j)
j’
ε(j’)
d) Grad des Knotens ≠ N:
Keine Zustandsänderung
BP 1
Wahlalgorithmen: Warteverfahren
14
(4) Ein Explorer ε(j) trifft auf einen mit i > j markierten Knoten:
18
17
Keine Zustandsänderung. (Explorer läuft auf)
13
17
18
15
16
(5) Ein Explorer ε(j) trifft auf einen mit i < j markierten Knoten:
15
14
b) Knotengrad > 1
13
12
a) Knotengrad = 1: Reaktion wie im Fall 2b.
α) N = 1 und Initiator: Wie 2
12
β)
11
10
10
8
ε(j)
08
7
07
6
4
11
N++;
if (j > j’) { Wartezähler = 1; j’ = j; }
else if (j == j’){ Wartezähler++; }
02
16
5
05
3
09
2
01
√
9
√
i √
03
√
i √
ε(j)
7.4-34
Wahlalgorithmen: Warteverfahren
04
BP 1
7.4-33
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
06
07.12.01
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
1
Gegebenenfalls noch 3c.
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.4-35
Universität Erlangen-Nürnberg, Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme), F. Hofmann
07.12.01 Reproduktion jeder Art oder Verwendung dieser Unterlage zu Lehrzwecken außerhalb der Universität Erlangen-Nürnberg
ist ohne Genehmigung des Autors unzulässig
7.4-36
Herunterladen