Seminar Verteilte Informationssysteme LH* A Scalable, Distributed Data Structure.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Algorithmentheorie 08 – Dynamische Programmierung (1)
Algorithmentheorie 08 – Dynamische Programmierung (4) Editierdistanz Approximative Zeichenkettensuche Sequence Alignment Prof. Dr. Th. Ottmann WS
Eine dynamische Menge, die diese Operationen unterstützt,
Eine dynamische Menge, die diese Operationen unterstützt,
Vorlesung Programmieren II
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Christian Schindelhauer
Prof. Dr. T. Kudraß1 Hash-Verfahren. Prof. Dr. T. Kudraß2 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
Kapitel 6: Klassifizierung von Sortiertechniken
Suche in Texten (Stringsuche )
Kapitel 6. Suchverfahren
Kapitel 3: Listen Lineare Liste: endliche Folge von Elementen eines Grundtyps (n>=0), leere Liste falls n=0 Listenelemente besitzen.
10. Grundlagen imperativer Programmiersprachen
5. Sortier-Algorithmen Vorbemerkungen:
Objektorientierter Entwurf
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
Übung 6.1Turing-Maschine 1.Machen Sie sich mit der Funktionsweise des Busy Beaver-Programms vertraut Vollziehen sie die 11 Schritte der ersten Turing-Tabelle.
Algorithmentheorie 04 –Hashing
Suche in Texten: Suffix-Bäume
Algorithmentheorie 6 – Greedy-Verfahren
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Halbzeit: Kurze Wiederholung
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Algorithmentheorie 03 – Randomisierung (Closest Pair)
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (15 Hashverfahren: Verkettung der Überläufer) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 – Dynamische Tabellen) Prof. Th. Ottmann.
Union-Find-Strukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Routingverfahren in Content Delivery Networks
DVG Ablaufsteuerung
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Algorithmus zur Zerlegung in 3NF (1)
Effiziente Algorithmen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Christian Scheideler Institut für Informatik Universität Paderborn
Zustandsübergangsdiagramme (1)
© 2001 Matthias Bossardt 1 Routing. © 2001 Matthias Bossardt 2 Dienstmodell Findet den günstigsten Pfad um ein Datenpaket vom Sender zum Empfänger zu.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Algorithmen und Datenstrukturen
 Präsentation transkript:

Seminar Verteilte Informationssysteme LH* A Scalable, Distributed Data Structure

Seminar Verteilte Informationssysteme Motivation Kontext: - mehrere Clients teilen sich das File F - F ist auf mehreren Seiten gespeichertKontext: - mehrere Clients teilen sich das File F - F ist auf mehreren Seiten gespeichert Forderungen an die Datenstruktur: + Expansion erst nach Auslastung bestehender server + Adressberechnung nicht über master site + kein atomares Update bei Filezugriffen und Elementaroperationen für verschiedene ClientsForderungen an die Datenstruktur: + Expansion erst nach Auslastung bestehender server + Adressberechnung nicht über master site + kein atomares Update bei Filezugriffen und Elementaroperationen für verschiedene Clients Skalierbare, verteilte Datenstruktur mit dem zugehörigen Algorithmus LH*

Seminar Verteilte Informationssysteme Lineares Hashing Hashfktn h i ( C) C mod N* 2 iHashfktn h i ( C) C mod N* 2 i Expansion des Files durch Bucket-SplitingExpansion des Files durch Bucket-Spliting Zuordnung der Splits durch Zeiger nZuordnung der Splits durch Zeiger n Adressierung mit folgendem AlgorithmusAdressierung mit folgendem Algorithmus a h i (C) if a < n then a h i+1 ( C) SplitkontrolleSplitkontrolle File-Verkleinerung durch VerschmelzenFile-Verkleinerung durch Verschmelzen

Seminar Verteilte Informationssysteme Buckets auf verschiedenen ServernBuckets auf verschiedenen Servern Bucket-Level i´ im Kopf gespeichertBucket-Level i´ im Kopf gespeichert LH*-File expandiert wie LH-FileLH*-File expandiert wie LH-File 3 Prinzipien der Adress-Berechnung3 Prinzipien der Adress-Berechnung Überblick LH*

