Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

WS 2001/2002 Mehrbenutzerzugriff auf GIS-Daten

Ähnliche Präsentationen


Präsentation zum Thema: "WS 2001/2002 Mehrbenutzerzugriff auf GIS-Daten"—  Präsentation transkript:

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


Herunterladen ppt "WS 2001/2002 Mehrbenutzerzugriff auf GIS-Daten"

Ähnliche Präsentationen


Google-Anzeigen