otto-von-guericke – universität magdeburg arbeitsgruppe data and knowledge engineering institut...
TRANSCRIPT
Otto-von-Guericke – Universität Magdeburg
Arbeitsgruppe Data and Knowledge EngineeringInstitut 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 MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 2Routing in verteilten skalierbaren Datenstrukturen
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
Otto-von-Guericke Universität MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 3Routing in verteilten skalierbaren Datenstrukturen
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.
Otto-von-Guericke Universität MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 4Routing in verteilten skalierbaren Datenstrukturen
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
13
4
5
3
112 2
98
0
10
7
6 11
Otto-von-Guericke Universität MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 5Routing in verteilten skalierbaren Datenstrukturen
Routing im CAN• Operationen: put(Key,Value), get(Key)
• Transformation der Anwendungs-schlüssel in CAN-Schlüssel:
(Schlüssel) → {k0,k
1,...,k
n}
"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
13
4
5
3
112 2
98
0
10
7
6 11
get(k)
Otto-von-Guericke Universität MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 6Routing in verteilten skalierbaren Datenstrukturen
Vorschlag 1: Kontaktdaten-Cache• zusätzlich zu den
Nachbarn weitere Knoten in der Kontaktliste halten
• veraltete / unvoll-ständige Infor-mationen möglich
• Informationsbe-schaffung ohne zusätzliche Messages
Otto-von-Guericke Universität MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 7Routing in verteilten skalierbaren Datenstrukturen
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
Otto-von-Guericke Universität MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 8Routing in verteilten skalierbaren Datenstrukturen
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
Otto-von-Guericke Universität MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 9Routing in verteilten skalierbaren Datenstrukturen
Experiment 1: Cache-Größe
bereits geringe Cache-Größe verringert Messages um 2/3
Otto-von-Guericke Universität MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 10Routing in verteilten skalierbaren Datenstrukturen
Vorschlag 2: Lokalitätserhaltende Schlüsselabbildung
• Eingriff bei der Abbildung von Anwendungsschlüsseln auf CAN-Schlüssel
• Klassisch: Gleichverteilung derSchlü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
Otto-von-Guericke Universität MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 11Routing in verteilten skalierbaren Datenstrukturen
Realisierung lokalitätserhaltender Schlüsselabbildung
• Beispiel: URLsSchlü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
Schlüsselraum des CAN:
Otto-von-Guericke Universität MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 12Routing in verteilten skalierbaren Datenstrukturen
Experiment 2: Schlüsselabbildung
Zahl der Messages konnte nahezu halbiert werden!
Gleichverteilung (Zufallsgenerator)Mittlere Anfragelokalität (Künstliche Websurfer)
Hohe Anfragelokalität (Webserver-Log)
Otto-von-Guericke Universität MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 13Routing in verteilten skalierbaren Datenstrukturen
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ß
Otto-von-Guericke Universität MagdeburgInstitut für Technische und Betriebliche Informationssysteme
Erik Buchmann Folie 14Routing in verteilten skalierbaren Datenstrukturen
Zusammenfassung und Ausblick• wir haben:
- ein prototypisches, flexibel anpassbares Content-Adressable 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 Anwendungs-
schlüssel steigert die Routing-Performanz weiter• zukünftige Vorhaben:
- Entwicklung von Anwendungen, Replikation, Lastausgleich