Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Carsten Lamparter Geändert vor über 11 Jahren
1
Implementierung von S2PL (1) Scheduler als Verwalter von Sperren auf Datenelementen sowie Warteschlangen für Sperren (Sperren-Verwalter). Transaktion 1Transaktion 2... Transaktion n Scheduler Datenbasis-Verwalter Schedule 1Schedule n Globaler Schedule Sperren-Verwalter Warte- schlangen
2
Implementierung von S2PL (2) Synchronisations-Algorithmus: –Warte auf nächste Operationsanforderung op. –Falls op = r i (x), frage Sperren-Verwalter, ob andere Transaktion bereits exclusive-Sperre auf x besitzt. Wenn nein, fordere shared-Sperre an. Sonst: Sobald Sperre verfügbar ist, führe Operation aus. –Falls op = w i (x), frage Sperren-Verwalter, ob Transaktion i bereits share-Sperre auf x oder keine andere Transaktion eine Sperre auf x besitzt. Wenn ja, fordere exclusive-Sperre an. Sonst: Sobald Sperre verfügbar ist, führe Operation aus. –Falls op = c i, veranlasse Festschreiben aller von Transaktion i vorgenommen DB-Änderungen durch DB-Verwalter, anschließend gebe alle Sperren von Transaktion i frei. –Falls op = a i, veranlasse Rücksetzen aller von Transaktion i vorgenommen DB-Änderungen durch DB-Verwalter, anschließend gebe alle Sperren von Transaktion i frei.
3
Implementierung von S2PL (3) Sperren-Vergabe-Algorithmus des Sperren- Managers: Verwalte (zumindest konzeptuell) Warteschlange für jedes Datenelement x, welche die aktuellen Inhaber von Sperren auf x gefolgt von den auf Sperren für x wartenden Transaktionen enthält. Falls keine Sperren auf x vergeben sind, ist Warteschlange leer. ST1T1 ST2T2 XT3T3 ST4T4 XT5T5 ST6T6 x Aktuelle Sperreninhaber
4
Implementierung von S2PL (4) Strategien zur Behandlung einer Sperranforderung für x: –Fair: Einreihung stets am Ende der Warteschlange. –Bevorzugung Leser: Bei Anforderung einer shared- Sperre Einreihung vor allen wartenden Schreibern. Bei Anforderung einer exclusive-Sperre Einreihung am Ende. –Bevorzugung Schreiber: Bei Anforderung einer exclusive-Sperre Einreihung direkt hinter letztem Schreiber bzw. letztem aktiven Leser. Bei Anforderung einer shared-Sperre Einreihung am Ende. –In jedem Fall: direkte Vergabe, falls shared-Sperre gefordert wurde und alle Vorgänger Leser sind oder falls exclusive-Sperre gefordert wurde und keine Vorgänger vorhanden sind.
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.