Immix: A mark-region c-garbage collector with space efficiency, fast collection, and mutator performance

Stephen M. Blackburn, Kathryn S. McKinley

    Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

    93 Citations (Scopus)

    Abstract

    Programmers are increasingly choosing managed languages for modern applications, which tend to allocate many short-to-medium lived small objects. The garbage collector therefore directly determines program performance by making a classic space-time tradeoff that seeks to provide space efficiency, fast reclamation, and mutator performance. The three canonical tracing garbage collectors: semi-space, mark-sweep, and mark-compact each sacrifice one objective. This paper describes a collector family, called mark-region, and introduces opportunistic defragmentation, which mixes copying and marking in a single pass. Combining both, we implement immix, a novel high performance garbage collector that achieves all three performance objectives. The key insight is to allocate and reclaim memory in contiguous regions, at a coarse block grain when possible and otherwise in groups of finer grain lines. We show that immix outperforms existing canonical algorithms, improving total application performance by 7 to 25% on average across 20 benchmarks. As the mature space in a generational collector, immix matches or beats a highly tuned generational collector, e.g. it improves jbb2000 by 5%. These innovations and the identification of a new family of collectors open new opportunities for garbage collector design.

    Original languageEnglish
    Title of host publicationPLDI'08
    Subtitle of host publicationProceedings of the 2008 SIGPLAN Conference on Programming Language Design and Implementation
    Pages22-32
    Number of pages11
    DOIs
    Publication statusPublished - 2008
    Event2008 ACM SIGPLAN Conference on Programming Language Design and Implementation 2008, PLDI'08 - Tucson, AZ, United States
    Duration: 7 Jun 200713 Jun 2007

    Publication series

    NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

    Conference

    Conference2008 ACM SIGPLAN Conference on Programming Language Design and Implementation 2008, PLDI'08
    Country/TerritoryUnited States
    CityTucson, AZ
    Period7/06/0713/06/07

    Fingerprint

    Dive into the research topics of 'Immix: A mark-region c-garbage collector with space efficiency, fast collection, and mutator performance'. Together they form a unique fingerprint.

    Cite this