Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Ilse Leben Geändert vor über 9 Jahren
1
Synchronisation paralleler Transaktionen AIFB SS2001 1 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (13/18) Behandlung von Konflikten bei der Sperrvergabe (Kollisionsstrategie) Was passiert, wenn eine Transaktion T 1 ein Objekt sperren will, das bereits von einer anderen Transaktion T 2 unverträglich gesperrt wurde? T 1 wird in Wartezustand versetzt, d.h. T 1 wartet bis T 2 ihr Ende erreicht hat und die von T 2 gesperrten Objekte wieder freigegeben werden.
2
Synchronisation paralleler Transaktionen AIFB SS2001 2 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (14/18) Probleme: Livelock: T 1 wartet andauernd auf eine Sperre, da andere Transaktionen sie immer wieder überholen. ( „Fairness“ muss gewährleistet sein.) Deadlock/ Verklemmung: T 1 wartet auf Sperre, die T 2 hält; T 2 wartet auf Sperre, die T 3 hält;... T n wartet auf Sperre, die T 1 hält.
3
Synchronisation paralleler Transaktionen AIFB SS2001 3 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (15/18) Lösungsmöglichkeiten: Deadlocks ausschließen / Deadlocks auflösen Deadlocks können durch Preclaiming ausgeschlossen werden. Verwendung von Time-Outs: Sperren werden nach einer bestimmten Zeit entzogen, die betreffenden Transaktionen zurückgesetzt. (ermöglicht die Auflösung von eingetretenen Deadlocks) Problem Starvation: Eine Transaktion wird wiederholt in einen Deadlock einbezogen und immer wieder bei der Auflösung als Opfer ausgesucht, zurückgesetzt und neu gestartet
4
Synchronisation paralleler Transaktionen AIFB SS2001 4 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (16/18) Lock-Manager Komponente des DBMS: Setzt Sperren und gibt diese wieder frei, so dass das Zwei-Phasen-Sperrprotokoll erfüllt wird. Verhinderung von dauerndem Blockieren („Livelock“) und dauerndem Zurücksetzen („Starvation“), d.h. faire Vergabe von Sperren an Transaktionen. Verhinderung oder Entdeckung von Deadlocks ( Wartegraph)
5
Synchronisation paralleler Transaktionen AIFB SS2001 5 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (17/18) wird aufgerufen, wenn ein Objekt gesperrt werden muss: überprüft, ob Sperre vergeben werden kann, und versetzt ggf. Transaktion in Wartezustand. führt eine Sperrtabelle: - Welche Objekte sind für welche Transaktionen gesperrt? - Welche Transaktionen warten auf die Freigabe welcher gesperrter Objekte?
6
Synchronisation paralleler Transaktionen AIFB SS2001 6 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (18/18) Wartegraph (gerichteter Graph) G W = (T*, U) T* = Menge der gerade im System aktiven Transaktionen T, T’ T*: (T,T’) U T’ wartet auf die Freigabe eines Objektes durch T (in irgendeiner Sperrtabellen-Schlange des Lock-Managers) Deadlock-Prüfung Suche nach Zyklen in G W
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.