Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Bruna Allaman Geändert vor über 11 Jahren
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 000 10 Server 001 10 Server 080 9 Server 512 10 Server 583 10 Server 591 10 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 = 5 0 6 7 15 16 22 j = 4 j = 3 j = 4 0 3 7 10 7 j = 4 j = 3 j = 4 0 3 7 10 7 j = 5 j = 4 j = 5 0 5 16 20 20 j = 4 0 15 15 j = 4 j = 3 j = 4 0 3 7 10 15 j = 4 j = 3 j = 4 0 4 7 11 20 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´´´ +1 - 2 i´ ) else if a´ then n´ a´ + 1 else if a´´´ then n´ a´´´ + 1 - 2 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*
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.