Age-based garbage collection

Modern generational garbage collectors look for garbage among the young objects, because they have high mortality; however, these objects include the very youngest objects, which clearly are still live. We introduce new garbage collection algorithms, called age-based , some of which postpone conside...

Full description

Bibliographic Details
Published in:ACM SIGPLAN Notices
Main Authors: Stefanović, Darko, McKinley, Kathryn S., Moss, J. Eliot B.
Format: Article in Journal/Newspaper
Language:English
Published: Association for Computing Machinery (ACM) 1999
Subjects:
Online Access:http://dx.doi.org/10.1145/320385.320425
https://dl.acm.org/doi/pdf/10.1145/320385.320425
id cracm:10.1145/320385.320425
record_format openpolar
spelling cracm:10.1145/320385.320425 2024-05-12T08:11:58+00:00 Age-based garbage collection Stefanović, Darko McKinley, Kathryn S. Moss, J. Eliot B. 1999 http://dx.doi.org/10.1145/320385.320425 https://dl.acm.org/doi/pdf/10.1145/320385.320425 en eng Association for Computing Machinery (ACM) ACM SIGPLAN Notices volume 34, issue 10, page 370-381 ISSN 0362-1340 1558-1160 journal-article 1999 cracm https://doi.org/10.1145/320385.320425 2024-05-01T06:44:54Z Modern generational garbage collectors look for garbage among the young objects, because they have high mortality; however, these objects include the very youngest objects, which clearly are still live. We introduce new garbage collection algorithms, called age-based , 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 configurations, and program behavior, we use an accurate simulator that models 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 copying and pointer tracking still favors an older-first over a generational collector in many cases. More importantly, we reopen for consideration the question where in the heap and with which policies copying collectors will achieve their best performance. Article in Journal/Newspaper The Pointers ACM Publications (Association for Computing Machinery) ACM SIGPLAN Notices 34 10 370 381
institution Open Polar
collection ACM Publications (Association for Computing Machinery)
op_collection_id cracm
language English
description Modern generational garbage collectors look for garbage among the young objects, because they have high mortality; however, these objects include the very youngest objects, which clearly are still live. We introduce new garbage collection algorithms, called age-based , 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 configurations, and program behavior, we use an accurate simulator that models 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 copying and pointer tracking still favors an older-first over a generational collector in many cases. More importantly, we reopen for consideration the question where in the heap and with which policies copying collectors will achieve their best performance.
format Article in Journal/Newspaper
author Stefanović, Darko
McKinley, Kathryn S.
Moss, J. Eliot B.
spellingShingle Stefanović, Darko
McKinley, Kathryn S.
Moss, J. Eliot B.
Age-based garbage collection
author_facet Stefanović, Darko
McKinley, Kathryn S.
Moss, J. Eliot B.
author_sort Stefanović, Darko
title Age-based garbage collection
title_short Age-based garbage collection
title_full Age-based garbage collection
title_fullStr Age-based garbage collection
title_full_unstemmed Age-based garbage collection
title_sort age-based garbage collection
publisher Association for Computing Machinery (ACM)
publishDate 1999
url http://dx.doi.org/10.1145/320385.320425
https://dl.acm.org/doi/pdf/10.1145/320385.320425
genre The Pointers
genre_facet The Pointers
op_source ACM SIGPLAN Notices
volume 34, issue 10, page 370-381
ISSN 0362-1340 1558-1160
op_doi https://doi.org/10.1145/320385.320425
container_title ACM SIGPLAN Notices
container_volume 34
container_issue 10
container_start_page 370
op_container_end_page 381
_version_ 1798834219547361280