der train-algorithmus thomas wuerthinger. grundidee
TRANSCRIPT
![Page 1: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/1.jpg)
Der Train-Algorithmus
Thomas Wuerthinger
![Page 2: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/2.jpg)
Grundidee
![Page 3: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/3.jpg)
Grundidee
• Lange Programmunterbrechung -> den Speicher aufspalten
![Page 4: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/4.jpg)
Speicher aufteilen
![Page 5: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/5.jpg)
Speicher aufteilen
![Page 6: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/6.jpg)
Speicher aufteilen
![Page 7: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/7.jpg)
Sehr große Objekte
![Page 8: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/8.jpg)
Zyklusproblem
![Page 9: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/9.jpg)
Lösung
• Zyklen in gleiche Blöcke bringen
![Page 10: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/10.jpg)
Lösung
![Page 11: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/11.jpg)
Lösung
![Page 12: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/12.jpg)
Der Bahnhof
![Page 13: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/13.jpg)
Der BahnhofKeine externen Referenzen
![Page 14: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/14.jpg)
Der Bahnhof
![Page 15: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/15.jpg)
Der Bahnhof
![Page 16: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/16.jpg)
Fehler
![Page 17: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/17.jpg)
Addresse -> Car und Train
![Page 18: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/18.jpg)
Addresse -> Car und Train
![Page 19: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/19.jpg)
Popular Objects
• Performance-Overhead bei jedem lesendem Pointer-Zugriff
![Page 20: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/20.jpg)
Popular Objects – Problem 1
• Nur mehr von B oder C Referenziertes wird nie freigegeben.
![Page 21: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/21.jpg)
Popular Objects – Problem 2
![Page 22: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/22.jpg)
Popular Objects – Problem 3• Mehr als ein Popular Object -> Car muss aufgespalten werden.
![Page 23: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/23.jpg)
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.
![Page 24: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/24.jpg)
Unwanted Relative
![Page 25: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/25.jpg)
Conclusion
• Meist als Algorithmus für die ältere Generation verwendet. Beispiel: Java Hotspot VM
• Optimierungen wie bei Popular Objects verbessern die maximale Ausführungsdauer
![Page 26: Der Train-Algorithmus Thomas Wuerthinger. Grundidee](https://reader035.vdocuments.mx/reader035/viewer/2022062411/570491c41a28ab14218da4e6/html5/thumbnails/26.jpg)
Danke für die Aufmerksamkeit!