Seminar Verteilte Informationssysteme Prinzipien der Adressberechnung 1. Client-Adress-Berechnung lokale Parameter n´ und i´lokale Parameter n´ und i´ Manipulation der Parameter nur durch clientManipulation der Parameter nur durch client2.Prinzip Adresskalkulation durch jeden ServerAdresskalkulation durch jeden Server SchlüsselweiterleitungSchlüsselweiterleitung 3. Prinzip Sicht-Berichtigungsmeldung (IAM) bei FehladressierungSicht-Berichtigungsmeldung (IAM) bei Fehladressierung client erhält die Möglichkeit seine Parameter zu korrigierenclient erhält die Möglichkeit seine Parameter zu korrigieren

Seminar Verteilte Informationssysteme Client 1 n` = 5 i`= 6 Client 2 n` = 0 i`= 2 Client m n` = 31 i`= 9 Server Server Server Server Server Server n = 80 Prinzip von LH *

Seminar Verteilte Informationssysteme Client-Adress-Berechnung a´ sei die Resultatadresse a´ h i (C) if a´ < n´ then a´ h i+1 ( C) j = 5 j = 4 j = j = 4 j = 3 j = j = 4 j = 3 j = j = 5 j = 4 j = j = j = 4 j = 3 j = j = 4 j = 3 j = n = 7, i = 4 n` = 3, i` = 3 n` = 4, i` = 3 n` = 5, i` = 4 n` = 0, i` = 4

Seminar Verteilte Informationssysteme Server-Adress-Kalkulation a´ h j (C); if a´ a then a´´ h j-1 ( C) if a´ > a and a´´ a and a´´ < a´ then a´ a´´Proposition Der Algorithmus findet die Adresse für jeden Schlüssel C, der mit (A1´) gesendet wurde. C wird höchstens zweifach weitergeleitet.

Seminar Verteilte Informationssysteme Proposition Beweis Bucket a erhält C vom Client. Falls a = a´ = h j (C) gibt es keine Weiterleitung. Sonst betrachte a´´ = h j-1 (C) dann gilt (1) n a 2 i oder (2) a < n oder a 2 i. Für den Fall (1) haben wir j = i Es kann vorkommen, daß a´´ a, dann findet Weiterleitung zu a´´ statt. Für a´´ a haben wir i´ a, das Level j(a´´) ist j = i und a´´= h j(a´´)-1 (C). Dann gilt entweder a´´ = a´ = h i ( C) oder a´´= a. Im ersten Fall ist a´´ die Adresse für C, andernfalls Weiterleitung zu a´. Dann j(a´) = i und a´ ist die Adresse von C. Man hat im Fall (1) zwei Weiterleitungen. Betrachte nun (2): j = i + 1 und a´´ = a, Gilt a´´ > a wird C zu Bucket a´´ weitergeleitet. Dann hat man j(a´´) = i oder j(a´´) = i + 1. Im letzteren Fall h j(a´´) = a´´ und somit ist a´´ Adresse für C, sonst a´´ = h j(a´´)-1 ( C). Es kann nun gelten a´ = a´´, a ´ 2 i, dann j(a´) = i + 1 und a´ Adresse für C. Auch im Fall (2) gibt es zwei Weiterleitungen.

Seminar Verteilte Informationssysteme Client-Image-Adjustment Infolge von Adressierungsfehlern kommt es zur IAM vom Server, der das Level j des Buckets beinhaltet, an das C gesandt wurde. Korrektur von n´ und i´ durch: i´ j-1, n´ a+1 if n´ 2 i´ then n´ 0 i´ i+1;A3

Seminar Verteilte Informationssysteme Splitting Unkontrolliertes Splitting Splitkoordinator erhält Meldung über Kollision, meldet die zu splittende Seite zurück und setzt nUnkontrolliertes Splitting Splitkoordinator erhält Meldung über Kollision, meldet die zu splittende Seite zurück und setzt n n+1 if n 2 i then n 0, i i+1 A4 Kontrolliertes Splitting -Kollisionsmeldung beinhaltet Anzahl der Bucketobjekte -Überschreitung der Belegungsobergrenze führt zum SplitKontrolliertes Splitting -Kollisionsmeldung beinhaltet Anzahl der Bucketobjekte -Überschreitung der Belegungsobergrenze führt zum Split

