Ulterior reference counting: Fast garbage collection without a long wait

Stephen M. Blackburn*, Kathryn S. McKinley

*Corresponding author for this work

    Research output: Contribution to journalConference articlepeer-review

    59 Citations (Scopus)

    Abstract

    General purpose garbage collectors have yet to combine short pause times with high throughput. For example, generational collectors can achieve high throughput. They have modest average pause times, but occasionally collect the whole heap and consequently incur long pauses. At the other extreme, concurrent collectors, including reference counting, attain short pause times but with significant performance penalties. This paper introduces a new hybrid collector that combines copying generational collection for the young objects and reference counting the old objects to achieve both goals. It restricts copying and reference counting to the object demographics for which they perform well. Key to our algorithm is a generalization of deferred reference counting we call Ulterior Reference Counting. Ulterior reference counting safely ignores mutations to select heap objects. We compare a generational reference counting hybrid with pure reference counting, pure mark-sweep, and hybrid generational mark-sweep collectors. This new collector combines excellent throughput, matching a high performance generational mark-sweep hybrid, with low maximum pause times.

    Original languageEnglish
    Pages (from-to)344-358
    Number of pages15
    JournalACM SIGPLAN Notices
    Volume38
    Issue number11
    DOIs
    Publication statusPublished - Nov 2003
    EventProceedings of the 2003 ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications - Anaheim, CA, United States
    Duration: 26 Oct 200330 Oct 2003

    Fingerprint

    Dive into the research topics of 'Ulterior reference counting: Fast garbage collection without a long wait'. Together they form a unique fingerprint.

    Cite this