3. DB-Pufferverwaltung
|
|
- Gerd Althaus
- vor 5 Jahren
- Abrufe
Transkript
1 . DB-Pufferverwaltung Rolle der DB-Pufferverwaltung in einem Datenbanksystem Ziel: Realisierung einer effizienten, seitenbasierten Verarbeitungsplattform im Hauptspeicher - größtmögliche Vermeidung von physischer Ein-/Ausgabe - Ersetzungsverfahren ohne und mit Kontextwissen INDE PERSONAL WHERE ANR = K Transaktionsprogramme, die auf die Datenbank zugreifen TA TA TA n Rolle der DB-Pufferverwaltung - Ablauf des Zugriffs auf den DB-Puffer Datenbanksystem (vereinfacht) - Vergleich mit ähnlicher unktionalität in Betriebssystemen (BS) Lokalität - Maße für Lokalität - Charakterisierung durch LRU-Stacktiefen-Verteilung und Referenzdichtekurven Speicherzuteilung und Suche im DB-Puffer Seitenersetzungsverfahren - Klassifikation von Ersetzungsverfahren - LRU - CLOCK, GCLOCK - LRD, LRU-K... Stelle Seite P i bereit Gib Seite P i frei Lies Seite P i Schreibe Seite P i Kanalprogramme Transaktionsverwaltung und Zugriffspfadroutinen logische Seitenreferenzen DB-Pufferverwaltung DB-Puffer physische Seitenreferenzen Externspeicherverwaltung Plattenzugriffe Ersetzungsverfahren Einbezug von Kontextwissen - Hot Set Model - Prioritätsgesteuerte Seitenersetzung (Priority LRU, Priority Hints). Effelsberg, W., Härder, T.: Principles of Database Buffer Management, in: ACM Transactions on Database Systems 9:4, Dec. 984, pp
2 Seitenreferenzstrings Eigenschaften von DB-Referenzstrings Jede Datenanforderung ist eine logische Seitenreferenz Typische Referenzmuster in DBS Aufgabe der DB-Pufferverwaltung: Minimierung der physischen Seitenreferenzen. Sequentielle Suche Referenzstring R = <r, r,... r i,... r n > mit r i = ( T i, D i, S i ) T i zugreifende Transaktion D i referenzierte DB-Partition S i referenzierte DB-Seite Bestimmung von Ausschnitten aus R bezüglich bestimmter Transaktionen, Transaktions-Typen und DB-Partitionen sinnvoll zur Analyse des Referenzverhaltens S i S j S k S l Bsp.: Durchsuchen ganzer Satztypen (Relationen). Hierarchische Pfade Wie kann Referenzstring-Information verwendet werden für - Charakterisierung des Referenzverhaltens? - Bestimmung von Lokalität und Sequentialität? - Unterstützung einer effektiven Seitenersetzung? Bsp.: Suchen mit Hilfe von B*-Bäumen. Zyklische Pfade Bsp.: Abarbeiten von Sets ((:n)-beziehungen), Suchen in DBTT-/Datenseiten - - 4
3 Vergleich mit BS-unktionen Sequentialität Ersetzungsalgorithmen im DB-Puffer in Software implementiert Seitenersetzung in Adressräumen bei Virtuellem Speicher ist HW-gestützt Seitenreferenz vs. Adressierung nach einem IX-Aufruf kann eine DB-Seite mehrfach bis zum UNIX referenziert werden unterschiedliches Seitenreferenzverhalten andere Ersetzungsverfahren? Können Dateipuffer des BS als DB-Puffer eingesetzt werden?. Zugriff auf Dateipuffer ist teuer (SVC: supervisor call). DB-spezifische Referenzmuster können nicht gezielt genutzt werden BS-Ersetzungsverfahren sind z. B. nicht auf zyklisch sequentielle oder baumartige Zugriffsfolgen abgestimmt. Normale Dateisysteme bieten keine geeignete Schnittstelle für Prefetching In DBMS ist aufgrund von Seiteninhalten oder Referenzmustern eine Voraussage des Referenzverhaltens (z. B. bei Tabellen-Scans) möglich; Prefetching erzielt in solchen ällen eine enorme Leistungssteigerung 4. Selektives Ausschreiben von Seiten zu bestimmten Zeitpunkten (z. B. für Logging) nicht immer möglich in existierenden Dateisystemen DBMS muss eigene Pufferverwaltung realisieren, 64-Bit-Architekturen ändern daran nichts! - SRS weisen typischerweise Phasen von Sequentialität und Lokalität auf Sequentielle Zugriffsfolge (SZ): Zwei aufeinanderfolgende Referenzen r i und r i+ gehören zu einer sequentiellen Zugriffsfolge, falls S i+ S i = 0 oder d. h., aufeinanderfolgende Zugriffe referenzieren benachbarte DB-Seiten Algorithmus - Seitenreferenzstring wird vollständig durchmustert; alternativ kann die olge der ankommenden Referenzen analysiert werden - Solange obige Bedingung erfüllt ist, gehören alle aufeinanderfolgenden Referenzen zu einer SZ, sonst beginnt eine neue SZ Länge einer sequentiellen Zugriffsfolge (LSZ): - LSZ ist die Anzahl der verschiedenen in SZ referenzierten Seiten - Beispiel: Referenzstring A A B B D E E H enthält (AABB) mit LSZ() =, (DEE) mit LSZ() = und (H) mit LSZ() = Maß für Sequentialität: - Die kumulative Verteilung der SZ-Längen LSZ(i) wird berechnet S(x) = Pr(SZ-Länge <= x) - ür obiges Beispiel gilt: S()=0., S()=0.67, S()=.0 Bei Sequentialität Optimierung durch (asynchrones) Prefetching von DB-Seiten möglich - 6
4 Lokalität Sequentialität vs. Lokalität Erhöhte Wiederbenutzungswahrscheinlichkeit für gerade referenzierte Seiten (gradueller Begriff) W (t, w) wahlfreie Zugriffverteilung Grundlegende Voraussetzung für - effektive DB-Pufferverwaltung (Seitenersetzung) - Einsatz von Speicherhierarchien Lokalität Wie kann man Lokalität messen? window size w Working-Set-Modell Referenzstring A B A C A B A B D C E H G L (w).0 wahlfreie Zugriffverteilung Window size w w = 8 t w = 8 t Lokalität window size w Working set size W W (t, w=8) = W (t, w=8) = 8 Aktuelle Lokalität: AL( t, w) = W( t, w) w S (x).0 geringe Sequentialität Mittlere Lokalität: L( w) = n AL( t, w) t = n hohe Sequentialität SZ-Länge x - 7-8
5 - 9 LRU-Stacktiefenverteilung Wie läßt sich Lokalität charakterisieren? - LRU-Stacktiefenverteilung liefert Maß für die Lokalität (präziser als Working-Set-Ansatz) - LRU-Stack enthält alle bereits referenzierten Seiten in der Reihenfolge ihres Zugriffsalters Bestimmung der Stacktiefenverteilung: - pro Stackposition wird Zähler geführt - Rereferenz einer Seite führt zur Zählererhöhung für die jeweilige Stackposition Wiederbe- nutzungswahrscheinlichkeit (%) Lokalität wahlfreie Zugriffsverteilung Stacktiefe Zählerwerte entsprechen der Wiederbenutzungshäufigkeit ür LRU-Seitenersetzung kann aus der Stacktiefenverteilung für eine bestimmte Puffergröße unmittelbar die Trefferrate (bzw. ehlseitenrate) bestimmt werden - 0 Relative Referenzmatrix (DOA-Last) ca Transaktionen, Million Seitenreferenzen auf ca verschiedene Seiten P P P P4 P P6 P7 P8 P9 P0 P P P Total TT TT TT TT TT TT TT TT8 TT9 TT0 TT TT Total partition size (%) % referenced
6 Beispiel: Ermittlung der Stacktiefen-Verteilung Reale LRU-Stacktiefen-Verteilungen Referenzstring: A B A C A A A B B B C D E A E LRU-Stack: A B C 4 D E relative Häufigkeit der Stacktiefe % 0 0 LRU-Stacktiefen-Verteilung von Mix40 Länge des Strings: 066 logische Referenzen Anzahl verschiedener Seiten im String: Stacktiefen-Verteilung LRU-Stacktiefe % LRU-Stacktiefen-Verteilung von Mix0 Länge des Strings: 9997 logische Referenzen Anzahl verschiedener Seiten im String: 4 4 Stacktiefe relative Häufigkeit der Stacktiefe LRU-Stacktiefe. W. Effelsberg, T. Härder: Principles of Database Buffer Management, ACM Transactions on Database Systems, Vol. 9, No. 4, Dec. 984, pp
7 Referenzdichte-Kurven Referenzdichte-Kurven % % TA TA TA TA4 TA TA Relative Häufigkeit der Seitentypen im Beispiel = Daten und Indexstrukturen: 9,8 % = Adressumsetztabellen: 6, % = reispeicher-verwaltung: 0, % Speicherzuteilung im DB-Puffer global ( gemeinsamer Pufferbereich) lokal / partitionierte Pufferbereiche Partitionierungsmöglichkeiten: eigener Pufferbereich pro Transaktion TA-Typ-bezogene Pufferbereiche Seitentyp-bezogene Pufferbereiche DB-(Partitions)spezifische Pufferbereiche gleichförmige Partitionen statisch dynamisch angepasste Partitionen
8 Dynamische Pufferallokation Working-Set-Ansatz (WS) Suche im DB-Puffer Sequentielles Durchsuchen der Pufferrahmen Pro Pufferpartition P soll Working-Set im Puffer bleiben; Seiten, die nicht zum Working-Set gehören, können ersetzt werden Bei ehlseitenbedingung muß Working-Set bekannt sein, um Ersetzungskandidat zu bestimmen - enstergröße (Window Size) pro Partition: w (P) - Referenzzähler pro Partition: RZ (P) - letzter Referenzzeitpunkt für Seite i: LRZ (P, i) - ersetzbar sind solche Seiten, für die RZ (P) LRZ (P, i) > w (P) enstergröße kritischer Parameter Thrashing-Gefahr - sehr hoher Suchaufwand - Gefahr vieler Paging-ehler bei virtuellen Speichern Nutzung von Hilfsstrukturen (Eintrag pro Pufferrahmen). unsortierte oder sortierte Tabelle. Tabelle mit verketteten Einträgen - geringere Änderungskosten - Anordnung in LRU-Reihenfolge möglich P: P: Referenzstring A A B C D A A G H A E E. Suchbäume (z. B. AVL-, m-weg-bäume) 4. Hash-Tabelle mit Überlaufketten - beste Lösung h (P i ) = k k P j B P i B P k B - H - - 6
9 Seitenersetzungsverfahren Referenzverhalten und Ersetzungsverfahren Klassifikation Referenzverhalten in DBS Verfahrensklassen - typischerweise hohe Lokalität: Optimierung durch Ersetzungsverfahren - manchmal Sequentialität oder zufällige Arbeitslast (RANDOM-Referenzen) preplanning prefetching demand fetching Prinzipielle Zusammenhänge, welche die ehlseitenrate bestimmen ehlseiten- Programmanalyse, Vorabuntersuchung des Datenbedarfs physische Datenstrukturierung, Clusterbildung, Verarbeitungswissen keine Vorausaktionen rate 00% R/R R/OPT große ehlrate, ungenaue Obermengen datenmodellbezogen (hierarchisch), spekulative Entscheidungen Lokalitätserhaltung im DB-Puffer L/OPT L/R D N = # Rahmen im DB-Puffer Grundannahme bei Ersetzungsverfahren: D = DB-Größe in Blöcken Kombinationen: Referenzen A B A C A B C A B B C D jüngste Vergangenheit nächste Zukunft Referenzverhalten ähnlich Referenzen: RANDOM RANDOM Lokalität Lokalität Ersetzung: RANDOM OPT RANDOM OPT Grenzfälle des Referenzverhaltens und der Ersetzungsverfahren zeigen Optimierungsmöglichkeiten auf - 7-8
10 Behandlung geänderter Seiten im DB-Puffer Kriterien für die Auswahl der zu ersetzenden Pufferseite Ersetzung einer geänderten Seite erfordert ihr vorheriges (synchrones) Zurückschreiben in die DB Kriterien Antwortzeitverschlechterung Verfahren Alter letzte Referenz Referenzhäufigkeit andere Kriterien Abhängigkeit zur gewählten Ausschreibstrategie: OPT Vorauswissen ORCE: alle Änderungen einer Transaktion werden spätestens beim EOT in die DB zurückgeschrieben ( write-through ) + i. Allg. stets ungeänderte Seiten zur Ersetzung vorhanden + vereinfachte Recovery (nach Rechnerausfall sind alle Änderungen beendeter TA bereits in die DB eingebracht) - hoher E/A-Overhead - starke Antwortzeiterhöhung für Änderungstransaktionen RANDOM LU IO LRU CLOCK x --- x NOORCE: kein Durchschreiben der Änderungen bei EOT (verzögertes Ausschreiben, deferred write-back ) + Seite kann mehrfach geändert werden, bevor ein Ausschreiben erfolgt (geringerer E/A-Overhead, bessere Antwortzeiten) + Vorausschauendes (asynchrones) Ausschreiben geänderter Seiten erlaubt auch bei NOORCE, vorwiegend ungeänderte Seiten zu ersetzen Synchrone DB-Schreibvorgänge lassen sich weitgehend vermeiden GCLOCK LRD (V) LRD (V) LRU-K - 9-0
11 Least requently Used und irst-in irst-out Least Recently Used (LRU) Algorithmus LU - Referenzzähler pro Seite wird bei jeder Seitenreferenz inkrementiert Beispiel (Puffergröße 4):. Referenz der Seite C - Ersetzung der Seite mit der geringsten Referenzhäufigkeit RZ 4 6 Alter einer Seite wird nicht berücksichtigt! Algorithmus IO - Die älteste Seite im DB-Puffer wird ersetzt - Referenzen während des Pufferaufenthaltes werden nicht berücksichtigt A B C D LRU-Stack. Referenz der Seite E A B C D C A B D E A B C Unterscheidung zwischen Least Recently Referenced und Least Recently Unfixed t IX IX UNIX UNIX A B B A Nur für strikt sequentielles Referenzierungsverhalten geeignet - -
12 CLOCK (Second Chance) Algorithmus - Erweiterung von IO - Referenzbit pro Seite, das bei Zugriff gesetzt wird - Ersetzung erfolgt nur bei zurückgesetztem Bit, sonst erfolgt Zurücksetzen des Bits annähernde Berücksichtigung des letzten Referenzierungszeitpunkts - Seitenersetzungsverfahren Beispiel OPT LRU IO Seitenreferenzfolge 4 CLOCK * * * * * * * * * * * * * * * * * * * 4* 4* 4 4 * * * *
13 GCLOCK (Generalized CLOCK) Least Reference Density (LRD) Algorithmus - Pro Seite wird Referenzzähler geführt (statt Bit) - Ersetzung nur von Seiten mit Zählerwert 0 - sonst erfolgt Dekrementierung des Zählers und Betrachtung der nächsten Seite 0 0 Algorithmus - Wenn eine Seite ersetzt werden muss, wird die Referenzdichte aller Seiten im DB-Puffer bestimmt - Referenzdichte = Referenzhäufigkeit in einem bestimmten Referenzintervall - Ersetzungskandidat ist Seite mit geringster Referenzdichte Variante : Referenzintervall entspricht Alter einer Seite Berechnung der Referenzdichte: Globaler Zähler GZ: Einlagerungszeitpunkt EZ: Referenzzähler RZ Gesamtanzahl aller Referenzen GZ-Wert bei Einlesen der Seite Referenzdichte RD( j) = RZ( j) GZ EZ( j) A A A B C D D E Verfahrensparameter: - Initialwerte für Referenzzähler - Wahl des Dekrementes - Zähler-Inkrementierung bei erneuter Referenz - Vergabe von seitentyp- oder seitenspezifischen Gewichten A B C D E RZ EZ RD - - 6
14 Variante : konstante Intervallgröße Least Reference Density () - Künstliches Altern von Seiten: Ältere Referenzen werden bei der Bestimmung der Referenzdichte geringer bewertet - Periodisches Reduzieren der Referenzzähler, um Gewicht früher Referenzen zu reduzieren - Reduzierung von RZ durch Division oder Subtraktion: oder RZ( i) RZ( i) = RZ( i) = K RZ( i) K K falls (K > ) RZ( i) K K sonst ( K > 0, K 0) LRU-K Aufzeichnung der K letzten Referenzzeitpunkte (pro Seite im DB-Puffer) - Aufwendigere Aufzeichnung, Methode benötigt kein explizites Altern - Gegeben sei bis zum Betrachtungszeitpunkt t der Referenzstring r, r,..., r t. Rückwärtige K-Distanz b t (P, K) ist die in Referenzen gemessene Distanz rückwärts bis zur K-jüngsten Referenz auf Seite P: b t (P, K) = x, wenn r t-x den Wert P besitzt und es genau K- andere Werte i mit t-x < i t mit r i = P gab. b t (P, K) =, wenn P nicht wenigstens K mal in r, r,..., r t referenziert wurde Beispiel (K=,, ) C A B B A C B B C A Zeit A A A B C D D E t t t t t t RZ(A) RZ(B) RZ(C) RZ(D) RZ(E) RZ() Bei Ersetzung werden die b t (P i, K) der Pufferseiten benötigt! - Sonderbehandlung für Seiten mit b t (P, K) = - Wie hängt LRU-K mit LRD zusammen? Approximation der Referenzdichte? LRU- (d.h. K=) stellt i. Allg. beste Lösung dar - ähnlich gute Ergebnisse wie für K >, jedoch einfachere Realisierung - schnellere Reaktion auf Referenzschwankungen als bei größeren K - 7. O Neil, E.J., O Neil, P.E., Weikum, G.: The LRU-K Page Replacement Algorithm for Database Disk Buffering. Proc. ACM SIGMOD Conf. Washington. D.C
15 Simulation von Seitenersetzungsverfahren Simulationsergebnisse Charakteristika von DB, Transaktionslast und logischen Seitenreferenzstrings - 9-0
16 Ersetzungverfahren Einbezug von Kontextwissen Ersetzungverfahren Einbezug von Kontextwissen () Probleme bei LRU-ähnlichen Verfahren - T: langer sequentieller Scan mit sehr schneller Seitenanforderung Ausnutzung von Kontextwissen bei mengenorientierten Anforderungen Verbesserung in relationalen DBS möglich Auswirkung auf T i : Seiten der T i werden bei langsamer Anforderung verdrängt auch bei hoher Referenzlokalität Zugriffspläne durch Anfrage-Optimierer - Zugriffscharakteristik/Menge der referenzierten Seiten kann bei der Erstellung von Plänen vorausgesagt/abgeschätzt werden - Zugriffsmuster enthält immer Zyklen/Loops (mindestens Kontrollseite Datenseite, nested loop join etc.) - Zyklisches Referenzieren (Loop) einer Menge von Seiten (#Seiten > #Rahmen) - Kostenvoranschläge für Zugriffspläne können verfügbare Rahmen berücksichtigen - Bei Ausführung wird die Mindestrahmenzahl der Pufferverwaltung mitgeteilt Hot Set: Menge der Seiten im Referenzzyklus Prinzipieller Verlauf der ehlseitenrate (SR) bei speziellen Operationen internes Thrashing - T: zyklisches Referenzieren einer Seitenmenge (#Seiten < #Rahmen) Interferenz durch T i bei schnellerer Anforderung (stealing) SR Hot Points externes Thrashing Mechanismen gegen Thrashing: WS-Modell - Scheduler versucht für T i wenigstens σ = W( t, w) Rahmen zu allokieren # Rahmen - Wenn Loop > w, versucht WS w Rahmen zu reservieren; bei sequentiellem Scan hätte ein Rahmen genügt - WS-Modell: teure Implementierung - -
17 Hot Set Model Prioritätsgesteuerte Seitenersetzung Hot Point: abrupte Veränderung in der SR, z. B. verursacht durch Schleife beim Verbund Hot Set Size (HSS): größter Hot Point kleiner als der verfügbare DB-Puffer Anfrage-Optimierer berechnet HSS für die verschiedenen Zugriffspläne (Abschätzung der #Rahmen) Beispiel: Bevorzugung bestimmter Transaktionstypen/DB-Partitionen vielfach wünschenswert (z. B. um Benachteiligungen durch sehr lange TA oder sequentielle Zugriffe zu vermeiden) Berücksichtigung von Prioritäten bei der DB-Pufferverwaltung Verfahren PRIORITY LRU 4 : - pro Prioritätsstufe eigene dynamische Pufferpartition - LRU-Kette pro Partition Kosteneinheiten/0 0 0 SELECT * ROM ABT X, PERS Y WHERE X.ANR = Y.ANR AND... PERS in äußerer Schleife ABT in äußerer Schleife Index-Scan für beide Relationen - Priorität einer Seite bestimmt durch DB-Partition bzw. durch (maximale) Priorität referenzierender Transaktionen - ersetzt wird Seite aus der Partition mit der geringsten Priorität Ausnahme: die w zuletzt referenzierten Seiten sollen (unabhängig von ihrer Priorität) nicht ersetzt werden Kompromiss zwischen Prioritäts- und absolutem LRU-Kriterium möglich Priorität (hoch) S60 99 S0 9 S Anwendungscharakteristika # Rahmen Priorität Seiten-ID LRZ S8 76 S4 6 S7 6 - Berücksichtigung der HSS in den Gesamtkosten - Auswahl abhängig von verfügbarer DB-Puffergröße Priorität S 8 S 7 - Bindung zur Laufzeit möglich RZ = 00, w=0 mögliche Ersetzungskandidaten 4. R. Jauhari, M.J. Carey, M. Livny: Priority Hints: An Algorithm for Priority-Based Buffer Management. Proc. 6th VLDB Conf., 990, pp
18 Prioritätsgesteuerte Seitenersetzung () DB-Pufferverwaltung bei Seiten variabler Größe Verfahren PRIORITY HINTS: - Unterscheidung zwischen bevorzugten und normalen Seiten (z.b. zyklisch referenzierte Seiten sollen bevorzugt werden) - bei IX-Aufruf wird angegeben, ob Seite bevorzugt werden soll - normale Seiten werden vorrangig ersetzt (z.b. gemäß globaler LRU-Strategie) - bevorzugte Seiten werden transaktionsspezifisch verwaltet (TA-bezogene, dynamische Pufferpartitionen) - Ersetzung von bevorzugten Seiten erfolgt: prioritätsgesteuert gemäß MRU (most recently used) innerhalb einer Prioritätsstufe - Sind keine bevorzugten Seiten geringerer Priorität ersetzbar, wird eine Seite aus dem TA-spezifischen Puffer verdrängt S4 86 U S60 77 S8 76 U S0 4 S4 6 U T Priorität Seitengröße - keine beliebigen Seiten (ragmentierung, Abbildung auf Externspeicher) - Seitenlänge (SL) als Vielfaches eines Einheitsrasters (Transporteinheit, Rahmengröße im DB-Puffer) - Beispiel: SL =,, 4,, n Rahmengröße ( n 8) Trennung von Seite und Rahmen (Rastergröße) Schnittstellenforderung: Zusammenhängende Speicherung der Seite im DB-Puffer Buddy-System (BS-Algorithmus) n n- n- b b b b f f ungefixte bevorzugte Seiten S6 78 gefixte bevorzugte Seiten U S49 66 S4 U T Priorität b b f 0 - Verwaltung variabler Bereiche: frei(f) / belegt(b) (festes Raster, hierarchischer Vergabemechnismus) S99 9 S T Priorität - Suche nur in freien Bereichen (belegte Bereiche können nicht verschoben werden) - Zusammenfassung von freien Neffen aufwendig - - 6
19 Zusätzliche Anforderungen an DB-Pufferverwaltung DB-Pufferverwaltung Seiten variabler Länge Zustände von Seiten/Rahmen Belegungsbeispiel bei Seiten variabler Größe und Rahmen fester Größe - frei: keine Seite vorhanden - unfixed: Seite ist ersetzbar/verschiebbar - fixed: Seite muss Pufferadresse behalten Vermeidung von Seitenersetzungen - Umlagern von Seiten mit Unfix-Vermerk und hoher Wiederbenutzungswahrscheinlichkeit Probleme: - Puffer-ragmentierung Suche nach bestem Ersetzungskandidaten Was heißt bester Ersetzungskandidat? - Ersetzung mehrerer Seiten zur Erfüllung einer neuen Seitenanforderung - Wiederbenutzungs-WS: Anzahl der Referenzen, Alter, letzte Referenz einer Seite - ragmentierung/lückenbenutzung: first fit, best fit - Rahmeninhalte: Anteil ersetzbarer und freier Rahmen - Anzahl der zu ersetzenden Seiten zur Platzbeschaffung für eine neue Seite Kombination von Ersetzung und Umlagern von Seiten sehr komplexe Entscheidungssituation Ziele: - Maximierung der Pufferbelegung (Speicherplatzoptimierung) - Minimierung der E/A durch Berücksichtigung von Lokalität im Referenzverhalten Vorschlag für einen Algorithmus: VAR-PAGE-LRU - Was heißt hier LRU? Alternative: Paritionierung - Konfigurierung von mehreren DB-Puffern jeweils für Seiten gleicher Größe - Einsatz anwendungs- und typabhängiger Ersetzungsverfahren - DB erlaubt bis zu 80 Puffer - 7 Neue Aufgabenstellung: Caching und spekulatives Prefetching von Dokumenten in Speicherhierarchien (Tertiärspeicher) 6. A. Sikeler: VAR-PAGE-LRU A Buffer Replacement Algorithm Supporting Different Page Sizes. in Proc. Extending Database Technology, 988, Springer, LNCS 0, pp A. Kraiss, G. Weikum: Integrated Document Caching and Prefetching in Storage Hierarchies Based on Markov-Chain Predictions, in: VLDB Journal 7:, pp. 4-6,
20 Seitenersetzung bei virtuellem Speicher Zusammenfassung DB virtueller Speicher P SP virtuell Hauptspeicher SP real Referenzmuster in DBS sind Mischformen - sequentielle, zyklische, wahlfreie Zugriff - Lokalität innerhalb und zwischen Transaktionen - bekannte Seiten mit hoher Referenzdichte - Erkennen von Scan-basierter Verarbeitung Ohne Lokalität ist jede Optimierung der Seitenersetzung sinnlos (~ RANDOM) Suche im Puffer durch Hash-Verfahren P Speicherzuteilung: Magnetplatte Magnetplatte H S P - global alle Pufferrahmen für alle Transaktionen (Einfachheit, Stabilität,...) - lokal Sonderbehandlung bestimmter TAs/Anfragen/ DB-Bereiche Behandlung geänderter Seiten: NOORCE, asynchrones Ausschreiben Page ault: P i (P ) in SP virtuell, aber nicht in SP real (HSP) Database ault: P i (P ) nicht in SP virtuell, Seitenrahmen für P i jedoch in SP real Double Page ault: P i (P ) nicht in SP virtuell, ausgewählter Seitenrahmen nicht in SP real Seitenersetzungsverfahren - Prefetching und Pipelining mit Wechselpuffer - zu genaue Verfahren sind schwierig einzustellen ( instabil) - Nutzung mehrerer Kriterien: Alter, letzte Referenz, Referenzhäufigkeit - CLOCK ~ LRU, aber einfachere Implementierung - GCLOCK, LRD, LRU-K relativ komplex - LRU- guter Kompromiss; vorletzter Referenzzeitpunkt bestimmt Opfer Erweiterte Ersetzungsverfahren - Nutzung von Zugriffsinformationen des Anfrage-Optimierers - Hot Set Model - Einsatz vieler Puffer zur Separierung von Lasten verschiedenen Typs, optimiert für spezifische Datentypen Double-Paging sollte vermieden werden
3. DB-Pufferverwaltung
. DB-Pufferverwaltung Ziel: Realisierung einer effizienten, seitenbasierten Verarbeitungsplattform im Hauptspeicher - größtmögliche Vermeidung von physischer Ein-/Ausgabe - Ersetzungsverfahren ohne und
3. DB-Pufferverwaltung
3. DB-Pufferverwaltung Rolle der DB-Pufferverwaltung 1 - Ablauf des Zugriffs auf den DB-Puffer - logische und physische Seitenreferenzen Speicherzuteilung im DB-Puffer Suche im DB-Puffer Seitenersetzungsverfahren
4. DBS-Pufferverwaltung
4. DBS-Pufferverwaltung llgemeine Charakteristika blauf des Pufferzugriffs Referenzstrings, Stacktiefenverteilung Speicherzuteilung im Puffer Suche im Puffer Schreibstrategien (Force vs. Noforce) Lesestrategien
3. Speichersystem / Pufferverwaltung
3. Speichersystem / Pufferverwaltung Dateiverwaltung Direkte vs. indirekte Seitenzuordnung Segmentkonzept direkte vs. indirekte Einbringstrategien DB-Pufferverwaltung: Grundlagen allgemeine Merkmale Speicherzuteilung
3. Speichersystem / Pufferverwaltung
3. Speichersystem / Pufferverwaltung Dateiverwaltung Direkte vs. indirekte Seitenzuordnung Segmentkonzept Indirekte Einbringstrategien DB-Pufferverwaltung: Grundlagen Allgemeine Charakteristika Speicherzuteilung
Implementierung von Datenbanksystemen
Implementierung von Datenbanksystemen Kapitel 3: Teile dieses Foliensatzes beruhen auf ähnlichen Vorlesungen, gehalten von Prof. Dr. T. Härder am Fachbereich Informatik der Universität Kaiserslautern und
3. Speichersystem / Pufferverwaltung
3. Speichersystem / Pufferverwaltung Dateiverwaltung Direkte vs. indirekte Seitenzuordnung Segmentkonzept Indirekte Einbringstrategien DB-Pufferverwaltung: Grundlagen Allgemeine Charakteristika Speicherzuteilung
3. Speichersystem / Pufferverwaltung
3. Speichersystem / Pufferverwaltung Dateiverwaltung Direkte vs. indirekte Seitenzuordnung Segmentkonzept Indirekte Einbringstrategien DB-Pufferverwaltung: Grundlagen Allgemeine Charakteristika Speicherzuteilung
3. DB-Pufferverwaltung
. D-Pufferverwaltung Rolle der D-Pufferverwaltung in einem Datenbanksystem Ziel: Realisierung einer effizienten, seitenbasierten Verarbeitungsplattform im Hauptspeicher - größtmögliche Vermeidung von physischer
3. DB-Pufferverwaltung
. DB-Pufferverwaltung Ziel: Realisierung einer effizienten, seitenbasierten Verarbeitungsplattform im Hauptspeicher - größtmögliche Vermeidung von physischer Ein-/Ausgabe - Ersetzungsverfahren ohne und
Realisierung eines Dateisystems. Blockzuordnung bei Magnetplatten
Übersicht 0 Aufbau des Speichersystems Dateien und Blöcke Realisierung eines Dateisystems Blockzuordnung bei Magnetplatten Kontrolle der E/A Operationen Segmente und Seiten Aufgaben und Eigenschaften Seitenabbildung
4 Systempuffer (Buffer Pool) Prof. Dr.-Ing. Wolfgang Lehner
4 Systempuffer (Buffer Pool) Prof. Dr.-Ing. Wolfgang Lehner > Gliederung Arbeitsweise und Eigenschaften Dienste eines Systempuffers Suche im DB-Puffer Einsatz von Seitenreferenzstrings Working-Set Modell
Rückblick: Architektur und Hintergrundspeicher
Rückblick: Architektur und Hintergrundspeicher Prototypische Architektur eines RDBMS Speicherhierarchie mit Zugriffslücke (10 5 ) zwischen Primär- und Sekundärspeicher (z.b. HDD) RAIDs zur Erhöhung der
Betriebssysteme Kap J, Teil C: Paging, Pagereplacement
Betriebssysteme Kap J, Teil C: Paging, Pagereplacement 1 Welche Seite soll ausgelagert werden? Ein- / Auslagern benötigt Zeit Kontextwechsel erforderlich» Wechsel zu einem BS-Prozess, welcher für das Management
DB IIb, Implementierung von Datenbanken
DB IIb, Implementierung von Datenbanken Alexander Hinneburg WS 2008/2009 Inhaltsverzeichnis 1 Organisation 1 2 Architektur eines DBS 2 2.1 Anforderungen an DBS..................................... 2 2.2
Komponenten der Zugriffszeit
Kapazität vs. Geschwindigkeit vs. Preis Typische Kapazität großer Systeme (Bytes Petabyte 0 5 0 3 Terabyte 0 Gigabyte 0 9 0 7 Megabyte 0 5 Kilobyte 0 3 Hauptsp. Cache Kapazität vs Geschwindigkeit Sekundärsp.
Leichtgewichtsprozesse
Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden
Leichtgewichtsprozesse
Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden
In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher
Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher
Teil 2: Speicherstrukturen
Inhalt Teil 2: Speicherstrukturen Hauptspeicher Cache Assoziativspeicher Speicherverwaltungseinheit ( Memory Management Unit ) 1 Virtueller Speicher Trennung von virtuellem Adreßraum (mit virtuellen Adressen)
Übung Praktische Informatik II
Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung
Methodik zur Optimierung in Datenbanken. Anja Rommel, 14-INM
Methodik zur Optimierung in Datenbanken Anja Rommel, 14-INM 03.07.2015 Gliederung 1. Einleitung 2. Motivation und Ziele 3. Phasen der Optimierung 3.1. Phase 1: Optimierung des DB-Schemas und Anwendungsoptimierung
5. Aufgabenblatt Speicherverwaltung
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Betriebssysteme und Sicherheit, WS 0/. Aufgabenblatt Speicherverwaltung Geplante Bearbeitungszeit: drei Wochen Aufgabe.
KAPITEL 2 SPEICHERSTRUKTUREN UND VERWALTUNG DES HINTERGRUNDSPEICHERS
KAPITEL 2 SPEICHERSTRUKTUREN UND VERWALTUNG DES HINTERGRUNDSPEICHERS h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2017/18 Kapitel 2: Speicherstrukturen und Verwaltung des Hintergrundspeichers 1 Speicherstrukturen
Lösung von Übungsblatt 2
Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende
In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.
1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?
Wie groß ist die Page Table?
Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten
(Cache-Schreibstrategien)
Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. 2. Nennen Sie zwei rotierende magnetische digitale Datenspeicher. 3. Nennen Sie zwei
Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR
#7 Terminchaos Nächste Vorlesungen: 27. 5. Vertretung durch Prof. Fekete 3. 6. Exkursionswoche 10. 6. Vertretung durch N.N. 17. 6. back to normal... Experiment Durchlaufe zwei gleichgrosse Arrays: Sortierte
Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.
Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Aufbau von und Zugriff auf Festplatte Aufbau einer (klassischen) Festplatte Zugriffskamm
Lösung von Übungsblatt 2
Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende
2.3 Prozessverwaltung
Realisierung eines Semaphors: Einem Semaphor liegt genau genommen die Datenstruktur Tupel zugrunde Speziell speichert ein Semaphor zwei Informationen: Der Wert des Semaphors (0 oder 1 bei einem binären
Speicherverwaltung (Swapping und Paging)
Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente
Physische Datenorganisation
Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID ( B-Bäume Hashing R-Bäume ) Kapitel 7 1 Überblick: Speicherhierarchie Register Cache Hauptspeicher Plattenspeicher Archivspeicher
Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22
Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22 Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent.
Implementierung von Datenbanksystemen 1 (IDBS1)
Implementierung von Datenbanksystemen 1 (1) 1 Wintersemester 2006/2007 Prof. Dr. Erhard Rahm Universität Leipzig Institut für Informatik http://dbs.uni-leipzig.de Prof. E. Rahm 0-1 Lehrveranstaltungen
Optimierung von Datenbanken
Optimierung von Datenbanken Vortrag in Datenbanken II Bettina Keil 19. Juni 2008 Optimierung von Datenbanken 1/17 Gliederung Motivation Optimierung von Datenbanken 2/17 Motivation Performancesteigerung:
Hash-Verfahren. Einführung
Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.
Übung zu Grundlagen der Betriebssysteme. 14. Übung
Übung zu Grundlagen der Betriebssysteme 14. Übung 29.01.2012 Aufgabe 1 Demand Paging a) Was wird unter dem Begriff Demand Paging verstanden? b) Was sind Vor- und Nachteile des Demand Paging? Bei Demand
Hash-Verfahren. Prof. Dr. T. Kudraß 1
Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.
Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme
Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München
Sharing und invertierte Seitentabellen
Sharing und invertierte Seitentabellen Adressräume Seite Kachel / Rahmen MMU Hardware schwierig, da nur eine virtuelle Adresse pro Kachel Hauptspeicher z. B. 512 MB Betriebssysteme WS 2012, Speicher 68
Datenbanksysteme II a
3 ABBILDUNG VON SEITEN UND SEGMENTEN AUF BLÖCKE Datenbanksysteme II a Einordnung im vereinfachten Schichtenmodell deskriptive Anfragen Zugriff auf Satzmengen Institut für Informatik Dr.-Ing. Wolfgang Lehner
Aufbau Datenbanksysteme
Aufbau Datenbanksysteme Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Speichersystem c Ingo Claßen, Martin Kempa Softwarearchitektur
w 1 (A) T 1 w 3 (B) w 1 (D) b 3 flush(p D ) flush(p B ) flush(p B )
Aufgabe 1 Logging (8+5 Punkte) Logging und Recovery Gegeben sei ein DBMS, das die parallel laufenden Transaktionen T 1, T 2 und T 3 verwaltet. Dabei ändert T 1 die Datenelemente A, B, C und D, T 2 die
Grob-Struktur des Prozessor-Speichersystems
2.3.2 Speicherstruktur (1) Grob-Struktur des Prozessor-Speichersystems Chipsatz (Erklärung s. später, Folie 104) 22.4.-27.5.2013, Folie 52 2.3.2 Speicherstruktur (2) Zugriff Prozessor zumeist auf schnelle
Virtueller Speicher WS 2011/2012. M. Esponda-Argüero
Virtueller Speicher WS / Virtuelle Speicher Bis jetzt sind wir davon ausgegangen, dass Prozesse komplett im Hauptspeicher gelagert werden. Speicherreferenzen sind nur logische Adressen, die dynamisch in
Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1
Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet
Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).
Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle
Technische Realisierung (1)
Technische Realisierung () Einfachstes Modell: Prozess (Daten+Code) befindet sich im Hintergrundspeicher Bei teilweise eingelagerten Prozessen: Zusätzlich Teile im Hauptspeicher Logische Adressen überdecken
Lösung von Übungsblatt 5
Lösung von Übungsblatt 5 Aufgabe 1 (Speicherverwaltung) 1. Bei welchen Konzepten der Speicherpartitionierung entsteht interne Fragmentierung? Statische Partitionierung f Dynamische Partitionierung Buddy-Algorithmus
Grundlagen der Rechnerarchitektur. Speicher
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
Einführung Verteilte DBS Schemaarchitektur Katalogverwaltung Namensverwaltung
3. Verteilte Datenbanksysteme: architektur und Katalogverwaltung Einführung Verteilte DBS architektur Katalogverwaltung Namensverwaltung WS15/16, Prof. Dr. E. Rahm 3-1 Grobaufbau eines Verteilten DBS Rechnerknoten
Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.
Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur
Adreßräume. Motivation. Seitenersetzung (Paging) Systemsoftware. = Referenzlokalität. Seite 2.1. Instruktionen werden wiederholt ausgeführt
Adreßräume Seitenersetzung (Paging) Motivation Instruktionen werden wiederholt ausgeführt Variablen werden wiederholt referenziert Gründe: Sequentielle Ausführung überwiegt Tatsächliche Prozedurverschachtelung
Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach
Cache-Speicher Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Cache-Speicher Warum Cache-Speicher? Cache-Strukturen Aufbau und Organisation von Caches Cache-Architekturen Cache-Strategien
Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann
Speicher- und Cacheverwaltung unter Linux Ralf Petring & Guido Schaumann Übersicht Virtueller Adressraum Virtuelle Speicheraufteilung Reale Speicheraufteilung Speicherverwaltung Speicherzugriff Auslagerungsstrategien
Algorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen
B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme
B / B* - Bäume Guido Hildebrandt Seminar Datenbanksysteme 25.11.2010 Gliederung Einleitung Binärbaum B - Baum B* - Baum Varianten Zusammenfassung Quellen Gliederung Einleitung Binärbaum B - Baum B* - Baum
Algorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 6. Vorlesung Martin Middendorf / Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Merge-Sort Anwendbar für
Wunschvorstellung der Entwickler vom Speicher
Wunschvorstellung der Entwickler vom Speicher Unendlich groß Unendlich schnell Nicht flüchtig billig Obwohl sich der verfügbare Speicher laufend erhöht, wird immer mehr Speicher benötigt, als verfügbar
Abschluss Einblick und Ausblick
Abschluss Einblick und Ausblick Prof. Dr. T. Kudraß 1 Benutzer Komponenten eines DBMS (Überblick) I/O-Prozessor Output-Generierung Parser für selbst. oder eingebettete Kommandos Precompiler Autorisierungs-Kontrolle
Übung 14. Tutorübung zu Grundlagen Datenbanken (Gruppen DO-T24 / DO-T31 WS 2016/2017)
Übung 14 Tutorübung zu Grundlagen Datenbanken (Gruppen DO-T24 / DO-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/fischerd Technische Universität München Fakultät für Informatik
Mehrwegbäume Motivation
Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 24.01.2013 Online Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
Wintersemester 2016/ Matrikelnummer: Hinweise. Unterschrift
Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken II Prüfung Wintersemester
Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme
Seite 1 Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme 1 11.07.2007 Hinweise: Bevor Sie mit der Bearbeitung der Aufgaben beginnen, müssen Sie auf allen Blättern Ihren Namen und Ihre
Freispeicherverwaltung
Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt
Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1
Systeme 1 Kapitel 3 Dateisysteme WS 2009/10 1 Letzte Vorlesung Dateisysteme Hauptaufgaben Persistente Dateisysteme (FAT, NTFS, ext3, ext4) Dateien Kleinste logische Einheit eines Dateisystems Dateitypen
Kapitel 2: Referenzarchitektur für Datenbanksysteme. Kapitel 2: Referenzarchitektur für Datenbanksysteme. Was ist ein Dienst?
Kapitel 2: Referenzarchitektur für Datenbanksysteme Kapitel 2: Referenzarchitektur für Datenbanksysteme Methodischer Architekturentwurf Architekturentwurf für Datenbanksysteme Referenzarchitektur Methodischer
2. Architektur verteilter Datenbanksysteme
2. Architektur verteilter Datenbanksysteme Verteilte Datenbank, kurz DDB (engl. distributed database): eine Sammlung logisch zusammengehöriger Datenbanken, welche über Rechnerknoten ( Sites ) verteilt
Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner
Konzepte von Betriebssystemkomponenten Referat am 24.11.2003 Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Gliederung Adressräume Page Faults Demand Paging Copy
Virtueller Speicher und Memory Management
Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write
Betriebssysteme (BS)
Betriebssysteme (BS) Virtueller Speicher Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 2 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ In
Cache Blöcke und Offsets
Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich
Übungsblatt 8 Lösungsvorschläge
Prof. Dr. T. Härder Fachbereich Informatik Arbeitsgruppe Datenbanken und Informationssysteme Universität Kaiserslautern Übungsblatt 8 Lösungsvorschläge für die freiwillige Übung Unterlagen zur Vorlesung:
Kapitel 1 Grundlagen. Skript zur Vorlesung: Datenbanksysteme II Sommersemester Vorlesung: PD Dr. Peer Kröger
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2016 Kapitel 1 Grundlagen Vorlesung: PD Dr. Peer Kröger http://www.dbs.ifi.lmu.de/cms/datenbanksysteme_ii
Teil VII. Hashverfahren
Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:
Echtzeit-Multitasking
Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme
Konzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005
Konzepte von Betriebssystem- Komponenten Olessia Usik olessia@freenet.de 20. Juni 2005 1 GROß 2 SCHNELL UNENDLICH Gliederung 1. Einleitung 2. Swapping 3. Virtuelle Speicherverwaltung 3.1 Segmentorientierter
Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at
Memory Management Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Speicherverwaltung Effektive Aufteilung und Verwaltung des Arbeitsspeichers für BS und Programme Anforderungen
Echtzeit-Multitasking
Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme
(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl
Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112
IR Seminar SoSe 2012 Martin Leinberger
IR Seminar SoSe 2012 Martin Leinberger Suchmaschinen stellen Ergebnisse häppchenweise dar Google: 10 Ergebnisse auf der ersten Seite Mehr Ergebnisse gibt es nur auf Nachfrage Nutzer geht selten auf zweite
Kapitel 12: Schnelles Bestimmen der Frequent Itemsets
Einleitung In welchen Situationen ist Apriori teuer, und warum? Kapitel 12: Schnelles Bestimmen der Frequent Itemsets Data Warehousing und Mining 1 Data Warehousing und Mining 2 Schnelles Identifizieren
6. Anfragebearbeitung
6. Anfragebearbeitung 6.1 Einleitung 6.2 Indexstrukturen 6.3 Grundlagen der Anfrageoptimierung 6.4 Logische Anfrageoptimierung 6.5 Kostenmodellbasierte Anfrageoptimierung 55 Fokus: Effiziente Berecnung
Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404
Betriebssysteme I WS 2016/2017 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 2. Februar 2017 Betriebssysteme / verteilte Systeme Betriebssysteme
Vorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.
Verteilte Systeme 19. Distributed Shared Memory Sharing!! No Sharing! Sharing? Evolution der Berechnungsmodelle Vergangenheit Gemeinsamer Speicher Einzelrechner Gegenwart Nachrichtenkommunikation Verteilte
Was machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a
Was machen wir heute? Betriebssysteme Tutorium 11 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1
RO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
Verdrängung eingelagerter Fragmente
Verdrängung eingelagerter Fragmente Platz schaffen zur Einlagerung anderer Fragmente (d.h., Seiten oder Segmente) Konsequenz zur Durchsetzung der Ladestregie bei Arbeitsspeichermangel wenn eine Überbelegung
[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash
Übungen Aufgabe 1 Geben ist die folgende Logdatei: [start_transaction, T1] [W, T1, D, 20] [commit, T1] [checkpoint] [start_transaction, T2] [W, T2, B, 12] [start_transaction, T4] [W, T4, D, 15] [start_transaction,
Datenbanken: Indexe. Motivation und Konzepte
Datenbanken: Indexe Motivation und Konzepte Motivation Warum sind Indexstrukturen überhaupt wünschenswert? Bei Anfrageverarbeitung werden Tupel aller beteiligter Relationen nacheinander in den Hauptspeicher
é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus
4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts
Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft
Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode