Taking off the gloves with reference counting Immix

Rifat Shahriyar, Stephen M. Blackburn, Xi Yang, Kathryn S. McKinley

    Research output: Contribution to journalArticlepeer-review

    11 Citations (Scopus)

    Abstract

    Despite some clear advantages and recent advances, reference counting remains a poor cousin to high-performance tracing garbage collectors. The advantages of reference counting include a) immediacy of reclamation, b) incrementality, and c) local scope of its operations. After decades of languishing with hopelessly bad performance, recent work narrowed the gap between reference counting and the fastest tracing collectors to within 10%. Though a major advance, this gap remains a substantial barrier to adoption in performance-conscious application domains. Our work identifies heap organization as the principal source of the remaining performance gap. We present the design, implementation, and analysis of a new collector, RC Immix, that replaces reference counting's traditional free-list heap organization with the line and block heap structure introduced by the Immix collector. The key innovations of RC Immix are 1) to combine traditional reference counts with per-line live object counts to identify reusable memory and 2) to eliminate fragmentation by integrating copying with reference counting of new objects and with backup tracing cycle collection. In RC Immix, reference counting offers efficient collection and the line and block heap organization delivers excellent mutator locality and efficient allocation. With these advances, RC Immix closes the 10% performance gap, outperforming a highly tuned production generational collector. By removing the performance barrier, this work transforms reference counting into a serious alternative for meeting high performance objectives for garbage collected languages.

    Original languageEnglish
    Pages (from-to)93-110
    Number of pages18
    JournalACM SIGPLAN Notices
    Volume48
    Issue number10
    DOIs
    Publication statusPublished - Oct 2013

    Fingerprint

    Dive into the research topics of 'Taking off the gloves with reference counting Immix'. Together they form a unique fingerprint.

    Cite this