Vs5.5 1 5.5 Verteilte Hash-Tabellen (distributed hastables, DHT) am Beispiel von Chord (Stoica et al. 2001) Ziel:"Gutes" Verteilen von Informationen auf.

Slides:



Advertisements
Ähnliche Präsentationen
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Advertisements

PlanetenWachHundNetz Instrumenting Infrastructure for PlanetLab.
Lehrstuhl Informatik III: Datenbanksysteme Achim Landschoof 28. April 2009 Strukturierte P2P Systeme 1 Achim Landschoof Betreuerin: Dipl.-Inf. Jessica.
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Materialien zu Übung 9 Bälle in Körbe Ranged.
Algorithmen und Datenstrukturen Übungsmodul 11
Peer-to-Peer-Netzwerke
P2P Seminar Kademlia A Peer-to-peer Information System Based on the XOR Metric.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
5.1.2 Sequentielle Konsistenz
Vs Verteilte Transaktionen Situation:Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.B. verteilte Datenbank, verteiltes Dateisystem,...)
6.3 Verteilte Transaktionen
Vs Auswahlalgorithmen (election algorithms) dienen der Wahl eines Koordinators („Gruppenleiters“) einer Gruppe bei „halbverteilten“ Algorithmen.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 1 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Prüfungsanmeldung Die Prüfungsanmeldung erfolgt innerhalb der Anmeldefrist (in der Regel bis 3 Tage vor dem jeweiligen Prüfungstermin) online über links.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen) sowie viele Tutoren.
Von der Bedarfszuweisung zur Schlüsselzuweisung Die neue Finanzbeziehung zwischen Bistum und Kirchengemeinden.
Tutorium Software-Engineering SS14 Florian Manghofer.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen) sowie viele Tutoren.
Erzeugung von hoch skalierbaren virtuellen Welten Seminar Algorithmen zur Unterstützung von Immersive Gaming Philip Mildner, 8. Oktober 2008.
Anomalien und Normalformen. Was ist ein gutes Datenbankschema?
Einrichtung eines Schulnetzwerkes unter Linux Besondere Lernleistung von Henrik Friedrichsen.
Verteilte Systeme Sommersemester 2007 Karsten Otto.
Manuel Abbt Drahtlose Sensornetze Einführung und Szenarien Proseminar Technische Informatik SS 2007 Betreuer: Jürgen Sommer.
Microsoft Azure Die Cloud-Plattform für moderne Unternehmen ModernBiz 1 Kleine und mittlere Unternehmen (KMU) wünschen sich die Möglichkeit und Flexibilität,
Prüfungen des Goethe-Instituts Was müssen Sie wissen?
. BQ.
Aufgabe 1: Begriffswelt
Wärmetechnische Anlagen
Anforderungen an die neue Datenstruktur
Flucht- und Rettungswege
6.3 Verteilte Transaktionen
Kooperationsvertrag GSI / TU Darmstadt Analyse von HF-Regelkreisen mit Strahlwechselwirkung Longitudinale Strahlphasenregelung für Dual Harmonic Ziel:
Eine Näherungslösung für das Problem des Handlungsreisenden
Workshop: -Verschlüsselung
Musterlösung zur Klausur "Diskrete Mathematik" vom
Das Problem des Handlungsreisenden
Logisches Datenmodell
Algorithmen für Geographische Informationssysteme
Symmetrische Verschlüsselung
Leistungsbewertung beim kooperativen Lernen
Technische Informatik II
So gelingt der digitale Wandel in einem Landwirtschaftsbetrieb
ADS – Vorlesung Prof. Dr. Wolfram Conen
Herzlich Willkommen Präsentation für das Angebot «einfache Verlinkung»
Routing … … die Suche nach dem Weg..
EFI Wissensaustausch-Portal
das Routing Information Protocol
Routing … … die Suche nach dem Weg..
Raphael Fischer Informatik II - Übung 07 Raphael Fischer
Raphael Fischer Informatik II - Übung 03 Raphael Fischer
Wachstumsprozesse Natürliches Wachstum Größenbeschränktes Wachstum
ITWO Antrag in iMAN DB Netz AG | Nadine Krawietz | I.NFP (23) | Berlin |
Kap. 12 R-Bäume GB B31 B245 Box 1: Box 2: Box 3: Box 4: Box 5:
Programmierung eines Computers (Funktionsweise)
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Algorithmen und Datenstrukturen
Spanning Tree Protocol
Lehrveranstaltungsbearbeitung und Raumzuweisungen ab WiSe 2017
Abschlussvortrag Diplomarbeit Daniel Weber
Remote Method Invocation
TCP/IP Transmission Control Protocol/Internet Protocol
Das Buchstaben-Projekt ist zu Ende. Wochenrückblick vom bis 16
DB2 – SS 2019 von Baum allgemein bis B*-Baum
Algorithmen und Datenstrukturen
Wieviel Energie steckt in der Blockchain
Die Geschichte von Peter …
DB2 – SS 2019 von Baum allgemein bis B*-Baum
Evangelische Schule Steglitz
Nachbilder „Phantombilder“.
 Präsentation transkript:

