Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Verteilte Informationssysteme LH* A Scalable, Distributed Data Structure."—  Präsentation transkript:

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

2 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*

3 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

4 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*

5 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

6 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 *

7 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

8 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.

9 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.

10 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

11 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

12 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

13 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

14 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.

15 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

16 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

17 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

18 Seminar Verteilte Informationssysteme Simulationsresultate

19 Seminar Verteilte Informationssysteme Performance von LH*

20 Seminar Verteilte Informationssysteme Performance von LH*

21 Seminar Verteilte Informationssysteme Performance von LH*

22 Seminar Verteilte Informationssysteme Performance von LH*


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

Ähnliche Präsentationen


Google-Anzeigen