Seminar Verteilte Informationssysteme Belegungs-Kontroll-Strategie für LH*..Bucket s sendet Kollisionsmeldung zu SC, die x beinhaltet..SC setzt d = x / b und eventuell d d 2 falls s < n oder s 2 i..SC berechnet den Belegungsfaktor ´ (2 i d ) / (2 i + n) Für ´ > t veranlaßt SC das Bucket zu einem Split A5

Seminar Verteilte Informationssysteme Allokation neuer Seiten Bucketadressen a sind logische Adressen, die den aktuellen Adressen zugeordnet werden müssen. Zwei Basismöglichkeiten: Menge der Seiten in statischer Tabelle d.h. s = T(a) oder mit Randomisierung S(a) = T(h(F+a))Menge der Seiten in statischer Tabelle d.h. s = T(a) oder mit Randomisierung S(a) = T(h(F+a)) Menge der Seiten für jedes File in dynamischer TabelleMenge der Seiten für jedes File in dynamischer Tabelle

Seminar Verteilte Informationssysteme Parallele Anfragen Hauptvorteil von LH* gegenüber LH Zwei Basismöglichkeiten: Ausbringen einer Nachricht - Broadcast (multicast) Meldungen auf die SeitenAusbringen einer Nachricht - Broadcast (multicast) Meldungen auf die Seiten Sendung einer Sammlung von Point-to-point Messages zu dem Zielbucket Bearbeitung und Weiterleitung mit folg. AlgorithmusSendung einer Sammlung von Point-to-point Messages zu dem Zielbucket Bearbeitung und Weiterleitung mit folg. Algorithmus while j´ < j do: j´ j´ + 1 forward (Q, j´) to Bucket a + 2 j´-1 A6 endwhile.

Seminar Verteilte Informationssysteme Paralleler-Sichtanpassungsalgorithmus j´ sei nun das maximale j. a´ sei die maximale Bucketadresse, so daß a < 2 j´-1 a´´´ sei die maximale Adresse mit a´´´ 2 j´-1, 1. i´ j´-1 2. if both a´ and a´´´ then n´ max (a´ + 1, a´´´ i´ ) else if a´ then n´ a´ + 1 else if a´´´ then n´ a´´´ i´ 3. if n´ 2 i´ then n´ 0; i´ i´ + 1 A7

Seminar Verteilte Informationssysteme Performance von LH* Basismaß für die Zugriffsperformance: Anzahl der Meldungen Aufwand für Zufallssuche:2 Meldungen mit master directory:3 Meldungen worst case:4 MeldungenAufwand für Zufallssuche:2 Meldungen mit master directory:3 Meldungen worst case:4 Meldungen Aufwand für Einfügeoperation: best case:1 Meldung worst case:3 Meldungen average case:2 MeldungenAufwand für Einfügeoperation: best case:1 Meldung worst case:3 Meldungen average case:2 Meldungen Parallele Operationen: Broadcast: mit Tabelle:1 Meldung mit SC:2 Meldungen in 2 Runden ppm: M+1 Meldung in 2 Runden oder M Meldungen in 1 bis i-i´+2 RundenParallele Operationen: Broadcast: mit Tabelle:1 Meldung mit SC:2 Meldungen in 2 Runden ppm: M+1 Meldung in 2 Runden oder M Meldungen in 1 bis i-i´+2 Runden

Seminar Verteilte Informationssysteme Varianten von LH* LH* ohne Koordinator -Wert des Splitzeigers wird als Token weitergeleitet -kaskadierende SplitsLH* ohne Koordinator -Wert des Splitzeigers wird als Token weitergeleitet -kaskadierende Splits Konkurrierende Splits -Parallele Splits mit Hilfe eines zweiten Zeigers -PresplittingKonkurrierende Splits -Parallele Splits mit Hilfe eines zweiten Zeigers -Presplitting

Seminar Verteilte Informationssysteme Simulationsresultate

Seminar Verteilte Informationssysteme Performance von LH*

Seminar Verteilte Informationssysteme Performance von LH*

Seminar Verteilte Informationssysteme Performance von LH*

Seminar Verteilte Informationssysteme Performance von LH*