PPT - Institut für Informatik

Werbung
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Algorithmen für
Peer-to-Peer-Netzwerke
Sommersemester 2004
17.05.2004
4. Vorlesung
Christian Schindelhauer
1
HEINZ NIXDORF INSTITUT
Kapitel I
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Algorithmen für Peer-to-PeerNetzwerke
2
HEINZ NIXDORF INSTITUT
Terminänderungen
 Vorlesung:
– Nächste Vorlesung:
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Fr. 21.05.2004, 9-11 Uhr F0.530
 Übung
– Übungsblätter erscheinen seit letzter Woche immer montags
Nächste Übungen:
– Gruppe A: Mo 10-11 (Christian Schindelhauer), nächste Termine:
• Mo. 24.05.2004, 10 Uhr
– Gruppe B: Mo 11-12 (Peter Mahlmann), nächste Termine
• Mo. 24.05.2004, 11 Uhr
– Gruppe C: Mo 16-17 (Peter Mahlmann), nächste Termine
• Mo. 24.05.2004, 16 Uhr
Algorithmen für Peer-to-PeerNetzwerke
3
HEINZ NIXDORF INSTITUT
Kapitel III
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
CHORD
Algorithmen für Peer-to-PeerNetzwerke
4
HEINZ NIXDORF INSTITUT
Von der Hash-Tabelle zur Distributed HashTable (DHT)
Hash-Tabellen
 Vorteile
• Suche einfach
 Nachteile
– Ein neuer Peer verursacht neue Wahl
der Hash-Funktion
– Lange Wege
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Peers
0
1
23
f(23)=1
2
0
3
4
5
1
5
Indexdaten
6
4
f(1)=4
Indexdaten
Distributed Hash-Table
 Peers werden an eine Stelle ge“hash“t
und erhalten Bereiche des
Wertebereichs der Hashfunktion
zugeteilt
 Daten werden auch ge“hash“t
– Je nach Bereich den Peers
zugeordnet
Hash-Funktion
Hash-Funktion
Peers
Algorithmen für Peer-to-PeerNetzwerke
5
HEINZ NIXDORF INSTITUT
Einfügen in die Distributed Hash-Table (DHT)
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
 Distributed Hash-Table
– Peers werden an eine Stelle ge“hash“t
– Dokumente ebenso
– Jeder ist für einen Bereich
verantwortlich
 Kommt ein neuer Knoten hinzu
– müssen die Nachbarn teilen
 Verlässt ein Knoten das Netzwerk
– übernehmen die Nachbarn sein
Gebiet
Algorithmen für Peer-to-PeerNetzwerke
6
HEINZ NIXDORF INSTITUT
Eigenschaften DHT
 Vorteile
– Jedes Datum kann einem bestimmten
Peer zugewiesen werden
– Einfügen und Entfernen von Peers
erzeugt nur Veränderungen in den
benachbarten Peers
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Peers
0
1
23
f(23)=1
2
0
3
4
5
1
5
Indexdaten
6
4
f(1)=4
 DHTs werden von vielen P2PNetzwerken benutzt
 Noch zu klären:
– Die Verbindungsstruktur
Algorithmen für Peer-to-PeerNetzwerke
7
HEINZ NIXDORF INSTITUT
Peer-to-peer Netzwerke
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
 Peer-to-peer Netzwerke sind
verteilte Systeme
– ohne zentrale Kontrolle oder
hierarchische Strukturen
– mit gleicher Software
– mit großer Dynamik, d.h. Knoten
erscheinen und verschwinden
– mit vielen Knoten
– mit geringer Netzwerkinformation
Knoten
erscheint
Internet
Knoten
verschwindet
Algorithmen für Peer-to-PeerNetzwerke
8
HEINZ NIXDORF INSTITUT
Chord
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
 von Ion Stoica, Robert Morris, David
Karger, M. Frans Kaashoek und Hari
Balakrishnan (2001)
 DHT mit Hash-Bildbereich {0,..,2m-1}
– für genügend großes m
 Ring-Verknüpfung der Peers
 Abkürzungen im Ring durch
exponentiell gestaffelte Zeiger auf
Nachfolger
Algorithmen für Peer-to-PeerNetzwerke
9
HEINZ NIXDORF INSTITUT
Chord als DHT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
rV(b) = b+1 mod 8
 n: Knotenanzahl, Knotenmenge V
 k: Anzahl Schlüssel, Schlüsselmenge
