1 / 15

Vorgeschlagen von Gagan Agrawal und Pankaj Jalote

Kodierungsverfahren. Vorgeschlagen von Gagan Agrawal und Pankaj Jalote „Coding-Based Replication Schemes for Distributed Systems“ IEEE Transaction on Paralleland Distributed Systems, März 1995.

sasson
Download Presentation

Vorgeschlagen von Gagan Agrawal und Pankaj Jalote

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kodierungsverfahren • Vorgeschlagen von Gagan Agrawal und Pankaj Jalote • „Coding-Based Replication Schemes for Distributed Systems“ IEEE Transaction on Paralleland Distributed Systems, März 1995 • zusätzlich zur Synchronisation der Zugriffe auf replizierte Datenbestände auch Reduktion des Speicherplatzbedarfs • Kein Verzicht auf Verfügbarkeitsvorteile • Erhöhte Datensicherheit • nicht wie bei „Zeugen“ durch weglassen einer Dateikopie sondern durch verteilte Speicherung von Dateistücken

  2. |d| m Rechner 1 Größe M Stücken |d| m Rechner 2 Größe Datei Datei Rechner 3 N Stücke |d| m Größe d d Rechner 4 |d| m Größe |d| m Rechner 5 Größe N > M (Redundanz) N Möglichkeiten diejenigen M Rechner zu wählen von denen Rekonstruiert werden soll M Grundidee:

  3. Eine Datei F mit den Zeichen F= b1 …. bx wird in N Vektoren der Länge M unterteilt. Diese Vektoren werden als Matrix (n, m) geschrieben und mit einer Linear unabhängigen Transformationsmatrix (m,n) multipliziert (z.B.Vandermonde Matrix) . x = b1 … bm bm+1 …b2m a11 ... a1n am1 ... amn c11 … c1n cn1 … cnn Die Ergebnismatrix C besteht aus N Vectoren die als Dateistücke auf verschiedenen Computern abgelegt werden können. Codierung von M. O. Rabin aus seinem Artikel „Efficient dispersal of information for security, load balancing and fault-tolerance“ von 1987. Für die Rekonstruktion werden lediglich M dieser N Vectoren benötigt: Zunächst werden die Vectoren entsprechend ihrem auftreten in der Matrix C sortiert. Anschließend wird die Transformationsmatrix entsprechen der vorhandenen Dateistücke gekürzt und invertiert. Multipliziert man nun die invertierte Transformationsmatrix mit der Matrix C‘ erhält man die Ursprungsmatrix (die letztlich nur ein Abbild der Datei ist). B = C‘ x A‘

  4. d = DateiM = Anzahl der benötigten Stücke für RekonstruktionN = Anzahl der Stück in die unterteilt worden istBedingung: N > MDateigrösse: |d|/M Replikationsgrad: n Bedingung: (n  N) n-N = Anzahl der Replikationsstücke Anstelle von n vollen Dateikopien reduziert sich der Speicherbedarf um einen Faktor M. Höhere Verfügbarkeit aber verkomplizierter leicht den Synchronisationsalgorithmus Analog zum Votierungsverfahren hat jedes Dateistück eine Versionsnummer, Stimmgewicht und es gibt ein Lese- / Schreib- Quorum mit den Werten für gewichtetes Voten.

  5. M = Anzahl der benötigten Stücke für Rekonstruktionn = ReplikationsgradQUL = Grenzwert für LesenoperationQUS = Grenzwert für Schreibzugriff Quorumbegriff: • minimal hinreichendes Quorum: • gegenseitiger Ausschluss konkurrierender Zugriffe • sicherstellen das aktuelle Versionsnummer identifiziert werden kann • QULmh = max ( M, QUL) • QUsmh = max ( k, QUs) • mit k  M • k= Anzahl der Dateistücke auf denen eine Operation ausgeführt werden muss • maximal notwendiges Quorum: • Worstcase um sicher zu stellen das M paarweise verschiedene aktuelle Dateistücke vorliegen • QULmn = n – k + M • QUsmn = max ( QUs , n – N + k)

  6. (7) (4) (8) (9) (9) QULmh = max ( M, QUL) QUsmh = max ( k, QUs) QULmn = n – k + M QUsmn = max ( QUs , n – N + k) Beispiel: N = 10 M = 3 n = 12 QUL = 4 QUS = 9 mit QUL + QUS 12 Jeder Teilnehmer hat ein Stimmgewicht von 1 k = 10 Dateistücke für Fortschreibung Es ergibt sich: QULmh = 4 QULmn = 5 QUsmh = 10 QUsmn = 12 k kann nicht beliebig abgesenkt werden

  7. Dynamische Neuordnung: Bei Write-Operation mit mindestens x Dateifragmenten bei denen weniger als m verschiedene, aber insgesamt mehr als k Dateifragmente vorhanden sind, werden die Dateifragmente neu „verteilt“. Die x Dateifragemente werden mit den m nötigen Teilen überschrieben . Damit ändert sich die benötigte Anzahl von Dateistücken um eine Schreiboperation durchführen zu können und somit auch die maximal benötigten Quoren-Grenzen. QULmn = n – k + M ändert sich zu QULmn = n –QUSmh + M [QUsmh = max ( k, QUs) ] Und QUsmn = max ( QUs , n – N + k) ändert sich zu QUsmn = max (QUSmh , QUsmn)

  8. Verfügbarkeit: Warscheinlichkeit für eine Quorum-erreichung p = Wahrscheinlichkeit mit der Dateifragment erreichbar ist

  9. Benötigter Speicherplatz pro System ( Fehlerwarscheinlichkeit p = 0.90 )

  10. Speicherplatz und Fehlerwarscheinlichkeit ( Verfügbarkeit bei 0.999 )

  11. Bandbreite für write-Operationen und Verfügbarkeit (p = 0.90 )

  12. Bandbreite für Read-Operationen und Verfügbarkeit ( p = 0.90 )

  13. Verfügbarkeit: Kodierungsverfahren mit udate sites cardinality

  14. Zusammenfassung: • Benötigter Speicherplatz ist stark reduziert (besser als bei „Zeugen“ und reiner Fragmentierung) • Steigende oder sinkende Anzahl von Teilnehmern läst sich einfach durch Anpassung des Replikationsgrades und damit der Quorum-Grenzen anpassen • Höhere Sicherheit durch Fragmentierung und Codierungsverfahren nach Rabin • Nachteil: erhöhte Bandbreite bei Read-Operationen

More Related