1 / 91

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. Parallele Operationen auf einem B-Baum. Parallele Operationen auf B-Bäumen. Problem:

quinta
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Parallele Operationen auf einem B-Baum

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

  4. Parallele Operationen auf B-Bäume Beispiel: Transaktion 1: read(12) Transaktion 2: insert(3) Knoten A Knoten A 15 7 Insert(3) Knoten B Knoten B Knoten C 2 5 7 12 2 3 7 12 T1: read(12) T2: insert(3) bekommt Pointer zu B spaltet B in B u. C liest B Time

  5. Kompatibilitätsmatrix: Momentaner Sperr-Modus Beantragter Sperr-Modus S X S OK X S: „shared“ lock X: „exclusive“ lock Sperren auf Knoten

  6. Naiver Ansatz insert() delete() find() next() S X 4 15 4 15 2 3 11 12 17 18 2 3 11 12 17 18 • Nur Suchen können parallel ausgeführt werden. Update-Funktionen lassen keine Parallelität zu. • Sehr geringe Parallelisierung der Funktionen.

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

  8. 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. 28 42 23 25 26 30 35 44 47 50 51 = sicher = unsicher

  9. 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. 28 42 23 25 26 30 35 44 47 50 51 = sicher = unsicher

  10. 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.

  11. Lösung Nr. 1

  12. Lösung Nr. 1 für Leser 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 do begin 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

  13. Lösung Nr. 1 für Leser S = sicher = unsicher

  14. Lösung Nr. 1 für Leser S S = sicher = unsicher

  15. Lösung Nr. 1 für Leser S S = sicher = unsicher

  16. Lösung Nr. 1 für Leser S = sicher = unsicher

  17. Lösung Nr. 1 für Leser S S = sicher = unsicher

  18. Lösung Nr. 1 für Leser S S S = sicher = unsicher

  19. Lösung Nr. 1 für Leser S S S = sicher = unsicher

  20. Lösung Nr. 1 für Leser S S = sicher = unsicher

  21. Lösung Nr. 1 für Leser S S S = sicher = unsicher

  22. Lösung Nr. 1 für Leser S S S = sicher = unsicher

  23. Lösung Nr. 1 für Leser S S = sicher = unsicher

  24. Lösung Nr. 1 für Leser S = sicher = unsicher

  25. Lösung Nr. 1 für Leser S S = sicher = unsicher

  26. Lösung Nr. 1 für Leser S S = sicher = unsicher

  27. Lösung Nr. 1 für Leser S = sicher = unsicher

  28. Lösung Nr. 1 für Leser = sicher = unsicher

  29. Lösung Nr. 1 für Schreiber 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

  30. Lösung Nr. 1 für Schreiber = sicher = unsicher

  31. Lösung Nr. 1 für Schreiber X = sicher = unsicher

  32. Lösung Nr. 1 für Schreiber X X = sicher = unsicher

  33. Lösung Nr. 1 für Schreiber X X = sicher = unsicher

  34. Lösung Nr. 1 für Schreiber X = sicher = unsicher

  35. Lösung Nr. 1 für Schreiber X = sicher = unsicher

  36. Lösung Nr. 1 für Schreiber X = sicher = unsicher

  37. Lösung Nr. 1 für Schreiber X = sicher = unsicher

  38. Lösung Nr. 1 für Schreiber X X = sicher = unsicher

  39. Lösung Nr. 1 für Schreiber X X = sicher = unsicher

  40. Lösung Nr. 1 für Schreiber X X X = sicher = unsicher

  41. Lösung Nr. 1 für Schreiber X X X = sicher = unsicher

  42. Lösung Nr. 1 für Schreiber X X = sicher = unsicher

  43. Lösung Nr. 1 für Schreiber X = sicher = unsicher

  44. Lösung Nr. 1 für Schreiber X = sicher = unsicher

  45. Lösung Nr. 1 für Schreiber X = sicher = unsicher

  46. Lösung Nr. 1 für Schreiber X = sicher = unsicher

  47. Lösung Nr. 1 für Schreiber X = sicher = unsicher

  48. Lösung Nr. 1 für Schreiber X = sicher = unsicher

  49. Lösung Nr. 1 für Schreiber X = sicher = unsicher

  50. Lösung Nr. 1 für Schreiber = sicher = unsicher

More Related