Transcript Folien

Otto-von-Guericke – Universität Magdeburg
Arbeitsgruppe Data and Knowledge Engineering
Institut für Technische und Betriebliche Informationssysteme
Effizientes Routing in verteilten
skalierbaren Datenstrukturen
Leipzig, 27.02.2003
Erik Buchmann, Klemens Böhm
{buchmann|kboehm}@iti.cs.uni-magdeburg.de
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Merkmale von
Peer-to-Peer Systemen
• alle Knoten gleichberechtigt,
keine Trennung Client - Server
• dynamisch skalierbar
auf sehr viele, unabhängige Rechner
• jeder neue Teilnehmer bringt
neue Ressourcen ein
• wirtschaftlicher Betrieb, keine
Rechenleistung auf Vorrat
Erik Buchmann
Routing in verteilten skalierbaren Datenstrukturen
Folie 2
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Peer-to-Peer Datenstrukturen
• Zahlreiche Anwendungen, z.B.:
- Index- oder Speicherstruktur bei DBMS
- Object Lookup in sehr großen Datenbeständen / sehr
vielen Rechnern
- Auslieferung von Webseiten
• Operationen:
- put(Key,Value), get(Key)
• Selbstorganisation, selbständige Entscheidungen
über Replikation, Lastausgleich, Datenverteilung
• Varianten:
- CAN, Chord, Pastry, P-Grid etc.
Erik Buchmann
Routing in verteilten skalierbaren Datenstrukturen
Folie 3
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Content-Adressable Networks
• Jeder Knoten
- hat eigenen,
n-dimensionalen
Schlüsselbereich
(Torus)
- kennt alle
Nachbarn seines
Schlüsselbereichs
- leitet Messages an
Nachbarn in
Richtung des Ziels
weiter
Erik Buchmann
10
6
0
11
7
4
8
9
1
5
13
3
12
Routing in verteilten skalierbaren Datenstrukturen
2
Folie 4
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Routing im CAN
10
6
0
• Operationen:
put(Key,Value), get(Key)
4
get(k)
1
5
11
7
8
9
13
3
12
2
• Transformation der Anwendungsschlüssel in CAN-Schlüssel:
(Schlüssel) → {k0,k1,...,kn}
"www.erikbuchmann.de" → {81256,12445}
• Nachrichten an den Knoten weitergeben,
dessen Schlüsselraum den geringsten
Abstand zum Zielpunkt aufweist
• Kritische Größe: Message Hops pro Operation
Erik Buchmann
Routing in verteilten skalierbaren Datenstrukturen
Folie 5
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Vorschlag 1: Kontaktdaten-Cache
• zusätzlich zu den
Nachbarn weitere
Knoten in der
Kontaktliste halten
• veraltete / unvollständige Informationen möglich
• Informationsbeschaffung ohne
zusätzliche
Messages
Erik Buchmann
Routing in verteilten skalierbaren Datenstrukturen
Folie 6
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Fragen im Zusammenhang mit
dem Kontaktdaten-Cache
• Wahl der richtigen Größe des Cache
- zu klein: ineffektiv
- zu groß: veraltete Einträge, hoher
Ressourcenverbrauch
• Wahl der optimalen Ersetzungsstrategie
- wenig veraltete Einträge, kurze Wege zu häufig
nachgefragten Datenobjekten
• Nutzen bei realen Daten
- unser Szenario: Einsatz bei einem Web-Service
Erik Buchmann
Routing in verteilten skalierbaren Datenstrukturen
Folie 7
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Durchführung der Experimente
• Simulationsumgebung
- PC-Cluster aus 32 Rechnern 2GHz-P4, 2 GB
RAM, 100 MBit-Ethernet
• CAN-Prototyp
-
100.000 Knoten
1.000.000 Abfragen
2D-Schlüsselraum
Experimente sowohl
mit künstlich generierten
als auch mit echten
Testdaten
Erik Buchmann
Routing in verteilten skalierbaren Datenstrukturen
Folie 8
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Experiment 1: Cache-Größe
bereits geringe Cache-Größe verringert Messages um 2/3
Erik Buchmann
Routing in verteilten skalierbaren Datenstrukturen
Folie 9
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Vorschlag 2: Lokalitätserhaltende
Schlüsselabbildung
• Eingriff bei der Abbildung von
Anwendungsschlüsseln auf CAN-Schlüssel
• Klassisch: Gleichverteilung der
Schlüsselwerte
- z.B. Hash-Funktion
- soll gleichmäßige Auslastung sicherstellen
- keine Berücksichtigung der Abfragelokalität
• Lokalitätserhaltende Schlüsselabbildung
- Abruf benachbarter Objekte zu konstanten
Kosten
Erik Buchmann
Routing in verteilten skalierbaren Datenstrukturen
Folie 10
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Realisierung lokalitätserhaltender
Schlüsselabbildung
• Beispiel: URLs
Schlüsselraum des CAN:
Erik Buchmann
Schlüsselwerte:
/iti_dke/
/iti_dke/lehre/
/iti_dke/lehre/ecommerce.html
/~buchmann/index.htm
/~buchmann/styles.css
/~buchmann/back.jpg
/~buchmann/empty.gif
/~buchmann/logo.jpg
/~buchmann/progrs.htm
/~buchmann/arrowleft.gif
/~buchmann/main.gif
/~buchmann/arrowright.gif
Routing in verteilten skalierbaren Datenstrukturen
Folie 11
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Experiment 2: Schlüsselabbildung
Gleichverteilung (Zufallsgenerator)
Mittlere Anfragelokalität (Künstliche Websurfer)
Hohe Anfragelokalität (Webserver-Log)
Zahl der Messages konnte nahezu halbiert werden!
Erik Buchmann
Routing in verteilten skalierbaren Datenstrukturen
Folie 12
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Vorschlag 3: Caching-Strategie
• Optimierung des Kontaktdaten-Cache durch
Wahl einer Verdrängungsstrategie
• Experimente: Random, LRU, LRD, LFU, ISD
• ISD: Inverse Square Distribution
- für P2P-Datenstrukturen entwickelt
- Wahrscheinlichkeit für ein Node im Cache
umgekehrt proportional zum Quadrat der
überbrückten Distanz
• Aber: Ersetzungsstrategie hat keinen großen
Einfluß
Erik Buchmann
Routing in verteilten skalierbaren Datenstrukturen
Folie 13
Otto-von-Guericke Universität Magdeburg
Institut für Technische und Betriebliche Informationssysteme
Zusammenfassung und Ausblick
• wir haben:
- ein prototypisches, flexibel anpassbares ContentAdressable Network
- einen Cluster, auf dem auch 500.000 parallel arbeitende
Peers möglich sind
- erste Anwendungen und realistische Testszenarien
• erste Erfolge:
- winziger Cache für Kontaktdaten beschleunigt Routing
- die lokalitätserhaltende Abbildung der Anwendungsschlüssel steigert die Routing-Performanz weiter
• zukünftige Vorhaben:
- Entwicklung von Anwendungen, Replikation, Lastausgleich
Erik Buchmann
Routing in verteilten skalierbaren Datenstrukturen
Folie 14