TU Darmstadt / ULB / TUbiblio

Headroom-based pretenuring: dynamically pretenuring objects that live “long enough”

Sewe, Andreas ; Yuan, Dingwen ; Sinschek, Jan ; Mezini, Mira :
Headroom-based pretenuring: dynamically pretenuring objects that live “long enough”.
[Online-Edition: http://dx.doi.org/10.1145/1852761.1852767]
In: 8th International Conference on the Principles and Practice of Programming in Java - PPPJ '10, 15-17 Sep 2010, Vienna, Austria. Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java - PPPJ '10
[Konferenz- oder Workshop-Beitrag], (2010)

Offizielle URL: http://dx.doi.org/10.1145/1852761.1852767

Kurzbeschreibung (Abstract)

Many modern garbage collectors are generational, operating under the assumption that “most objects die young.” Such collectors allocate all objects in a frequently collected nursery and tenure only surviving objects to a less-frequently collected, older generation. But these survivors induce copying costs upon tenuring. To avoid these costs, pretenuring schemes construct classifiers to predict whether an object will be long-lived or short-lived; accordingly, it is tenured or not immediately upon allocation. Up to now, however, these predictions did not account for one important fact: the proximity of the next collection. In contrast, headroom-based pretenuring does take this into account; thus, it can dynamically pretenure objects whenever they live “long enough.”

We devised two ways to estimate an object's lifetime from garbage collection traces. This led to two headroom-based pretenuring schemes, which we implemented on top of Jikes RVM and MMTk. Our experiments show that the dynamic, headroom-based pretenuring schemes outperform static schemes in terms of collector performance, albeit at the cost of increased mutator overhead.

Typ des Eintrags: Konferenz- oder Workshop-Beitrag (Keine Angabe)
Erschienen: 2010
Autor(en): Sewe, Andreas ; Yuan, Dingwen ; Sinschek, Jan ; Mezini, Mira
Titel: Headroom-based pretenuring: dynamically pretenuring objects that live “long enough”
Sprache: Englisch
Kurzbeschreibung (Abstract):

Many modern garbage collectors are generational, operating under the assumption that “most objects die young.” Such collectors allocate all objects in a frequently collected nursery and tenure only surviving objects to a less-frequently collected, older generation. But these survivors induce copying costs upon tenuring. To avoid these costs, pretenuring schemes construct classifiers to predict whether an object will be long-lived or short-lived; accordingly, it is tenured or not immediately upon allocation. Up to now, however, these predictions did not account for one important fact: the proximity of the next collection. In contrast, headroom-based pretenuring does take this into account; thus, it can dynamically pretenure objects whenever they live “long enough.”

We devised two ways to estimate an object's lifetime from garbage collection traces. This led to two headroom-based pretenuring schemes, which we implemented on top of Jikes RVM and MMTk. Our experiments show that the dynamic, headroom-based pretenuring schemes outperform static schemes in terms of collector performance, albeit at the cost of increased mutator overhead.

Buchtitel: Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java - PPPJ '10
Freie Schlagworte: Generational garbage collection, dynamic pretenuring, lifetime estimation, headroom
Fachbereich(e)/-gebiet(e): Fachbereich Informatik
Fachbereich Informatik > Softwaretechnik
Zentrale Einrichtungen > CASED
Zentrale Einrichtungen
Veranstaltungstitel: 8th International Conference on the Principles and Practice of Programming in Java - PPPJ '10
Veranstaltungsort: Vienna, Austria
Veranstaltungsdatum: 15-17 Sep 2010
Hinterlegungsdatum: 28 Sep 2010 16:54
Offizielle URL: http://dx.doi.org/10.1145/1852761.1852767
ID-Nummer: 10.1145/1852761.1852767
Verwandte URLs:
Schlagworte in weiteren Sprachen:
Einzelne SchlagworteSprache
Measurement, PerformanceEnglisch
Export:

Optionen (nur für Redakteure)

Eintrag anzeigen Eintrag anzeigen