K
5
 m: Hashwertlänge: m >> log max{K,N}
 Zwei Hash-Funktionen bilden auf
{0,..,2m-1} ab
– rV(b): bildet Peer b zufällig auf
{0,..,2m-1} ab
– rK(i): bildet Index i zufällig auf
{0,..,2m-1} ab
 Abbildung von i auf einen Peer b = fv(i)
– fV(i) := arg minbV (rB(b)-rK(i))
6
5
7
3
rK(i) = 3i-2 mod 8
4
Index
2
2
3
0
6
2
1
0
Algorithmen für Peer-to-PeerNetzwerke
10
HEINZ NIXDORF INSTITUT
Die Datenstruktur von Chord
 Für jeden Knoten b:
– successor: Nachfolger
– predecessor: Vorgänger
– Für i  {0,..m-1}
• Finger[i] := Der Knoten der
dem Wert rV(b+2i) folgt
 Für kleine i werden die FingerEinträge immer gleich
– Nur unterschiedliche Fingereinträge
werden gespeichert
Lemma
Die Anzahl unterschiedlicher FingerEinträge für Knoten b ist mit hoher
Wahrscheinlichkeit O(log n)
Hohe Wahrscheinlichkeit = 1 - n-c
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
predecessor
5
successor
6
finger[0]
5
7
finger[1]
0
finger[2]
4
2
3
2
1
0
Algorithmen für Peer-to-PeerNetzwerke
11
HEINZ NIXDORF INSTITUT
Suchen in Chord
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Theorem
Die Schlüsselsuche braucht mit hoher Wahrscheinlichkeit O(log n)
Sprünge, d.h. insbesondere nur O(log n) Nachrichten für
Schlüsseleinfügen/löschen mit hoher Wahrscheinlichkeit
Suchalgorithmus für Schlüssel s:
– Abbruch(b,s):
• Knoten b,b’=b.succ gefunden, mit rK(s)  [rV(b),rV(b‘)|
–
Hauptroutine: Starte mit irgendeinem Knoten b
while not Abbruch(b,s) do
for i=m downto 0 do
if rK(s)  [rV(b.finger[i]),rV(finger[i+1])] then
b ← b.finger[i]
fi
od
b.finger[m]
b.finger[m-1]
b
c
x
sy
Algorithmen für Peer-to-PeerNetzwerke
12
HEINZ NIXDORF INSTITUT
Balance in Chord
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
– n: Anzahl der Knoten im P2P-Netzwerk
– k: Anzahl der Schlüssel  1
Theorem
Die Datenstruktur von Chord hat folgende Eigenschaften
1. Balance&Load: Mit pol. W‘keit (1-n-c) werden in jedem Knoten
höchstens O(k/n log n) Schlüssel gespeichert
2. Dynamik: Tritt ein neuer Knoten hinzu oder verlässt ein Knoten das
Netzwerk müssen mit pol. W‘keit höchstens O(k/n log n) Schlüssel
bewegt werden.
Beweis
– …
Algorithmen für Peer-to-PeerNetzwerke
13
HEINZ NIXDORF INSTITUT
Eigenschaften der Datenstruktur
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Lemma
Der Abstand |rV(b.succ) - rV(b)| ist
1. im Erwartungswert 2m/n,
2. mit hoher Wahrscheinlichkeit höchstens O((2m/n) log n) und
3. mit hoher Wahrscheinlichkeit mindestens (2m/n)/ nc für eine Konstante c>0
4. In einem Intervall der Länge w 2m/n sind mit hoher Wahrscheinlichkeit
a) (w) Knoten, falls w=Ω(log n)
b) höchstens O(w log n) Knoten, falls w=O(log n)
Lemma
Die Anzahl der Knoten, die einen Fingerzeiger auf Knoten b besitzen ist
1. im Erwartungswert O(log n)
2. mit pol. Wahrscheinlichkeit höchstens O(log n)
Algorithmen für Peer-to-PeerNetzwerke
14
HEINZ NIXDORF INSTITUT
Beweise?
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Wie beweist man diese Eigenschaften
Abstrakte Formulierung durch Bälle und Körbe
Anwenden der Chernoff-Schranke
Algorithmen für Peer-to-PeerNetzwerke
15
HEINZ NIXDORF INSTITUT
Bälle und Körbe
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Lemma
Werden m Bälle zufällig in n Körbe geworfen. Dann gilt:
1. Die erwartete Zahl von Bällen pro Korb ist m/n.
2. Die Wahrscheinlichkeit, dass k Bälle auf einen bestimmten Korb fallen
ist,
Lemma
Werden m=n Bälle zufällig in n Körbe geworfen. Dann gilt:
1. Die Wahrscheinlichkeit, dass ein (bestimmter) Korb leer bleibt, ist
konstant (konvergiert gegen 1/e). Die erwartete Anzahl leerer Körbe
konvergiert gegen n/e
2. Die Wahrscheinlichkeit, dass mehr als k ln n Bälle auf einen bestimmten
Korb fallen, ist höchstens O(n-c) für konstante k und c.
Beweis: 1. aus Übung
2. durch Chernoff-Schranke
Algorithmen für Peer-to-PeerNetzwerke
16
HEINZ NIXDORF INSTITUT
Bälle und Körbe
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Lemma
Werden m= k n log n Bälle zufällig in n Körbe geworfen (für jedes k>0), gilt
Folgendes:
1. Für alle c>k ist die Wahrscheinlichkeit, dass mehr als c log n Bälle auf einen Korb
fallen ist höchstens O(n-c‘) für ein c‘>0.
2. Für alle c<k ist die Wahrscheinlichkeit, dass in einem Korb weniger als c log n Bälle
fallen, ist höchstens O(n-c‘) für ein c‘>0.
Beweis:
durch Chernoff-Schranke
Algorithmen für Peer-to-PeerNetzwerke
17
Exkurs Wahrscheinlichkeitstheorie
1. Der Weg nach Markov
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Erwartungswert einer diskreten Zufallsvariable
Daraus folgt sofort
Algorithmen für Peer-to-PeerNetzwerke
18
HEINZ NIXDORF INSTITUT
Markovs Ungleichung
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Daraus folgt
Stärkere Abschätzung: Chebyshev
wenn die Varianz bekannt ist:
Algorithmen für Peer-to-PeerNetzwerke
19
HEINZ NIXDORF INSTITUT
Chernoff-Schranke
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Bernoulli-Experiment
– Entweder 0 mit Wahrscheinlichkeit 1-p
– Oder 1 mit Wahrscheindlichkeit p
Algorithmen für Peer-to-PeerNetzwerke
20
HEINZ NIXDORF INSTITUT
Beweis der Chernoff-Schranke: 1. Teil
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Für t>0:
Wir wählen t und k wie folgt:
Algorithmen für Peer-to-PeerNetzwerke
21
Beweis der Chernoff-Schranke 1. Teil
Einfach einsetzen...
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Nun ist
Daraus folgt
Algorithmen für Peer-to-PeerNetzwerke
22
HEINZ NIXDORF INSTITUT
Beweis der Chernoff-Schranke 1. Teil
Was ist (1+c) ln (1+c) - Nachtrag
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Nun ist
Daraus folgt
Nun erhält man für (1+c) ln(1+c)
Nun setzt man für ein (1+c) ln(1+c) und erhält for c(0,1):
Algorithmen für Peer-to-PeerNetzwerke
23
HEINZ NIXDORF INSTITUT
Chernoff-Schranke 2.Teil
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Algorithmen für Peer-to-PeerNetzwerke
24
HEINZ NIXDORF INSTITUT
Beweis der Chernoff-Schranke: 2. Teil
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Für t<0:
Wir wählen t und k wie folgt:
Algorithmen für Peer-to-PeerNetzwerke
25
Beweis der Chernoff-Schranke 2. Teil
Einfach einsetzen...
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Nun ist
Daraus folgt
Algorithmen für Peer-to-PeerNetzwerke
26
Beweis der Chernoff-Schranke 2. Teil
Was ist (1-c) ln (1-c) - Nachtrag
Warum ist
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
?
Für c=0 sind beide Seiten gleich.
Die Ableitung der linken Seite ist ln(1-c); die der rechten ist -c
Nun ist
Daraus folgt
und insbesonder die gewünschte Ungleichung.
Algorithmen für Peer-to-PeerNetzwerke
27
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Vielen Dank
Ende der 4. Vorlesung
Nächste Vorlesung:
Fr. 21.05.2004
Nächste Übung:
5. Übung Mo. 24.05.2004
9-11 Uhr
10,12,16 Uhr (A,B,C)
Heinz Nixdorf Institut
& Institut für Informatik
Universität Paderborn
Fürstenallee 11
33102 Paderborn
Tel.: 0 52 51/60 66 92
Fax: 0 52 51/62 64 82
E-Mail: [email protected]
http://www.upb.de/cs/schindel.html
28
Herunterladen