tu-münchen hauptseminar informatik database hall of fame wintersemester 2001/2002 prof. r. bayer:

91
TU-München Hauptseminar Informatik Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer: B-Bäume Verfasser: Moritz Theile Betreuer: Prof. Dr. D. Kossmann Vortragstermin: 27.11.01

Upload: quinta

Post on 09-Jan-2016

14 views

Category:

Documents


1 download

DESCRIPTION

TU-München Hauptseminar Informatik Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer: B-Bäume Verfasser: Moritz Theile Betreuer: Prof. Dr. D. Kossmann Vortragstermin: 27.11.01. Parallele Operationen auf einem B-Baum. Parallele Operationen auf B-Bäumen. Problem: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

TU-München

Hauptseminar Informatik Database Hall of Fame

Wintersemester 2001/2002

Prof. R. Bayer:

B-Bäume

Verfasser: Moritz Theile Betreuer: Prof. Dr. D. Kossmann

Vortragstermin: 27.11.01

Page 2: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Parallele Operationen auf einem B-Baum

Page 3: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Parallele Operationen auf B-Bäumen

Problem: Wenn mehrere Prozesse gleichzeitig auf einen B-Baum zugreifen kann dies zu Problemen führen.

Page 4: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Parallele Operationen auf B-BäumeBeispiel:Transaktion 1: read(12)Transaktion 2: insert(3)

2 5 7 12

15

Knoten A

Knoten BInsert(3)

2 3

7

Knoten A

Knoten B

7 12

Knoten C

Time

T1: read(12) T2: insert(3)

bekommt Pointer zu B

spaltet B in B u. C

liest B

Page 5: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Sperren auf Knoten

Kompatibilitätsmatrix:

Momentaner Sperr-ModusBeantragterSperr-Modus

S: „shared“ lockX: „exclusive“ lock

S X

S OK

X

Page 6: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Naiver Ansatz

2 3 11 12 17 18

4 15

2 3 11 12 17 18

4 15

find()next()

insert()delete()

S X

Nur Suchen können parallel ausgeführt werden. Update-Funktionen lassen keine Parallelität zu.

Sehr geringe Parallelisierung der Funktionen.

Page 7: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Sichere und unsichere Knoten

Ein Knoten ist dann sicher, wenn seine Vorfahren durch die Operation unverändert bleiben.

Page 8: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

23 25 26 30 35 44 47 50 51

28 42

Sichere und unsichere Knoten bezüglich der insert()-Funktion

Ein Knoten ist bezüglich einer insert()-Operation dann sicher, wenn die Anzahl seiner Einträge kleiner als 2k ist.

= sicher

= unsicher

Page 9: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

23 25 26 30 35 44 47 50 51

28 42

Sichere und unsichere Knoten bezüglich der delete()-Funktion

Ein Knoten ist bezüglich einer delete()-Operation dann sicher, wenn die Anzahl seiner Einträge größer als k ist.

= sicher

= unsicher

Page 10: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Drei Lösungen mit Lock-Coupling

In einer Veröffentlichung haben Bayer und Schkolnick (1977) drei verschiedene Protokolle zur Parallelisierung von Zugriffen auf B*-Bäume vorgestellt.

Für Lese- und Schreibprozesse kommen immer verschiedene Protokolle zum Einsatz.

Page 11: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Lösung Nr. 1

Page 12: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

 Protokoll für Leser:

0)    Place S-lock on root;1)    Get root and make it the current node;2)    While current node is not a leaf dobegin

3)Place S-lock on appropriate son of current node;4)Release S-lock on current node;5)Get son of current node and make it current;

end 

Lösung Nr. 1 für Leser

Page 13: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

S

Page 14: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

S

S

Page 15: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

S

S

Page 16: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

S

Page 17: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

S

S

Page 18: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

S

S

S

Page 19: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

S

S

S

Page 20: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

SS

Page 21: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

SS

S

Page 22: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

SS

S

Page 23: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

S

S

Page 24: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

S

Page 25: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

S

S

Page 26: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

S

S

Page 27: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

S

Page 28: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Leser

Page 29: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Protokoll für Schreiber:

0) Place X-lock on root;

1) Get root and make it the current node;

2)    While current node is not a leaf do

begin

3)Place X-lock on appropriate son of current node;

4)Get son and make it the current node;

5)If current node is safe

then release all locks held on ancestors of current node;

end

 

Lösung Nr. 1 für Schreiber

Page 30: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 31: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 32: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 33: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

X

Page 34: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 35: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 36: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 37: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 38: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

X

Page 39: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

X

Page 40: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

X

X

Page 41: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

X

X

Page 42: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

X

Page 43: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 44: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 45: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 46: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 47: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 48: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 49: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

X

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 50: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 1 für Schreiber

Page 51: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Bewertung von Lösung Nr. 1

