ABSTRACT Age-Based Garbage Collection*
Modem generational garbage collectors look for garbage among the young objects, because they have high mortality; however, these ob-jects include the very youngest objects, which clearly are still live. We introduce new garbage collection algorithms, called age-bused, some of which postpone consider...
| Main Authors: | , , , |
|---|---|
| Other Authors: | |
| Format: | Text |
| Language: | English |
| Subjects: | |
| Online Access: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.75.4612 http://www.cs.purdue.edu/homes/hosking/690M/p370-stefanovic.pdf |
| Summary: | Modem generational garbage collectors look for garbage among the young objects, because they have high mortality; however, these ob-jects include the very youngest objects, which clearly are still live. We introduce new garbage collection algorithms, called age-bused, some of which postpone consideration of the youngest objects. Collecting less than the whole heap requires write barrier mechanisms to track pointers into the collected region. We describe here a new, efficient write barrier implementation that works for age-based and traditional generational collectors. To compare several collectors, their configu-rations, and program behavior, we use an accurate simulator that mod-els all heap objects and the pointers among them, but does not model cache or other memory effects. For object-oriented languages, our results demonstrate that an older-first collector, which collects older objects before the youngest ones, copies on average much less data than generational collectors. Our results also show that an older-first collector does track more pointers, but the combined cost of copy-ing and pointer tracking still favors an older-first over a generational collector in many cases. More importantly, we reopen for considera-tion the question where in the heap and with which policies copying collectors will achieve their best performance. |
|---|