Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Ulrike Beckenbauer Geändert vor über 6 Jahren
1
WS 2001/2002 Mehrbenutzerzugriff auf GIS-Daten
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 5 WS 2001/2002 Mehrbenutzerzugriff auf GIS-Daten
2
Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 5 - 19.11.01
Szenario Geodatenserver mehrere Benutzer Transaktionen T Anfragen, Methoden, Programme Items „A“ Variable, Tupel, Relation, Objekt Modi Lesen (an und für sich unproblematisch) Schreiben Erforderlich: Synchronisation Protokolle Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
3
Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 5 - 19.11.01
Problemfall Programm (P) : Read A; Write A; A:=A+1; A in Datenbank 5 5 5 5 6 6 T1: Read A A:=A+1 Write A T2: Read A A:=A+1 Write A A im Arbeitsspeicher T1 5 5 6 6 6 6 A im Arbeitsspeicher T2 5 5 6 6 =/= 6 ! Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
4
Lösung: Sperren (Lock und Unlock)
Lock A; Read A; A:=A+1; Write A; Unlock A Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
5
Problem: Gegenseitige Blockade („Deadlock“)
Lock B; Unlock A; Unlock B; T 2: Lock B; Lock A; Unlock B; Unlock A; Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
6
Vermeidung von Deadlocks:
Protokolle des Laufzeitsystems: alle Ressourcen werden auf einmal angefordert und gleichzeitig gewährt (falls nicht alle Ressourcen verfügbar, kommt der Prozess in die Warteschlange) die Ressourcen unterliegen einer linearen Ordnung, und bei der Bedarfsanmeldung wird diese Reihenfolge eingehalten Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
7
Aber wie steuert man Nebenläufigkeit?
Read A; A:=A-10; Write A; Read B; B:=B+10; Write B; T 2: Read B; B:=B-20; Write B; Read C; C:=C+20; Write C; wird erst T1 ganz und dann T2 ganz ausgeführt, heisst diese Reihenfolge seriell Problem: welche Überlappung ist zulässig? eine Reihenfolge heisst serialisierbar, wenn sie einer seriellen Reihenfolge äquivalent ist wie erkennt man Serialisierbarkeit? Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
8
Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 5 - 19.11.01
Beispiele T 1 T 2 T 1 T 2 T 1 T 2 Read A Read A Read A A:=A-10 Read B A:=A-10 Write A A:=A-10 Read B Read B B:=B-20 Write A B:=B+10 Write A B:=B-20 Write B Write B Read B Read B Read B Write B B:=B-20 Read C B:=B+10 B:=B+10 Read C Write B Read C C:=C+20 Write B C:=C+20 Write B C:=C+20 Write C Write C Write C seriell serialisierbar nicht serialisierbar Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
9
Prüfung auf Serialisierbarkeit (a posteriori)
Algorithmus: Input: Output: Methode: Eine verzahnte Ausführung von Transformationen T1,...,Tk Prüfung der Serialisierbarkeit. Konstruiere einen Graphen mit den Knoten a1, a2, ... an wobei jedes ai eine der beiden folgenden Formen hat: Tj: Lock Am oder Tj: Unlock Am Wenn ein Lock Am auf einen Unlock Am folgt, werden diese beiden Knoten miteinander verbunden. Die Reihenfolge ist serialisierbar, wenn der entstandene Graph azyklisch ist; eine serielle Reihenfolge kann durch eine geeignete Durchlaufstrategie ermittelt werden. Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
10
Serialisierbarkeit a priori durch Zwei-Phasen-Protokoll
in jeder Transaktion T gehen alle Sperrungen (Locks) den Freigaben (Unlocks) voraus Vorteil: leicht zu überprüfen Nachteil: ev. großräumige Sperrung T2: Lock A; Lock B; Unlock A; Unlock B; Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
11
Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 5 - 19.11.01
Beispiel T2: Lock A; Lock B; Unlock A; Unlock B; Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
12
Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 5 - 19.11.01
Nicht serialisierbar . Lock A . Unlock A Lock A Lock B Unlock A Unlock B Lock B . Unlock B . T1 T2 Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
13
Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 5 - 19.11.01
Verfeinerungen differenziere zwischen Read und Write-Locks berücksichtige hierarchische Strukturen Aggregierte Objekte B-Bäume Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
14
Baum-Protokoll 1 (knoten-orientiert)
Lock eines Knotens setzt Verfügung (Lock) über den Vaterknoten voraus Ausnahme: 1. Lock einer Transaktion Kein Knoten wird durch die gleiche Transaktion mehrmals gesperrt A B C G F E D Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
15
Baum-Protokoll 1 (knoten-orientiert)
(1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Lock D Lock B Unlock B Lock A Lock C Lock E Unlock D Lock F Unlock A Unlock C Unlock E Lock G Unlock F Unlock G A B C G F E D A A B B B B C C D D E E E E F F G G T1 T2 T3 Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
16
Warn-Protokoll (Teilbaum-orientiert)
Anwendungsbeispiel: B-Baum 3 Modi: Warn, Lock und Unlock Die Transaktion T beginnt mit der Warnung der Wurzel des Baumes Sperrung eines Knotens setzt Warnung des Vaterknotens voraus ein Knoten kann nur entsperrt oder entwarnt werden, nachdem alle Sperrungen / Warnungen auf Kinder entfernt wurden 2-Phasen-Protokoll: alle Warnungen und Sperrungen gehen allen Freigaben voraus Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
17
Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 5 - 19.11.01
B C G F E D Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
18
Warn-Protokoll (Beispiel)
Warn B Warn A Lock D Lock C Unlock D Warn C T3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Unlock B Unlock A Unlock C Lock B Lock F Unlock F A B C G F E D C C D D Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
19
Warn-Protokoll (Beispiel)
Warn B Warn A Lock D Lock C Unlock D Warn C T3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Unlock B Unlock A Unlock C Lock B Lock F Unlock F A B C G F E D Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
20
Warn-Protokoll (Beispiel)
Warn B Warn A Lock D Lock C Unlock D Warn C T3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Unlock B Unlock A Unlock C Lock B Lock F Unlock F A B C G F E D B F Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
21
Warn-Protokoll (Beispiel)
Warn B Warn A Lock D Lock C Unlock D Warn C T3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Unlock B Unlock A Unlock C Lock B Lock F Unlock F A B C G F E D B B F F Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
22
Warn-Protokoll (Beispiel)
Warn B Warn A Lock D Lock C Unlock D Warn C T3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Unlock B Unlock A Unlock C Lock B Lock F Unlock F A B C G F E D B B F F Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
23
Warn-Protokoll (Beispiel)
Warn B Warn A Lock D Lock C Unlock D Warn C T3 (1) (2) (4) (3) (9) (8) (5) (10) (6) (7) (12) (11) (14) (13) (16) (15) (18) (17) Unlock B Unlock A Unlock C Lock B Lock F Unlock F A B C G F E D B B F F Lutz Plümer - Geoinformation III - WS 01/ Vorlesung
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.