Die Idee hinter Copying Garbage Collection (1) Aufteilung des Heaps in zwei Teile: To-Space und From-Space Nutzung eines Teiles durch das Programm Ist.

Slides:



Advertisements
Ähnliche Präsentationen
Prüfung objektorientierter Programme -1
Advertisements

DGC 1. 2 Motivation x new(x) delete(x) Speicher DGC 3 Inhalt Einführung GC / DGC Der ideale DGC Algorithmen Zusammenfassung.
Vorlesung Programmieren II
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Spezialvorlesung Suchalgorithmen Thema: Einzelzustandsraumsuche Stefan Edelkamp.
PlanetenWachHundNetz Instrumenting Infrastructure for PlanetLab.
Kapitel 6: Klassifizierung von Sortiertechniken
Kapitel 6. Suchverfahren
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
der Universität Oldenburg
On a Buzzword: Hierachical Structure David Parnas.
Informierte Suche.
Suchbäume Richard Göbel.
Sortierverfahren Richard Göbel.
FH-Hof Künstliche Intelligenz - Suchbäume Richard Göbel.
Java: Dynamische Datentypen
Listen Richard Göbel.
Sortierverfahren Richard Göbel.
Indirekte Adressierung
Effizienz: Indexstrukturen
Java: Referenzen und Zeichenketten
Garbage Collection Maik Theisen Betreuer: Guido Tack
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation.
Grundlegende Analysen & Zwischendarstellungen
Vorlesung 4: Memory Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
DVG Klassen und Objekte
Teil I: Uninformierte Suche
Wirtschaftsinformatik
Splay Trees Von Projdakov Benjamin.
2. Die rekursive Datenstruktur Baum 2
Sortieralgorithmen Sortieren von Arrays.
Mark & Sweep Seminar Softwareentwicklung: Garbage Collection Eva Schartner.
Java Garbage Collection Angelika Kusel, Überblick Was ist Garbage Collection? Vor- und Nachteile von GC GC-Algorithmen/Verfahren Java Garbage.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Diskrete Mathematik II
Effiziente Algorithmen
Efficient Alias Set Analysis Using SSA Form Proseminar Programmanalyse WS 11/12 André Hunke.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Vom Umgang mit Daten. public void myProgram() { int[] saeulenWerte = new int[world.getSizeX()]; for (int i = 0; i < saeulenWerte.length; i++) { saeulenWerte[i]
Algorithm Engineering „GPU Algorithmen“
Garbage Collection unter .NET
Stefan Loidl, , Reference Counting II Freigeben zyklischer Zellstrukturen.
Thread Synchronisation in JAVA
Variablenkonzept Klassisch, in Java Basistyp
Mark – Compact GC & Performancemessungen Bernhard Prügl,
Thomas Negeli | Reference Counting I Folie 1 / 20 Seminar Garbage Collection | WS2005 Reference Counting I Negeli Thomas.
JAVA/DSM A Platform for Heterogeneous Computing Serge F. Possono M. Technische Universität Muenchen (TUM) Lehr- und Forschungseinheit Informatik X Rechnertechnik.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
Vor an auf über PRÄPOSITIONEN unter neben zwischen hinter in.
Algorithmen und Datenstrukturen 1 SS 2002
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
IntelliVideo1 / 25 IntelliVideo Der intelligente Videorekorder.
Der Train-Algorithmus
Distributed Database Systems Parallele Datenbanksysteme von Stefan Schneider.
C Tutorium – Memory Management – Knut Stolze. 2 Agenda Einführung in die Speicherverwaltung Stack vs. Heap Malloc Free Sizeof Tipps/Hinweise.
5 Memory Leaks, die auch in Ihrer.NET Anwendung sein könnten André Krämer Softwareentwickler, Trainer, Berater.
Spatial Partition Game Programming Patterns / Optimization Patterns AM3: Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Dozent: Prof.
Game Loop & Update Method Robert Nystrom – Game Programming Patterns Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung SS.
Sortierverfahren Mit VB 2010 express edition JBS Tr, info Q1.
Tutorium Software-Engineering SS14 Florian Manghofer.
© 2016 TravelTainment Einführung in die Garbage Collection Seminarvortrag Lars Frauenrath 1.
Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS Automatische Speicherverwaltung.
Das IT - Informationssystem
Heapsort-Algorithmus
 Präsentation transkript:

Die Idee hinter Copying Garbage Collection (1) Aufteilung des Heaps in zwei Teile: To-Space und From-Space Nutzung eines Teiles durch das Programm Ist der Heap(-Teil) aufgebraucht, findet Garbage Collection statt und das Programm wird anschliessend im anderen Teil fortgesetzt

Die Idee hinter Copying Garbage Collection (2) Vertauschen der beiden Hälften (From-Space, To-Space) Kopieren der Objekte aus der root-set in den To-Space Scannen der Objekte im To-Space und ggf. Kopieren referenzierter Objekte bzw. Korrektur der Referenzen

Cheneys Copying Collector (1) Iterativer Algorithmus Verbindet Kopieren und Scannen Verwendet zwei Zeiger: scan / free Forwarding-Zeiger um Sharing zu garantieren The tricolour abstraction

Cheneys Copying Collector (2) Der Algorithmus:

Allokation CPU-Kosten von stop-and-go Garbage Collection niedrig, da nur aktive Knoten besucht werden und das Kopieren von kleinen Objekten billig ist Überprüfen des Speichers im Semispace Inkrementieren des free Zeigers Rückgabe der neuen Adresse

Multiple-Area Collection Statische Bereiche (static area) Bereiche für grosse Objekte (large object area) Compacting Garbage Collection:

Effizienz R … Anzahl der erreichbaren Knoten c … Konstante (abhängig von der Zelle) M...Grösse eines Semi-Space s …Grösse einer Zelle g …CPU-Kosten pro Garbage Collection einer Zelle

Lokalität Falsche Strategie zerstört die Lokalität (z.B.: Cheneys breadth-first search) Richtige Heap-Grösse wählen Paging Unterstützung durch Betriebssystem

Umgruppierungsstrategien Depth-first vs Breadth-first Copying Stackless recursive copying collection Approximately depth-first copying Hierarchical decomposition Hash tables

Stackless recursive copying collection Grundeinheit der Heap Allokation ist ein frame of closures von variabler Länge Jedes closure enthält einen Code-Zeiger und einen Zeiger auf einen Heap-Rahmen Rekursiv, aber Rekursionsstack liegt in bereits besuchten From-Space closures

Approximately Depth-first Copying Es wird immer an der zuletzt teilweise gefüllten Seite im To- Space fortgesetzt Partial untersucht die Seite am Ende von To-Space (benutzt Breitensuche) Ist Partial fertig, wird übliche Breitensuche fortgesetzt und To- Space Objekte eingelesen

Hierarchical decomposition Ähnlich wie Approximately depth-first copying 4 Zeiger (2 Scan, 2 Free) Nur für Baumstrukturen empfehlenswert

Hash tables Traversieren vermeiden Lineare Liste globaler Variablen Objekte nach Entstehung geordnet Liste wird von Garbage Collection verwendet Collector erreicht Objekte in der Erzeugungsreihenfolge Gute Lokalität

Copying Collection – Ja oder Nein? Ja wenn Speicherverwaltung von Allokation dominiert wird Es viele kleine, kurzlebige Objekte gibt Die Verzögerung durch GC keine Rolle spielt Alternative: Hybrides System: ein Teil wird von einem Copying Collector behandelt, ein anderer Teil vom z.B. Mark-Sweep oder Mark-Compact Copying Garbage Collection bildet die Grundlage für andere Verfahren. Generationale und inkrementelle Garbage Collection bauen auf Copying auf.

Danke für Ihre Aufmerksamkeit! FRAGEN ?