Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

26
Der Train-Algorithmus Thomas Wuerthinger

Transcript of Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Page 1: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Der Train-Algorithmus

Thomas Wuerthinger

Page 2: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Grundidee

Page 3: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Grundidee

• Lange Programmunterbrechung -> den Speicher aufspalten

Page 4: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Speicher aufteilen

Page 5: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Speicher aufteilen

Page 6: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Speicher aufteilen

Page 7: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Sehr große Objekte

Page 8: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Zyklusproblem

Page 9: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Lösung

• Zyklen in gleiche Blöcke bringen

Page 10: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Lösung

Page 11: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Lösung

Page 12: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Der Bahnhof

Page 13: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Der BahnhofKeine externen Referenzen

Page 14: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Der Bahnhof

Page 15: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Der Bahnhof

Page 16: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Fehler

Page 17: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Addresse -> Car und Train

Page 18: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Addresse -> Car und Train

Page 19: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Popular Objects

• Performance-Overhead bei jedem lesendem Pointer-Zugriff

Page 20: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Popular Objects – Problem 1

• Nur mehr von B oder C Referenziertes wird nie freigegeben.

Page 21: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Popular Objects – Problem 2

Page 22: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

Popular Objects – Problem 3• Mehr als ein Popular Object -> Car muss aufgespalten werden.

Page 23: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

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.

Unwanted Relative

Page 25: Der Train-Algorithmus Thomas Wuerthinger. Grundidee.

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.

Danke für die Aufmerksamkeit!