DHT - Universität Paderborn

Werbung
HEINZ NIXDORF INS TITUT
Universität Paderborn
Algorithmen und Komplexität
Algorithmen für
Peer-to-Peer-Netzwerke
Sommersemester 2004
17.05.2004
4. Vorlesung
Christian Schindelhauer
1
Kapitel I
HEINZ NIXDORF INS TITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Algorithmen für Peer-to-PeerNetzw erke
2
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
3
HEINZ NIXDORF INS TITUT
Kapitel III
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
CHORD
Algorithmen für Peer-to-PeerNetzw erke
4
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
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
5
Einfügen in die Distributed Hash-Table (DHT)
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
6
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
7
HEINZ NIXDORF INS TITUT
Peer-to-peer Netzwerke
 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
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Knoten
erscheint
Internet
Knoten
verschwindet
Algorithmen für Peer-to-PeerNetzw erke
8
Chord
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
9
HEINZ NIXDORF INS TITUT
Chord als DHT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
rV( b) = b+1 mod 8
 n: Knotenanzahl, Knotenmenge V
5
 k: Anzahl Schlüssel, Schlüsselmenge
K
6
 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))
5
7
3
rK( i) = 3i-2 mod 8
4
2
2
6
Index
3
0
2
1
0
Algorithmen für Peer-to-PeerNetzw erke
10
HEINZ NIXDORF INS TITUT
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
successor
5
6
finger[0]
5
7
finger[1]
0
finger[2]
4
2
3
2
1
0
Algorithmen für Peer-to-PeerNetzw erke
11
HEINZ NIXDORF INS TITUT
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‘)|
–
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]
c
x
sy
Algorithmen für Peer-to-PeerNetzw erke
12
Balance in Chord
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
13
Eigenschaften der Datenstruktur
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
14
Beweise?
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
15
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
16
Bälle und Körbe
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
17
Exkurs Wahrscheinlichkeitstheorie
1. Der Weg nach Markov
HEINZ NIXDORF INS TITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Erwartungswert einer diskreten Zufallsvariable
Daraus folgt sofort
Algorithmen für Peer-to-PeerNetzw erke
18
Markovs Ungleichung
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
19
Chernoff-Schranke
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
20
Beweis der Chernoff-Schranke: 1. Teil
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
21
Beweis der Chernoff-Schranke 1. Teil
Einfach einsetzen...
HEINZ NIXDORF INS TITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Nun ist
Daraus folgt
Algorithmen für Peer-to-PeerNetzw erke
22
Beweis der Chernoff-Schranke 1. Teil
Was ist (1+c) ln (1+c) - Nachtrag
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
23
Chernoff-Schranke 2.Teil
HEINZ NIXDORF INS TITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Algorithmen für Peer-to-PeerNetzw erke
24
Beweis der Chernoff-Schranke: 2. Teil
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
25
Beweis der Chernoff-Schranke 2. Teil
Einfach einsetzen...
HEINZ NIXDORF INS TITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Nun ist
Daraus folgt
Algorithmen für Peer-to-PeerNetzw erke
26
Beweis der Chernoff-Schranke 2. Teil
Was ist (1-c) ln (1-c) - Nachtrag
Warum ist
HEINZ NIXDORF INS TITUT
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-PeerNetzw erke
27
HEINZ NIXDORF INS TITUT
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