Ansatz aus dem DFG-Projekt (Simulationsergebnisse)

Transcription

Ansatz aus dem DFG-Projekt (Simulationsergebnisse)
Ansatz aus dem DFG-Projekt
(Simulationsergebnisse)
Inhaltsbasierte Suche in P2P-Netzen
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
0
Überblick
• Erinnerung/Motivation: Small Worlds
• Algorithmus:
– Suche
– Strukturbildung
– Weitere Ideen (nicht implementiert)
• Simulation:
–
–
–
–
Vereinfachende Annahmen
Initialisierung, Messgrößen
Untersuchte Graphen
Ergebnisse
• Fazit
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
1
Motivation (1)
•
Annahmen:
1. Anwender haben bestimmte Interessen und sammeln sich dazu
passende Dokumente
=> Peers haben Profile, welche aus ihren Dokumenten errechnet
werden können und ihre Interessen zusammenfassen
2. Die in Kleinbergs Modell eingeführten Gitterkoordinaten lassen
sich durch semantische Koordinaten ersetzen
•
Small World Struktur:
–
–
Kurze Wege
(Semantische) Cluster: muss nur Cluster finden, diesen dann
„abgrasen“
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
2
Motivation (2)
•
Kleinberg:
– Es reicht nicht, dass kurze Wege existieren, man muss sie auch finden!
•
Gewünschte semantische Netzwerktopologie:
– Direkt analog zu Kleinberg, nur dass Koordinaten durch Profilabstände D
ersetzt werden
– direkte Nachbarn von Peer P: Peers mit sehr ähnlichem Profil
– random shortcuts von P: Peers mit weniger ähnlichen bzw. unähnlichen
Profilen
– Fragen: Kleinberg sagt, dass es optimal ist, wenn random shortcuts mit Wkt.
D-2 gewählt werden
• Genaue Definition von D?
• wer sagt uns, daß sich D bezügl. Kleinbergs Sätzen genauso verhält wie die
Manhattan-Distanz?
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
3
Algorithmus: Voraussetzungen
•
Peers bestehen aus 3 Komponenten:
1.
2.
3.
Library: Menge von Dokumenten (im freigegebenen Verzeichnis)
Profil: kompakte Zusammenfassung der Library
Nachbarn: Adressen und Profile einiger anderer Peers
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
4
Algorithmus: Zwei Teile
•
Der Algorithmus hat zwei Komponenten:
1. Strukturbildung: Erstellung des Small-World-Netzwerkgraphen
mittels Gossiping
2. Soziale Suche: frage immer den Nachbarn, dessen Profil am besten
zur Anfrage paßt
•
Der Gossiping-Algorithmus für die Strukturbildung benutzt
die soziale Suche
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
5
Algorithmus: Soziale Suche (1)
• Idee der sozialen Suche analog zu Milgram:
– Wenn ich eine Anfrage Q habe, wende ich mich an den Peer N unter
meinen Bekannten, der Q am ehesten beantworten kann (d.h. dessen
Profil am besten zu Q paßt)
– N hängt alle Dokumente an Q an, die darauf passen
– Dann verfährt N wie ich vorher
– Das alles solange bis time-to-live (TTL) abgelaufen
– Kreisvermeidung: Nachricht hat Log mit Adressen der bisher
besuchten Peers (kein Backtracking)
• Unterschied zu Milgram:
– Es gibt nicht "die Zielperson", sondern eine gesuchte Information,
die an verschiedenen Stellen gespeichert sein kann (ist)
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
6
Algorithmus: Soziale Suche (2)
• Voraussetzung für soziale Suche:
– Profile: ermöglichen Vorhersage darüber, wer der „beste“ meiner
Nachbarn bezügl. Q ist
– Ähnlichkeits- oder Abstandsmaße zwischen Dokumenten, Profilen
und Anfragen
– Netzwerkgraph:
• Kurze Wege im Bekanntschaftsgraphen
• Organisation von Peers in Clustern semantischer Ähnlichkeit
=> Hill-Climbing: finde erst den richtigen Cluster für Q, dann
immer bessere Peers innerhalb des Clusters
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
7
Algorithmus: Strukturbildung (1)
Gossiping:
−
−
−
−
Jeder Peer stellt Anfragen nach seinem eigenen Profil
Anfragen werden per sozialer Suche verarbeitet
Peers tragen sich – mit ihrem Profil – in das Log der Nachricht ein
Peers untersuchen die Logs von erhaltenen Antworten (bzw.
beliebigen vorbeikommenden Anfragen) darauf, ob sie „bessere“
potentielle Nachbarn enthalten
− Da nur begrenzter Speicherplatz verfügbar, müssen alte Nachbarn
evtl. irgendwann durch neue (bessere) ersetzt werden
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
8
Algorithmus: Strukturbildung (2)
• Strategien :
– Cluster-Strategie: wähle solche Nachbarn, deren Profil meinem
möglichst ähnlich ist
– Intergroup-Strategie: wähle möglichst unähnliche Nachbarn
=> schafft Links zwischen Clustern (random shortcuts)
• Caching
– In Antworten enthaltene Dokumente können (als
Metainformationen) in die Library aufgenommen werden, wenn sie
gut zum Profil passen (vgl. Freenet)
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
9
Algorithmus: weitere Ideen
• Merken von besten Nachbarn auf vorangegangen Stationen
– Führe in Suchanfrage Q immer Profile von den k am besten zu Q
passenden Peers mit
– Auf jeder Station wird die Liste zunächst mit lokalen Nachbarn
erneuert
– Dann: wähle den besten aus dieser Liste
– Effekt: mehr „Globalität“ in Routing-Entscheidungen
• Egoistische Strategie:
– wähle Nachbarn, die in der Vergangenheit "gute" Antworten auf
Anfragen meines Benutzers geliefert haben
– was gut ist, bleibt noch festzulegen
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
10
Simulation: Vereinfachende Annahmen
• Alle Peers sind immer online (kein „Churn“)
• Unterschiedliche Bandbreite oder Verarbeitungskapazität
der Peers spielt keine Rolle
• Zunächst keine realen, sondern „künstliche“ Dokumentvektoren:
– Bestehen aus Keywords = Integers
– Jedes Keyword hat genau eine „Farbe“ = inhaltliche Kategorie
– Jedes Dokument lässt sich also auch durch einen „Farbvektor“
(=Menge der enthaltenen Kategorien) charakterisieren
• Strukturbildung und Suche laufen nacheinander ab
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
11
Simulation: Parameter
Parameter
Erklärung
Wert
n
Anzahl Peers
neighboursSize
maximale Anzahl Nachbarn eines Peers
clusterPercentage
Anteil von Nachbarn, die nach ClusterStrategie ausgewählt wurden
variiert
intergroupPercentage
Anteil von Nachbarn, die nach IntergroupStrategie ausgwählt wurden
variiert
TTL
maximale Anzahl Hops für Nachrichten
variiert
storageFactor
jeder Peer darf (storageFactor*initiale
Größe seiner Library) Dokumente bzw.
Metainformationen über Dokumente
speichern
variiert
numKeywords
Anzahl Keywords
numColors
Anzahl Farben
50
KWperDoc
Länge der Dokumentvektoren
10
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
8000
20
1000
12
Initialisierung: Kontakte
• Jeder Peer erhält zu Anfang 3 zufällig gewählte Adressen
von anderen Peers
• Der von uns generierte initiale Graph ist nicht stark
zusammenhängend:
– 445 starke Komponenten
– größte Komponente: 7556 Knoten
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
13
Initialisierung: Dokumente/Profile
•
Dokumente lassen sich – über Farben der in ihnen enthaltenen
Stichwörter – kategorisieren.
– Annahme: Anzahl Farben pro Dokument ist nach Zipf verteilt
•
•
Peers erhalten (erkennbare) Interessenprofile, d.h. decken 1 bis 3
Kategorien ab
Peers ziehen Dokumente, so dass:
– Diese zu ihren Interessenprofilen passen
– Die Anzahl Dokumente pro Peer nach Power-Law (Zipf) verteilt ist
(Annahme über P2P-Systeme, deckt sich aber mit Messungen!)
•
Profile = Summe aller Farbvektoren in der Library eines Peers
– Die Vektoren der Dokumente sind (summen-)normiert, das Profil nicht
– Ähnlichkeit zwischen (beliebigen) Vektoren: einfaches Skalarprodukt
– Effekt: “Preferential Attachment” zu Peers mit großen Libraries
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
14
Simulation: Durchführung
• Implementierung in OMNeT++:
– Discrete Event Simulation:
• Abarbeitung von Peer-Aktionen in einer Schleife: Nachrichten werden
in ein Future Event Set (FES) eingeordnet
• In einem Zeitschritt bearbeitet jede Einheit (Peer) alle für ihn im FES
enthaltenen Nachrichten und steckt diese anschließend neu adressiert
wieder ins FES, wo sie der Empfänger im nächsten Zeitschritt abholt.
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
15
Simulation: Messgrößen
1.
Grapheigenschaften:
–
–
–
–
2.
Clusterkoeffizient
Zusammenhang: Anzahl/Größe starker Komponenten
Durchschnittliche (kürzeste) Weglängen, berechnet jeweils für 10.000
zufällig gewählte Knotenpaare
Eingangsgrade
Recall: jeder von 100 zufällig gewählten Peers sucht einmal nach allen
50 Farben
–
Recall =
DFG-Projekt
# von den Peers gefundeneDokumente
# im zentralen Index gefundeneDokumente
Inhaltsbasierte Suche in P2P-Netzen
16
Simulation: Untersuchte Graphen
• Zufallsgraph:
– Jeder Peer hat Dokumente (und damit Profil) wie unten
– Jeder Peer hat 20 zufällige Kontakte
• Strukturierte Graphen:
–
–
–
–
Graph 1: storageFactor = 1, clusterPercentage = 1
Graph 2: storageFactor = 1, clusterPercentage = 0.7
Graph 3: storageFactor = 5, clusterPercentage = 0.7
Bei allen dreien: Initialisierung wie eben beschrieben
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
17
Strukturbildung: CK/Zusammenhang
Graph
CK
Anzahl starke
Komponenten
größte
Komponente
0,0024
1
8000
Graph 1
0,56
6829
1168
Graph 2
0,34
135
7865
Graph 3
0,31
135
7865
Zufallsgraph
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
18
CK als Fkt. Der Zeit (Graph 3)
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
19
Weglängen: Zufallsgraph
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
20
Weglängen: Graph 1
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
21
Weglängen: Graph 2
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
22
Weglängen: Graph 3
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
23
Eingangsgrade (2)
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
24
Eingangsgrade (3)
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
25
Recall: Zufallsgraph (TTL=25)
• Durchschnitt über alle 100 Peers: R = 11,4%
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
26
Recall: Graph 1 (TTL=25)
• Durchschnitt: R = 44,6%
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
27
Recall: Graph 2 (TTL=25)
•
Durchschnitt: R = 47,9%
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
28
Recall: Graph 3 (TTL=25)
•
Durchschnitt: R = 75,2%
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
29
Recall als Funktion der TTL
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
30
Fazit
• Erkenntnisse:
– Small World Strukturen (CK, Weglängen) bilden sich tatsächlich
– Power-Law für Eingangsgrade
• Indegree korreliert lose mit Größe der Library, d.h. ein Peer mit vielen
Dokumenten wird als Nachbar bevorzugt
– Strukturbildung bringt wesentlich besseren Recall als Suche im
Zufallsgraphen
– Ab 10 Hops wird nicht mehr viel Neues gefunden
– Fehlen von random shortcuts läßt Graphen zerfallen, aber: Recall
leidet nur unwesentlich (erstaunlich!)
• Vermuteter Grund: auch isolierte Peers haben Zugang zu den „großen“
Peers mit vielen Dokumenten, unerreichbare Peers bieten „nichts
Wichtiges“ an
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
31
Ausblick
• Reale Daten (Dokumente)
– Profilbildung?
– Kürzung von Profilen (=> wie trotzdem Recall hochhalten?)
• Churn: An- und Abmeldung von Peers berücksichtigen,
Netz wachsen lassen
• Skalierbarkeit: Experimente mit anderen Netzgrößen
• Neue Strategien: Implementieren und ausprobieren
DFG-Projekt
Inhaltsbasierte Suche in P2P-Netzen
32