vs Verteilte Hash-Tabellen (distributed hastables, DHT) am Beispiel von Chord (Stoica et al. 2001) Ziel:"Gutes" Verteilen von Informationen auf mehrere Stationen, bzw. Auffinden einer zuständigen Station Idee:Verteilung / Auffindung mittels Hashing, mit Information als Schlüssel und Station als Bucket - verteilt, alle Stationen sind am Hashing beteiligt, keine muss gesammte Hashtabelle kennen - nichtsequentiell, nebenläufige Anfragen möglich Problem:Ausfallende bzw. neu hinzukommende Stationen Vor.:zuverlässige Unicast-Kommunikation, nicht zerfallendes Netz mit Duplex-Verbindungen

vs5.5 2 Zur Erinnerung: Größenänderung einer Hashtabelle - läßt alle Einträge ungültig werden, - erfordert Re-hashing zur Korrektur. Unzuverlässige Stationen (= Buckets), Situation tritt häufig ein! Re-hashig wegen netzweiter Verteilung nicht vertretbar. Grundidee: Konsistentes Hashing mit den Eigenschaften - möglichst gleichmäßige Verteilung von Schlüsseln auf Buckets - minimale Neuzuordung von Schlüsseln bei Größenänderung - u.a. [siehe "Consistent hashing and random trees [...]", Karger et al. 1997]

vs5.5 3 Konsistentes Hashing bei Chord: ● Erzeuge für jede Station sowie jede Information einen Identifikator = Integer mit m Bits, mittels eines Basis-Hash (SHA-1) Station: ID node ist SHA-1 über IP-Adresse der Station Information:ID key ist SHA-1 über den Inhalt der Information Basis-Hash bewirkt gleichmäßige Verteilung im ID-Raum. ● Sortiere node sowie key aufsteigend modulo 2 m als Ring ● Weise jeden key einer Station node zu mit node = successor(key) ● successor(key) ist die ersten Stations-ID im Ring, die der Informations-ID key gleicht oder auf diese folgt. Dienst: finde successor(x) im Ring, für beliebige Werte x

vs5.5 4 Beispiel: Ring mit m=6, 10 Stationen Nx und 5 Schlüsseln Ky N1N1 N8N8 N1 4 N2 1 N3 2 N3 8 N4 2 N4 8 N5 1 N5 6 K10 K24 K30 K38 K54

vs5.5 5 N2 1 N3 2 K30 K24 N2 1 N3 2 K30 K24 N26 (neu ) N2 1 N3 2 K30 K24 N2 6 K24 Neuzuordnun g Neue Station n : - finde Nachfolger n' = successor(n) - übernehme Zuständigkeit von n' für Schlüssel k mit successor(k) = n analog für ausfallende Station. Alle anderen Zuordnungen bleiben erhalten !

vs5.5 6 N1N1 N8N8 N1 4 N2 1 N3 2 N3 8 N4 2 N4 8 N5 1 N5 6 K54 Einfachste verteilte Implementierung: Jede Station kennt ihren Nachfolger (sowie Vorgänger) und leitet Anfragen ggf. weiter. Aufwand: Speicher O(1) pro Station, aber Kommunikation O(n) lookup(K54)

vs5.5 7 Stabilisierung des Rings bei Hinzukommen einer Station:  Neue Station n fragt beliebige Station nach successor(n), merkt sich diesen als Nachfolger  Alle Stationen geben sich regelmäßig ihrem Nachfolger als Vorgänger bekannt  Alle Stationen fragen regelmäßig ihren Nachfolger nach dessen Vorgänger und setzten diesen ggf. als eigenen Nachfolger N2 1 N3 2 N2 1 N3 2 N26  bei N26 N3 2 N26  bei N21 N2 1 N3 2 N26  bei N21 N26 (neu )  bei N26

vs5.5 8 finger table N8+1 N14 N8+2 N14 N8+4 N14 N8+8 N21 N8+16 N32 N8+32 N42 N1N1 N8N8 N1 4 N2 1 N3 2 N3 8 N4 2 N4 8 N5 1 N5 6 Bessere Implementierung: Jede Station n kennt m Nachfolger finger[i] = successor(n+2 i-1 ). Abdeckung des hablen Rings, gute Kenntnis der direkten Nachbarschaft.

vs5.5 9 finger table N8+1 N14 N8+2 N14 N8+4 N14 N8+8 N21 N8+16 N32 N8+32 N42 finger table N42+1 N48 N42+2 N48 N42+4 N48 N42+8 N51 N42+16N1 N42+32 N14 finger table N51+1 N56 N51+2 N56 N51+4 N56 N51+8N1 N51+16N8 N51+32 N21 N1N1 N8N8 N1 4 N2 1 N3 2 N3 8 N4 2 N4 8 N5 1 N5 6 K54 Implementierung mit Finger-Tabelle: Jede Station leitet Anfrage x an den höchsten finger < x weiter. Aufwand: Speicher O(m) << O(2 m ) pro Station, Kommunikation O(log n) lookup(K54) N8+32 N42 N42+8 N51 N51+2 N56

vs Stabilisierung mit Finger-Tabelle: , ,  wie zuvor  Alle Stationen aktualisieren regelmässig ihre Finger-Tabelle, indem sie die jeweiligen successor(n+2 i-1 ) neu erfragen. [Detail siehe Stoica et al. 2001: "Chord: A scalable peer-to-peer lookup protocol for internet applications"] Chord betrachtet keine Lokalität im Netzwerk, d.h. Stationen mit numerisch aufeinanderfolgenden IDs können geographisch kreuz und quer verteilt sein. Alternative Verfahren beziehen die Lokalität in die Verteilung ein, z.B. Pastry (Rowston/Druschel 2001)