1 agenten und verteilte anwendungen synchronisation und konsistenzerhaltung in verteilten...
TRANSCRIPT
![Page 1: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/1.jpg)
1
Agenten und verteilte Anwendungen
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
13. März 2003
![Page 2: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/2.jpg)
2
Gliederung
• Grundlagen verteilter Anwendungen
• Einfache Verfahren zur
Nebenläufigkeitskontrolle
• Spezielle Verfahren zur
Nebenläufigkeitskontrolle
• Zusammenfassung
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 3: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/3.jpg)
3
Grundlagen verteilter Anwendungen
• Definition von verteilten Anwendungen nach [BS2000, Seite 59]:
... application, whose functionality is split into a set of cooperating, interacting functional units...
... these functional units can be assigned to different machines...
... the functional units communicate with each other...
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 4: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/4.jpg)
4
Aufbau von Verteilten Systemen
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Verteiltes Rechensystem
Netzwerk Netzwerk
Verteiltes Ablaufsystem(Verwaltung der Systemobjekte auf die die Komponenten der Anwendung abgebildet werden) evtl. verteiltes BS
Verteilte AnwendungKomponente 1 Komponente n
...Komponente 2
![Page 5: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/5.jpg)
5
Konsistenz (traditionell) (1)
• Aus Datenbanktechnik: Serialisierbarkeit als Korrektheitskriterium des Transaktionskonzeptes
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Def.: Eine Transaktion ist eine Folge von Operationen, die die Datenbank von einem konsistenten Zustand in einen neuen Zustand überführen, wobei das ACID-Prinzip eingehalten werden muss.
• Atomicity
• Consistency
• Isolation
• Durability
![Page 6: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/6.jpg)
6
Konsistenz (traditionell) (2)
• ABER:– Nicht alle Eigenschaften des Konsistenzkonzeptes
der Datenbanken bei verteilten Anwendungen erwünscht:
• Isolation der Benutzer• Hohe Verfügbarkeit eventuell wichtiger
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 7: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/7.jpg)
7
Operationsgranularität
• Globale Daten (d.h. Daten mehrerer Komponenten)• Nebenläufige Zugriffe auf globale Daten führen
eventuell zu Inkonsistenz• Datei als globales Datum mögliche Zugriffseinheit
– Ganze Datei oder– Kapitel oder– Buchstabe usw.
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
• feine Granularität hoher Netzwerkverkehr
• grobe Granularität geringer Grad an Nebenläufigkeit
![Page 8: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/8.jpg)
8
Konsistenz (erweitert)
• One-Copy-Serializable– Serialisierbarkeit im traditionellen Sinn bezüglich
eines Replikats– Zwei Operationen, die im Konflikt stehen, werden
auf allen Replikaten in der gleiche Reihenfolge ausgeführt.
• Mutual Consistency– alle Replikate eines Datums identisch oder – konvergieren zum gleichen Zustand
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 9: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/9.jpg)
9
Nebenläufigkeitskontrolle (CC)
• Wichtig um Daten konsistent zu halten• Jedoch Erweiterung bei geographischer
Verteilung der Rechner:– Absturz einzelner Rechner Verfügbarkeit von
Daten– Ausfall von Kommunikationsverbindungen
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Probleme bei verteilten Anwendungen, da häufig eine sehr hohe Verfügbarkeit gewünscht wird.
![Page 10: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/10.jpg)
10
Partitionierung
schwer zu erkennenhöchstens in einer Partition darf
geschrieben werden
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Partition 1 Partition 2
![Page 11: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/11.jpg)
11
Gliederung
• Grundlagen verteilter Anwendungen
• Einfache Verfahren zur Nebenläufigkeitskontrolle (CC)
• Spezielle Verfahren zur
Nebenläufigkeitskontrolle (CC)
• Zusammenfassung
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 12: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/12.jpg)
12
Klassifikation der Verfahren
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
optimistische pessimistische
zentrale Kontrolle dezentrale Kontrolle
![Page 13: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/13.jpg)
13
Optimistische Verfahren
• Erlauben inkonsistente Zustände– Bei Datenbank: versucht alle Transaktionen nebenläufig
abzuhandeln. Bei Fehler wird Transaktion im Nachhinein abgebrochen
Je grober die Granularität, desto mehr KonflikteJe mehr Komponenten, desto mehr Konflikte
Konflikt kann bei verteilten Anwendungen nicht immer durch Anwendung behandelt werden (evtl. Benutzeraktion notwendig)
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 14: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/14.jpg)
14
Pessimistische Verfahren
• Inkonsistente Datenbestände werden nicht geduldet
• Klassifikation:
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Pessimistische Verfahren
Zentrale Kontrolle Dezentrale Kontrolle
Ausgezeichnete Kontrolleinheit
Token-Verfahren
![Page 15: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/15.jpg)
15
Ausgezeichnete Kontrolleinheit
• Basiert auf Konzept der Zentralisierung• Eine Kontrolleinheit (KE) verantwortlich für alle
(Schreib-) zugriffe
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
DATEN
Nachteile:
• Keine weiteren Zugriffe bei Ausfall der KE.
• Bei Partitionierung auch Lesezugriffe nur in Partition mit KE.
![Page 16: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/16.jpg)
16
Token-Verfahren (1)
• Verschiedene Rechner verantwortlich für Konsistenz
• Token wandert in virtuellem Ring zwischen den Rechnern umher
• Rechner mit Token verantwortlich
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 17: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/17.jpg)
17
Token-Verfahren (2)
• Nachteile:– Schwierige Handhabe des Rechnerrings– Erweiterbarkeit des Rings– Ring muss dynamisch rekonfigurierbar sein (falls
Ausfall einzelner Rechner oder Partitionierung)– Verlust des Tokens (erkennen und beheben)
• Vorteil:– Höhere Verfügbarkeit als Verfahren mit
ausgezeichneter KE
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 18: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/18.jpg)
18
mit dezentraler Kontrolle
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Pessimistische Verfahren
Zentrale Kontrolle Dezentrale Kontrolle Ausgezeichnete Kontrolleinheit Token-Verfahren
ohne Votierung mit VotierungEinfache SperrverfahrenFloor-Passing-VerfahrenTransaktionsverfahrenTransformationsverfahren
![Page 19: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/19.jpg)
19
Einfache Sperrverfahren
• Anfordern und Setzen der Sperre kostet Zeit• Sperrgranularität hat entscheidenden Einfluss
auf den Grad an Nebenläufigkeit• Je nach Art des Systems (z.B: WYSIWIS)
muss geklärt werden, ab wann eine Sperre zu setzen ist
• Zwei Alternativen:– Tickle lock– Probabilistic lock
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 20: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/20.jpg)
20
Tickle lock
Nachteil:• Absturz des Rechners der die Sperre besitzt
gesperrter Teil bleibt bis zu Neustart des Rechners gesperrt
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
• Sperre nur so lange wie benötigt
• Sobald Benutzer nichts mehr tut, wird Sperre automatisch frei gegeben
![Page 21: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/21.jpg)
21
Probabilistic lock
• Sperre mit automatischem Time-out• Ist das Setzen bis zu einem Time-out nicht
möglich Benutzer muss entscheiden(Inkonsistenzen werden in Kauf genommen)
• gesetzte Sperre bleibt für feste Zeitspanne gesetzt
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Nachteil:
Zeitweise nicht Einhalten der Konsistenz, aufgrund von Kommunikationsverzögerungen.
![Page 22: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/22.jpg)
22
Floor-Passing-Verfahren
• Verfahren mit wechselnder Kontrolle• Sperrmechanismen werden nicht benötigta) explizites:
Kontrolle wird aktiv vom Benutzer weitergegeben
b) implizites:Vergabe der Kontrolle durch Koordinator
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Vorteil: keine Benachteiligung von Komponenten
Nachteil: Ausfall des Koordinators
Nachteile: Benachteiligung anderer Komponenten
Ausfall der Einheit mit Kontrolle
![Page 23: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/23.jpg)
23
Transformationsverfahren (1)
• Von Vorteil bei CSCW-Systemen mit WYSIWIS Eigenschaft
• Basiert auf Transformation von Operationen
• Implementationbeispiel:GROVE-Algorithmus (Group outline viewing editor): siehe [BS2000, Seite 202ff]
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 24: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/24.jpg)
24
Transformationsverfahren (2)
• Problemstellung:
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
t t
„abcd“
„abxcd“
„abcd“
„abcyd“
„abxcyd“„abxycd“
O1=insert(x,3) O2=insert(y,4)
Ohne Anpassung der Operationen hängt das Ergebnis von der Reihenfolge der Operationsausführung ab.
Benutzer 1 Benutzer 2
![Page 25: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/25.jpg)
25
Transformationsverfahren (3)
• Operationstransformation, so dass:O`1° O2 = O`2 ° O1
• man benötigt:– Prioritäten von Operationen
(pi = Priorität von Aktion i)– Transformationsmatrix T
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
(insert(xi, Posi), insert(xj, Posj),pi,pj)
(delete(Posi), insert(xj,Posj),pi,pj)
(insert(xi,Posi), delete(Posj),pi,pj)
(delete(Posi), delete(Posj),pi, pj)
![Page 26: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/26.jpg)
26
Transformationsverfahren (4)
• Implementierung der Konfliktpaare von TT11: if (Posi<Posj) then O`i := insert(xi,Posi);
elsif (Posi>Posj) then O`i := insert(xi,Posi+1);
elsif (xi = xj) then O`i := no-op; elsif (pi > pj) then O`i := insert(xi,Posi+1);
else O‘i := insert(xi,Posi);
T12: usw.
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Seien wieder O1=insert(x,3) und O2=insert(y,4). Index als Priorität.
O`1 = insert(x,3) bzw. O`2 = insert(y,5)
O`1° O2 („abcd“) = „abxcyd“ = O`2 ° O1(„abcd“)
![Page 27: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/27.jpg)
27
Gliederung
• Grundlagen verteilter Anwendungen
• Einfache Verfahren zur
Nebenläufigkeitskontrolle (CC)
• Spezielle Verfahren zur
Nebenläufigkeitskontrolle (CC)
• Zusammenfassung
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 28: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/28.jpg)
28
Spezielle Verfahren
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Pessimistische Verfahren
Zentrale Kontrolle Dezentrale Kontrolle Ausgezeichnete Kontrolleinheit Token-Verfahren
ohne Votierung mit VotierungEinfache SperrverfahrenFloor-Passing-VerfahrenTransaktionsverfahrenTransformationsverfahrenKodierungsverfahrenGitterprotokoll
Mit Mehrheitsentscheidunggewichteteswrite-all-read-anymit ZeugenAvailable-Copydynamisches
Aus dem Bereich der verteilten Dateisysteme
![Page 29: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/29.jpg)
29
Gitterprotokoll
• Logische Organisation der dateibesitzenden Rechner
• Lesender Zugriff: min. 1 Rechner pro Spalte• Schreibender Zugriff: + alle Rechner einer Spalte
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 30: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/30.jpg)
30
Votierungsverfahren
• Rechner stimmen über einen Lese- oder Schreibwunsch ab
• Hoher Kommunikationsbedarf• Korrekte Verwendung der Sperren wird
vorausgesetzt• Gut bei großen Datenblöcken
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 31: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/31.jpg)
31
Datenblock
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Datenblocknummer
Versionsnummer
Sperrzustand
Datenblockinhalt
![Page 32: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/32.jpg)
32
Gebrauch des Datenblocks (1)
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
k
5
...
„ XX „
k
6
...
k
6
...
„ YY „ „ YY „
Rechner 1 Rechner 2 Rechner 3
Zustand vor Lesen
![Page 33: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/33.jpg)
33
Gebrauch des Datenblocks (2)
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
k
7
...
„ ZZ „
k
7
...
k
6
...
„ ZZ „ „ YY „
Rechner 1 Rechner 2 Rechner 3
Zustand nach Schreiben
![Page 34: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/34.jpg)
34
Votum und Quorum
• Votum: Stimmzahl der Rechner, die den Zugriff gestatten (d.h. erreichbar und keine Sperre gesetzt)
• Quorum: untere Schranke bei deren Erreichen oder Übertreffen der Zugriffswunsch gestattet wird
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 35: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/35.jpg)
35
Votieren mit Mehrheitsentscheidung
• Jeder Rechner hat genau eine Stimme
Bsp.: Rechnernetz mit 4 Rechnern und vollständig repliziertem Datenbestand QU = 3 {{R1,R2,R3},{R1,R2,R4},{R1,R3,R4},{R2,R3,R4}}
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
1 1
11R1 R2
R4R3
![Page 36: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/36.jpg)
36
• Unterschiedliche Stimmgewichte si für die Rechner
(S = ∑i si)
• Für Lesequorum (QUl) und Schreibquorum (QUs) gilt:
QUl + QUs > S
2 * QUs > S
Vorteile: • Null-Votum (Rechner mit si=0) wirkt leistungs-erhöhend beim
Lesen (schneller Zugriff)• QUl und QUs können auf erwartete Zugriffshäufigkeiten
abgestimmt werden
Gewichtetes Votieren
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 37: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/37.jpg)
37
Gewichtetes Votieren: Beispiel
QU = 3{{R1,R2},{R1,R3},{R1,R4},{R1,R2,R3}}
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
1 1
12R1 R2
R3 R4
![Page 38: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/38.jpg)
38
write-all-read-any
• Jeder Rechner hat Stimmgewicht = 1• QUl = 1
• QUs = n
Vorteil: schneller Lesezugriff
Nachteil: schwierig bei Änderungen
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 39: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/39.jpg)
39
Votieren mit Zeugen
• Rechner ohne Datenblock, aber mit Stimmberechtigung
Vorteile:– Höhere Verfügbarkeit– Geringer Speicherplatzbedarf– Bei Ausfall eines Rechners erweiterbar zu voller
KopieNachteil:
– Stimmmehrheit erreichbar, aber aktuellste Version nicht dabei (Zeuge hat höchste Versionsnummer), d.h. nur Schreiben möglich
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
k
7
...
![Page 40: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/40.jpg)
40
Available-Copy-Verfahren (1)
• Schreibt nur aktuell erreichbare Datenblockkopien fort• Abgestürzte Rechner aktualisieren sich bei Neustart• Jeder Rechner hat Stimmgewicht = 1• QUl = 1
• 1 ≤ QUs ≤ n
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Problem:
Im Falle einer Partitionierung werden nicht erreichbare Datenblockkopien nicht fortgeschrieben und bei einer Vereinigung der Partitionen werden diese Kopien nicht aktualisiert.
Nur für LANs geeignet
![Page 41: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/41.jpg)
41
Gliederung
• Grundlagen verteilter Anwendungen
• Einfache Verfahren zur
Nebenläufigkeitskontrolle
• Spezielle Verfahren zur
Nebenläufigkeitskontrolle
• Zusammenfassung
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 42: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/42.jpg)
42
Zusammenfassung
• Grundlagen verteilter Anwendungen• Konsistenz Nebenläufigkeit• Verteilte Anwendungen häufig eingebettet in verteilte
Systeme ( weitere Möglichkeiten der Synchronisation, z.B. Multicast-Synchronisationsprotkolle, Arbeiten mit Zeitstempeln, usw.)
• Verschiedene Verfahren, die verteilte Anwendungen benutzen können
• Verfahren abhängig von Anwendung (Replikation, gewünschter Grad an Nebenläufigkeit, Anzahl der Teilnehmer, Anwendungsbereich (LAN, WAN,...),...)
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
![Page 43: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/43.jpg)
43
Verfahren
Synchronisation und Konsistenzerhaltung in verteilten Anwendungen
Pessimistische
Zentrale Kontrolle Dezentrale Kontrolle Ausgezeichnete Kontrolleinheit Token-Verfahren
ohne Votierung mit VotierungEinfache SperrverfahrenFloor-Passing-VerfahrenTransaktionsverfahrenTransformationsverfahrenGitterprotokoll
Mit MehrheitsentscheidungGewichtetesWrite-all-read-anyMit ZeugenAvailable-Copy
Optimistische
![Page 44: 1 Agenten und verteilte Anwendungen Synchronisation und Konsistenzerhaltung in verteilten Anwendungen 13. März 2003](https://reader035.vdocuments.mx/reader035/viewer/2022062818/570491c61a28ab14218db088/html5/thumbnails/44.jpg)
44
FRAGEN
?Synchronisation und Konsistenzerhaltung in verteilten Anwendungen