XDurch das Protokoll wird gleich ganz am Anfang ein X-Lock auf die Wurzel gesetzt, obwohl dieses höchstwahrscheinlich nicht notwendig gewesen wäre.Es werden in diesem Moment also alle anderen Prozesse ausgeschlossen.

Page 52: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Lösung Nr. 2

Page 53: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Lösung Nr. 2 für Leser

Protokoll für Leser:

Siehe Lösung Nr. 1

Page 54: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Lösung Nr. 2 für SchreiberProtokoll für Schreiber:

0) Place S-lock on root;

1) Get root and make it the current node;

2)    While current node is not a leaf do

begin

3)If son is not a leaf node

then place S-lock on appropriate son;

else place X-lock on appropriate son;

4)Release lock on current node;

5)Get son and make it the current node;

End

If corrent node is unsafe

then release all locks, repeat access with solution 1;

Page 55: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 2 für Schreiber

S

Page 56: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 2 für Schreiber

S

S

Page 57: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 2 für Schreiber

S

Page 58: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 2 für Schreiber

S

Page 59: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 2 für Schreiber

S

S

Page 60: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 2 für Schreiber

S

Page 61: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 2 für Schreiber

S

Page 62: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 2 für Schreiber

S

X

Page 63: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 2 für Schreiber

X

Page 64: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 2 für Schreiber

X

Page 65: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Bewertung von Lösung Nr. 2

X

In diesem Fall hofft man einfach, dass das zu bearbeitende Blatt sicher ist.Statistisch betrachtet ist dies auch relativ wahrscheinlich. Ungefähr einmal in k Fällen kommt es vor, dass das Blatt nicht sicher ist.In diesem Fall wird der Vorgang einfach mit dem Protokoll aus der Lösung Nr.1 wiederholt.

Anmerkung: diese Methode eignet sich besonders für große k gut. Erstens ist die Wahrscheinlichkeit für einen unsicheren Knoten gering und zweitens ist der Baum relativ flach.

Page 66: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Lösung Nr. 3

Page 67: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Lösung Nr. 3 für Leser

Protokoll für Leser:

Siehe Lösung Nr. 1

Page 68: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Lösung Nr. 3 für Schreiber

S

A

X

yx

yx

x ist kompatibel zu y

x kann zu einem y umgewandelt werden

Semantik:

Page 69: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Lösung Nr. 3 für Schreiber

Protokoll für Schreiber:

0)Place A-lock on root;

1)Get root and make it the current node;

2)While current node is not a leaf do

begin

3)place S-lock on appropriate son;

4)Get son and make it the current node;

5)If current node is safe

then release all locks held on ancestors of current node;

end

6)If Update will be successful

then convert, top-down,all A-locks into X-locks;

Page 70: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

A

S

A

X

Page 71: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

A

S

A

X

A

Page 72: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

A

S

A

X

A

Page 73: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

Page 74: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

A

Page 75: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

A

Page 76: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

A

A

Page 77: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

A

A

Page 78: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

A

A

S

Page 79: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

A

A

S

S

Page 80: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

A

A

S

SRequest to change to X

Page 81: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

A

A

S

SRequest to change to X

Page 82: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

A

A

SRequest to change to X

Page 83: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

A

A

S

S

Request to change to X

Page 84: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

A

A

S

S

Request to change to X

Page 85: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

A

A

Request to change to X

Page 86: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

A

X

A

Page 87: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

X

X

A

Page 88: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

= sicher

= unsicher

Lösung Nr. 3 für Schreiber

S

A

X

X

X

X

Page 89: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Bewertung von Lösung Nr. 3

Vorteile:

-Prozess blockiert Leseprozesse bloß, wenn unbedingt notwendig.

-Im Falle eines unsicheren Blattes müssen nur die A-locks in X-locks umgewandelt werden.

Nachteile:

-Evtl. unnötiger Ausschluß von Schreibprozessen

-Zeitverlust durch Konvertierung von Sperren.

Page 90: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Welche Lösung nimmt man?

Alle!

In einer generalisierten Lösung haben Bayer und Schkolnick ein Protokoll angegeben, welches alle drei Ansätze so miteinander vereint, dass die jeweiligen Vorteile möglichst gut ausgenutzt werden.

Rudolf Bayer, Mario Schkolnick: Concurrency of Operations on B-Trees. Acta Informatica 9: 1-21 (1977)

Literatur:

Page 91: TU-München Hauptseminar Informatik  Database Hall of Fame Wintersemester 2001/2002 Prof. R. Bayer:

Zusammenfassung

B-Bäume sind höhenbalancierte (Such-)Bäume, die sich besonders für den Einsatz auf heutigen Hardwaresystemen eignen.

Durch entsprechende Protokolle läßt sich auf B-Bäumen ein hoher Grad an Parallelisierung erreichen.