Der Train-Algorithmus Thomas Wuerthinger
Grundidee
Grundidee Lange Programmunterbrechung -> den Speicher aufspalten
Speicher aufteilen
Speicher aufteilen
Speicher aufteilen
Sehr große Objekte
Zyklusproblem
Lösung Zyklen in gleiche Blöcke bringen
Lösung
Lösung
Der Bahnhof
Der Bahnhof Keine externen Referenzen
Der Bahnhof
Der Bahnhof
Fehler
Addresse -> Car und Train
Addresse -> Car und Train
Popular Objects Performance-Overhead bei jedem lesendem Pointer-Zugriff
Popular Objects – Problem 1 Nur mehr von B oder C Referenziertes wird nie freigegeben.
Popular Objects – Problem 2
Popular Objects – Problem 3 Mehr als ein Popular Object -> Car muss aufgespalten werden.
Distributed Train-Algorithmus Externe Referenzen müssen dem Objekt-Besitzer mitgeteilt werden Trains sind über mehrere Knoten verteilt Token-Ring-System zur Freigabe von Zügen Zwei Durchläufe des Tokens notwendig Beliebiger Train kann verarbeitet werden, daher Unwanted Relative Problem.
Unwanted Relative
Conclusion Meist als Algorithmus für die ältere Generation verwendet. Beispiel: Java Hotspot VM Optimierungen wie bei Popular Objects verbessern die maximale Ausführungsdauer
Danke für die Aufmerksamkeit!